This repository was archived by the owner on Sep 11, 2026. It is now read-only.
Repository navigation
feat(plugins): фаза 4a lang-плагінів — doc-files extension-point, Rust-екстрактори в плагіні - #134
Merged
Merged
Conversation
…t-екстрактори в плагіні Другий порт spec lang-plugins-extraction: мовна специфіка doc-files виїхала з ядра. Розширення (.rs → 'Rust Module', .py → 'Python Module') декларуються в МАНІФЕСТІ плагіна (contributes.docFiles.extensions) — hot-path hook читає їх синхронно без динамічного import (lang-extensions.mjs, кеш на процес); екстрактори фактів/юнітів — handler-модулем (handlers['doc-files'], вантажиться лише на шляху генерації). extractFactsRust + units-rs переїхали в plugins/lang-rust/doc-files (git mv); ядро документує js/mjs/ts/vue вбудовано, .rs/.py — за активним lang-плагіном (isSourceFile(file, root)). Live: extensions/extractors резолвляться з маніфестів обох плагінів, extractFactsRust працює через extension-point. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Що зроблено
Фаза 4a спеки lang-plugins-extraction — другий порт після taze: мовна специфіка doc-files виїхала з ядра.
n-rules.contributes.docFiles.extensions:.rs→Rust Moduleу lang-rust,.py→Python Moduleу lang-python). Ключове дизайн-рішення: hot-path (doc-files/checkу PostToolUse-hook на кожен файл) читає їх синхронно без динамічного import — новий lang-extensions.mjs з кешем на процес.contributes.handlers['doc-files']), вантажаться лише на асинхронному шляху генерації:extractFactsRust(header/exports з exposure-атрибутами/imports/markers) +extractUnitsRsпереїхали вplugins/lang-rust/doc-files/(git mv). Python спеціалізованих екстракторів не мав — лише декларація розширення.SOURCE_EXTENSIONS= js/mjs/ts/vue;isSourceFile(file, root)консультується з плагінними деклараціями; тип-мітки в docgen-crc — так само;generateDocбере плагіннийextractFactsз пріоритетом; units-фасад лишився js-only (продакшн-споживачів не мав — comment-hybrid у планах)..rs/.pyтихо не документуються без lang-плагіна — той самий принцип, що й у taze/lint-правилах (у Rust/Python-репо плагін автодетектиться).Верифікація
pluginDocFilesExtensions→{'.rs','.py'}з маніфестів,loadDocFilesExtractors→ rust-екстрактор працює,isSourceFile('lib.rs', root)= true (без root — false, hot-path fallback).npx @7n/rules lint --base origin/main— чистий; повнийlint doc-filesпрогін згенерував доки нових/змінених модулів (галюцинації локальної генерації вичищені вручну).Далі
Фаза 4b — SKILL-фрагменти (мовні секції taze SKILL.md композицією з плагінів) — окремим PR: інша механіка (sync-час, не runtime).
🤖 Generated with Claude Code