@libar-dev/architect 1.0.0-pre.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +50 -0
- package/LICENSE +25 -0
- package/LICENSE-MCP +62 -0
- package/README.md +147 -0
- package/dist/api/arch-queries.d.ts +95 -0
- package/dist/api/arch-queries.d.ts.map +1 -0
- package/dist/api/arch-queries.js +310 -0
- package/dist/api/arch-queries.js.map +1 -0
- package/dist/api/context-assembler.d.ts +124 -0
- package/dist/api/context-assembler.d.ts.map +1 -0
- package/dist/api/context-assembler.js +472 -0
- package/dist/api/context-assembler.js.map +1 -0
- package/dist/api/context-formatter.d.ts +26 -0
- package/dist/api/context-formatter.d.ts.map +1 -0
- package/dist/api/context-formatter.js +183 -0
- package/dist/api/context-formatter.js.map +1 -0
- package/dist/api/coverage-analyzer.d.ts +38 -0
- package/dist/api/coverage-analyzer.d.ts.map +1 -0
- package/dist/api/coverage-analyzer.js +117 -0
- package/dist/api/coverage-analyzer.js.map +1 -0
- package/dist/api/fuzzy-match.d.ts +75 -0
- package/dist/api/fuzzy-match.d.ts.map +1 -0
- package/dist/api/fuzzy-match.js +150 -0
- package/dist/api/fuzzy-match.js.map +1 -0
- package/dist/api/handoff-generator.d.ts +45 -0
- package/dist/api/handoff-generator.d.ts.map +1 -0
- package/dist/api/handoff-generator.js +139 -0
- package/dist/api/handoff-generator.js.map +1 -0
- package/dist/api/index.d.ts +61 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +54 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/pattern-helpers.d.ts +51 -0
- package/dist/api/pattern-helpers.d.ts.map +1 -0
- package/dist/api/pattern-helpers.js +84 -0
- package/dist/api/pattern-helpers.js.map +1 -0
- package/dist/api/process-state.d.ts +224 -0
- package/dist/api/process-state.d.ts.map +1 -0
- package/dist/api/process-state.js +308 -0
- package/dist/api/process-state.js.map +1 -0
- package/dist/api/rules-query.d.ts +60 -0
- package/dist/api/rules-query.d.ts.map +1 -0
- package/dist/api/rules-query.js +154 -0
- package/dist/api/rules-query.js.map +1 -0
- package/dist/api/scope-validator.d.ts +56 -0
- package/dist/api/scope-validator.d.ts.map +1 -0
- package/dist/api/scope-validator.js +293 -0
- package/dist/api/scope-validator.js.map +1 -0
- package/dist/api/stub-resolver.d.ts +117 -0
- package/dist/api/stub-resolver.d.ts.map +1 -0
- package/dist/api/stub-resolver.js +154 -0
- package/dist/api/stub-resolver.js.map +1 -0
- package/dist/api/summarize.d.ts +75 -0
- package/dist/api/summarize.d.ts.map +1 -0
- package/dist/api/summarize.js +97 -0
- package/dist/api/summarize.js.map +1 -0
- package/dist/api/types.d.ts +221 -0
- package/dist/api/types.d.ts.map +1 -0
- package/dist/api/types.js +57 -0
- package/dist/api/types.js.map +1 -0
- package/dist/cache/file-cache.d.ts +72 -0
- package/dist/cache/file-cache.d.ts.map +1 -0
- package/dist/cache/file-cache.js +80 -0
- package/dist/cache/file-cache.js.map +1 -0
- package/dist/cache/index.d.ts +5 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/index.js +5 -0
- package/dist/cache/index.js.map +1 -0
- package/dist/cli/cli-schema.d.ts +83 -0
- package/dist/cli/cli-schema.d.ts.map +1 -0
- package/dist/cli/cli-schema.js +505 -0
- package/dist/cli/cli-schema.js.map +1 -0
- package/dist/cli/dataset-cache.d.ts +66 -0
- package/dist/cli/dataset-cache.d.ts.map +1 -0
- package/dist/cli/dataset-cache.js +179 -0
- package/dist/cli/dataset-cache.js.map +1 -0
- package/dist/cli/error-handler.d.ts +84 -0
- package/dist/cli/error-handler.d.ts.map +1 -0
- package/dist/cli/error-handler.js +197 -0
- package/dist/cli/error-handler.js.map +1 -0
- package/dist/cli/generate-docs.d.ts +30 -0
- package/dist/cli/generate-docs.d.ts.map +1 -0
- package/dist/cli/generate-docs.js +370 -0
- package/dist/cli/generate-docs.js.map +1 -0
- package/dist/cli/lint-patterns.d.ts +57 -0
- package/dist/cli/lint-patterns.d.ts.map +1 -0
- package/dist/cli/lint-patterns.js +257 -0
- package/dist/cli/lint-patterns.js.map +1 -0
- package/dist/cli/lint-process.d.ts +54 -0
- package/dist/cli/lint-process.d.ts.map +1 -0
- package/dist/cli/lint-process.js +319 -0
- package/dist/cli/lint-process.js.map +1 -0
- package/dist/cli/lint-steps.d.ts +32 -0
- package/dist/cli/lint-steps.d.ts.map +1 -0
- package/dist/cli/lint-steps.js +172 -0
- package/dist/cli/lint-steps.js.map +1 -0
- package/dist/cli/mcp-server.d.ts +22 -0
- package/dist/cli/mcp-server.d.ts.map +1 -0
- package/dist/cli/mcp-server.js +57 -0
- package/dist/cli/mcp-server.js.map +1 -0
- package/dist/cli/output-pipeline.d.ts +130 -0
- package/dist/cli/output-pipeline.d.ts.map +1 -0
- package/dist/cli/output-pipeline.js +234 -0
- package/dist/cli/output-pipeline.js.map +1 -0
- package/dist/cli/process-api.d.ts +37 -0
- package/dist/cli/process-api.d.ts.map +1 -0
- package/dist/cli/process-api.js +1550 -0
- package/dist/cli/process-api.js.map +1 -0
- package/dist/cli/repl.d.ts +38 -0
- package/dist/cli/repl.d.ts.map +1 -0
- package/dist/cli/repl.js +239 -0
- package/dist/cli/repl.js.map +1 -0
- package/dist/cli/validate-patterns.d.ts +115 -0
- package/dist/cli/validate-patterns.d.ts.map +1 -0
- package/dist/cli/validate-patterns.js +707 -0
- package/dist/cli/validate-patterns.js.map +1 -0
- package/dist/cli/version.d.ts +35 -0
- package/dist/cli/version.d.ts.map +1 -0
- package/dist/cli/version.js +64 -0
- package/dist/cli/version.js.map +1 -0
- package/dist/config/config-loader.d.ts +167 -0
- package/dist/config/config-loader.d.ts.map +1 -0
- package/dist/config/config-loader.js +294 -0
- package/dist/config/config-loader.js.map +1 -0
- package/dist/config/defaults.d.ts +92 -0
- package/dist/config/defaults.d.ts.map +1 -0
- package/dist/config/defaults.js +103 -0
- package/dist/config/defaults.js.map +1 -0
- package/dist/config/define-config.d.ts +37 -0
- package/dist/config/define-config.d.ts.map +1 -0
- package/dist/config/define-config.js +38 -0
- package/dist/config/define-config.js.map +1 -0
- package/dist/config/factory.d.ts +79 -0
- package/dist/config/factory.d.ts.map +1 -0
- package/dist/config/factory.js +116 -0
- package/dist/config/factory.js.map +1 -0
- package/dist/config/index.d.ts +45 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +48 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/merge-sources.d.ts +47 -0
- package/dist/config/merge-sources.d.ts.map +1 -0
- package/dist/config/merge-sources.js +61 -0
- package/dist/config/merge-sources.js.map +1 -0
- package/dist/config/presets.d.ts +115 -0
- package/dist/config/presets.d.ts.map +1 -0
- package/dist/config/presets.js +119 -0
- package/dist/config/presets.js.map +1 -0
- package/dist/config/project-config-schema.d.ts +192 -0
- package/dist/config/project-config-schema.d.ts.map +1 -0
- package/dist/config/project-config-schema.js +231 -0
- package/dist/config/project-config-schema.js.map +1 -0
- package/dist/config/project-config.d.ts +229 -0
- package/dist/config/project-config.d.ts.map +1 -0
- package/dist/config/project-config.js +37 -0
- package/dist/config/project-config.js.map +1 -0
- package/dist/config/regex-builders.d.ts +49 -0
- package/dist/config/regex-builders.d.ts.map +1 -0
- package/dist/config/regex-builders.js +85 -0
- package/dist/config/regex-builders.js.map +1 -0
- package/dist/config/resolve-config.d.ts +65 -0
- package/dist/config/resolve-config.d.ts.map +1 -0
- package/dist/config/resolve-config.js +150 -0
- package/dist/config/resolve-config.js.map +1 -0
- package/dist/config/types.d.ts +81 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +22 -0
- package/dist/config/types.js.map +1 -0
- package/dist/config/workflow-loader.d.ts +90 -0
- package/dist/config/workflow-loader.d.ts.map +1 -0
- package/dist/config/workflow-loader.js +167 -0
- package/dist/config/workflow-loader.js.map +1 -0
- package/dist/extractor/doc-extractor.d.ts +233 -0
- package/dist/extractor/doc-extractor.d.ts.map +1 -0
- package/dist/extractor/doc-extractor.js +481 -0
- package/dist/extractor/doc-extractor.js.map +1 -0
- package/dist/extractor/dual-source-extractor.d.ts +161 -0
- package/dist/extractor/dual-source-extractor.d.ts.map +1 -0
- package/dist/extractor/dual-source-extractor.js +407 -0
- package/dist/extractor/dual-source-extractor.js.map +1 -0
- package/dist/extractor/gherkin-extractor.d.ts +170 -0
- package/dist/extractor/gherkin-extractor.d.ts.map +1 -0
- package/dist/extractor/gherkin-extractor.js +543 -0
- package/dist/extractor/gherkin-extractor.js.map +1 -0
- package/dist/extractor/index.d.ts +7 -0
- package/dist/extractor/index.d.ts.map +1 -0
- package/dist/extractor/index.js +11 -0
- package/dist/extractor/index.js.map +1 -0
- package/dist/extractor/layer-inference.d.ts +66 -0
- package/dist/extractor/layer-inference.d.ts.map +1 -0
- package/dist/extractor/layer-inference.js +93 -0
- package/dist/extractor/layer-inference.js.map +1 -0
- package/dist/extractor/shape-extractor.d.ts +79 -0
- package/dist/extractor/shape-extractor.d.ts.map +1 -0
- package/dist/extractor/shape-extractor.js +966 -0
- package/dist/extractor/shape-extractor.js.map +1 -0
- package/dist/generators/built-in/cli-recipe-generator.d.ts +30 -0
- package/dist/generators/built-in/cli-recipe-generator.d.ts.map +1 -0
- package/dist/generators/built-in/cli-recipe-generator.js +155 -0
- package/dist/generators/built-in/cli-recipe-generator.js.map +1 -0
- package/dist/generators/built-in/codec-generators.d.ts +29 -0
- package/dist/generators/built-in/codec-generators.d.ts.map +1 -0
- package/dist/generators/built-in/codec-generators.js +195 -0
- package/dist/generators/built-in/codec-generators.js.map +1 -0
- package/dist/generators/built-in/decision-doc-generator.d.ts +204 -0
- package/dist/generators/built-in/decision-doc-generator.d.ts.map +1 -0
- package/dist/generators/built-in/decision-doc-generator.js +654 -0
- package/dist/generators/built-in/decision-doc-generator.js.map +1 -0
- package/dist/generators/built-in/design-review-generator.d.ts +26 -0
- package/dist/generators/built-in/design-review-generator.d.ts.map +1 -0
- package/dist/generators/built-in/design-review-generator.js +94 -0
- package/dist/generators/built-in/design-review-generator.js.map +1 -0
- package/dist/generators/built-in/index.d.ts +22 -0
- package/dist/generators/built-in/index.d.ts.map +1 -0
- package/dist/generators/built-in/index.js +23 -0
- package/dist/generators/built-in/index.js.map +1 -0
- package/dist/generators/built-in/process-api-reference-generator.d.ts +18 -0
- package/dist/generators/built-in/process-api-reference-generator.d.ts.map +1 -0
- package/dist/generators/built-in/process-api-reference-generator.js +85 -0
- package/dist/generators/built-in/process-api-reference-generator.js.map +1 -0
- package/dist/generators/built-in/reference-generators.d.ts +51 -0
- package/dist/generators/built-in/reference-generators.d.ts.map +1 -0
- package/dist/generators/built-in/reference-generators.js +320 -0
- package/dist/generators/built-in/reference-generators.js.map +1 -0
- package/dist/generators/codec-based.d.ts +63 -0
- package/dist/generators/codec-based.d.ts.map +1 -0
- package/dist/generators/codec-based.js +88 -0
- package/dist/generators/codec-based.js.map +1 -0
- package/dist/generators/content-deduplicator.d.ts +114 -0
- package/dist/generators/content-deduplicator.d.ts.map +1 -0
- package/dist/generators/content-deduplicator.js +356 -0
- package/dist/generators/content-deduplicator.js.map +1 -0
- package/dist/generators/index.d.ts +50 -0
- package/dist/generators/index.d.ts.map +1 -0
- package/dist/generators/index.js +54 -0
- package/dist/generators/index.js.map +1 -0
- package/dist/generators/orchestrator.d.ts +265 -0
- package/dist/generators/orchestrator.d.ts.map +1 -0
- package/dist/generators/orchestrator.js +570 -0
- package/dist/generators/orchestrator.js.map +1 -0
- package/dist/generators/pipeline/build-pipeline.d.ts +131 -0
- package/dist/generators/pipeline/build-pipeline.d.ts.map +1 -0
- package/dist/generators/pipeline/build-pipeline.js +248 -0
- package/dist/generators/pipeline/build-pipeline.js.map +1 -0
- package/dist/generators/pipeline/context-inference.d.ts +55 -0
- package/dist/generators/pipeline/context-inference.d.ts.map +1 -0
- package/dist/generators/pipeline/context-inference.js +76 -0
- package/dist/generators/pipeline/context-inference.js.map +1 -0
- package/dist/generators/pipeline/index.d.ts +27 -0
- package/dist/generators/pipeline/index.d.ts.map +1 -0
- package/dist/generators/pipeline/index.js +34 -0
- package/dist/generators/pipeline/index.js.map +1 -0
- package/dist/generators/pipeline/merge-patterns.d.ts +33 -0
- package/dist/generators/pipeline/merge-patterns.d.ts.map +1 -0
- package/dist/generators/pipeline/merge-patterns.js +50 -0
- package/dist/generators/pipeline/merge-patterns.js.map +1 -0
- package/dist/generators/pipeline/relationship-resolver.d.ts +47 -0
- package/dist/generators/pipeline/relationship-resolver.d.ts.map +1 -0
- package/dist/generators/pipeline/relationship-resolver.js +132 -0
- package/dist/generators/pipeline/relationship-resolver.js.map +1 -0
- package/dist/generators/pipeline/sequence-utils.d.ts +49 -0
- package/dist/generators/pipeline/sequence-utils.d.ts.map +1 -0
- package/dist/generators/pipeline/sequence-utils.js +235 -0
- package/dist/generators/pipeline/sequence-utils.js.map +1 -0
- package/dist/generators/pipeline/transform-dataset.d.ts +82 -0
- package/dist/generators/pipeline/transform-dataset.d.ts.map +1 -0
- package/dist/generators/pipeline/transform-dataset.js +355 -0
- package/dist/generators/pipeline/transform-dataset.js.map +1 -0
- package/dist/generators/pipeline/transform-types.d.ts +96 -0
- package/dist/generators/pipeline/transform-types.d.ts.map +1 -0
- package/dist/generators/pipeline/transform-types.js +18 -0
- package/dist/generators/pipeline/transform-types.js.map +1 -0
- package/dist/generators/registry.d.ts +64 -0
- package/dist/generators/registry.d.ts.map +1 -0
- package/dist/generators/registry.js +77 -0
- package/dist/generators/registry.js.map +1 -0
- package/dist/generators/source-mapper.d.ts +143 -0
- package/dist/generators/source-mapper.d.ts.map +1 -0
- package/dist/generators/source-mapper.js +602 -0
- package/dist/generators/source-mapper.js.map +1 -0
- package/dist/generators/source-mapping-validator.d.ts +118 -0
- package/dist/generators/source-mapping-validator.d.ts.map +1 -0
- package/dist/generators/source-mapping-validator.js +334 -0
- package/dist/generators/source-mapping-validator.js.map +1 -0
- package/dist/generators/types.d.ts +104 -0
- package/dist/generators/types.d.ts.map +1 -0
- package/dist/generators/types.js +5 -0
- package/dist/generators/types.js.map +1 -0
- package/dist/generators/warning-collector.d.ts +144 -0
- package/dist/generators/warning-collector.d.ts.map +1 -0
- package/dist/generators/warning-collector.js +166 -0
- package/dist/generators/warning-collector.js.map +1 -0
- package/dist/git/branch-diff.d.ts +44 -0
- package/dist/git/branch-diff.d.ts.map +1 -0
- package/dist/git/branch-diff.js +57 -0
- package/dist/git/branch-diff.js.map +1 -0
- package/dist/git/helpers.d.ts +46 -0
- package/dist/git/helpers.d.ts.map +1 -0
- package/dist/git/helpers.js +67 -0
- package/dist/git/helpers.js.map +1 -0
- package/dist/git/index.d.ts +18 -0
- package/dist/git/index.d.ts.map +1 -0
- package/dist/git/index.js +18 -0
- package/dist/git/index.js.map +1 -0
- package/dist/git/name-status.d.ts +32 -0
- package/dist/git/name-status.d.ts.map +1 -0
- package/dist/git/name-status.js +66 -0
- package/dist/git/name-status.js.map +1 -0
- package/dist/index.d.ts +107 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +122 -0
- package/dist/index.js.map +1 -0
- package/dist/lint/engine.d.ts +113 -0
- package/dist/lint/engine.d.ts.map +1 -0
- package/dist/lint/engine.js +228 -0
- package/dist/lint/engine.js.map +1 -0
- package/dist/lint/index.d.ts +26 -0
- package/dist/lint/index.d.ts.map +1 -0
- package/dist/lint/index.js +24 -0
- package/dist/lint/index.js.map +1 -0
- package/dist/lint/process-guard/decider.d.ts +166 -0
- package/dist/lint/process-guard/decider.d.ts.map +1 -0
- package/dist/lint/process-guard/decider.js +412 -0
- package/dist/lint/process-guard/decider.js.map +1 -0
- package/dist/lint/process-guard/derive-state.d.ts +96 -0
- package/dist/lint/process-guard/derive-state.d.ts.map +1 -0
- package/dist/lint/process-guard/derive-state.js +368 -0
- package/dist/lint/process-guard/derive-state.js.map +1 -0
- package/dist/lint/process-guard/detect-changes.d.ts +109 -0
- package/dist/lint/process-guard/detect-changes.d.ts.map +1 -0
- package/dist/lint/process-guard/detect-changes.js +487 -0
- package/dist/lint/process-guard/detect-changes.js.map +1 -0
- package/dist/lint/process-guard/index.d.ts +35 -0
- package/dist/lint/process-guard/index.d.ts.map +1 -0
- package/dist/lint/process-guard/index.js +39 -0
- package/dist/lint/process-guard/index.js.map +1 -0
- package/dist/lint/process-guard/types.d.ts +255 -0
- package/dist/lint/process-guard/types.d.ts.map +1 -0
- package/dist/lint/process-guard/types.js +31 -0
- package/dist/lint/process-guard/types.js.map +1 -0
- package/dist/lint/rules.d.ts +147 -0
- package/dist/lint/rules.d.ts.map +1 -0
- package/dist/lint/rules.js +289 -0
- package/dist/lint/rules.js.map +1 -0
- package/dist/lint/steps/cross-checks.d.ts +66 -0
- package/dist/lint/steps/cross-checks.d.ts.map +1 -0
- package/dist/lint/steps/cross-checks.js +290 -0
- package/dist/lint/steps/cross-checks.js.map +1 -0
- package/dist/lint/steps/feature-checks.d.ts +78 -0
- package/dist/lint/steps/feature-checks.d.ts.map +1 -0
- package/dist/lint/steps/feature-checks.js +279 -0
- package/dist/lint/steps/feature-checks.js.map +1 -0
- package/dist/lint/steps/index.d.ts +22 -0
- package/dist/lint/steps/index.d.ts.map +1 -0
- package/dist/lint/steps/index.js +26 -0
- package/dist/lint/steps/index.js.map +1 -0
- package/dist/lint/steps/pair-resolver.d.ts +29 -0
- package/dist/lint/steps/pair-resolver.d.ts.map +1 -0
- package/dist/lint/steps/pair-resolver.js +76 -0
- package/dist/lint/steps/pair-resolver.js.map +1 -0
- package/dist/lint/steps/runner.d.ts +28 -0
- package/dist/lint/steps/runner.d.ts.map +1 -0
- package/dist/lint/steps/runner.js +143 -0
- package/dist/lint/steps/runner.js.map +1 -0
- package/dist/lint/steps/step-checks.d.ts +41 -0
- package/dist/lint/steps/step-checks.d.ts.map +1 -0
- package/dist/lint/steps/step-checks.js +164 -0
- package/dist/lint/steps/step-checks.js.map +1 -0
- package/dist/lint/steps/types.d.ts +95 -0
- package/dist/lint/steps/types.d.ts.map +1 -0
- package/dist/lint/steps/types.js +79 -0
- package/dist/lint/steps/types.js.map +1 -0
- package/dist/lint/steps/utils.d.ts +22 -0
- package/dist/lint/steps/utils.d.ts.map +1 -0
- package/dist/lint/steps/utils.js +57 -0
- package/dist/lint/steps/utils.js.map +1 -0
- package/dist/mcp/file-watcher.d.ts +24 -0
- package/dist/mcp/file-watcher.d.ts.map +1 -0
- package/dist/mcp/file-watcher.js +75 -0
- package/dist/mcp/file-watcher.js.map +1 -0
- package/dist/mcp/index.d.ts +19 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +21 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/pipeline-session.d.ts +33 -0
- package/dist/mcp/pipeline-session.d.ts.map +1 -0
- package/dist/mcp/pipeline-session.js +149 -0
- package/dist/mcp/pipeline-session.js.map +1 -0
- package/dist/mcp/server.d.ts +28 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +197 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/tool-registry.d.ts +4 -0
- package/dist/mcp/tool-registry.d.ts.map +1 -0
- package/dist/mcp/tool-registry.js +525 -0
- package/dist/mcp/tool-registry.js.map +1 -0
- package/dist/renderable/codecs/adr.d.ts +4730 -0
- package/dist/renderable/codecs/adr.d.ts.map +1 -0
- package/dist/renderable/codecs/adr.js +590 -0
- package/dist/renderable/codecs/adr.js.map +1 -0
- package/dist/renderable/codecs/architecture.d.ts +4760 -0
- package/dist/renderable/codecs/architecture.d.ts.map +1 -0
- package/dist/renderable/codecs/architecture.js +524 -0
- package/dist/renderable/codecs/architecture.js.map +1 -0
- package/dist/renderable/codecs/business-rules.d.ts +4777 -0
- package/dist/renderable/codecs/business-rules.d.ts.map +1 -0
- package/dist/renderable/codecs/business-rules.js +648 -0
- package/dist/renderable/codecs/business-rules.js.map +1 -0
- package/dist/renderable/codecs/claude-module.d.ts +4710 -0
- package/dist/renderable/codecs/claude-module.d.ts.map +1 -0
- package/dist/renderable/codecs/claude-module.js +214 -0
- package/dist/renderable/codecs/claude-module.js.map +1 -0
- package/dist/renderable/codecs/composite.d.ts +84 -0
- package/dist/renderable/codecs/composite.d.ts.map +1 -0
- package/dist/renderable/codecs/composite.js +124 -0
- package/dist/renderable/codecs/composite.js.map +1 -0
- package/dist/renderable/codecs/convention-extractor.d.ts +105 -0
- package/dist/renderable/codecs/convention-extractor.d.ts.map +1 -0
- package/dist/renderable/codecs/convention-extractor.js +353 -0
- package/dist/renderable/codecs/convention-extractor.js.map +1 -0
- package/dist/renderable/codecs/decision-doc.d.ts +308 -0
- package/dist/renderable/codecs/decision-doc.d.ts.map +1 -0
- package/dist/renderable/codecs/decision-doc.js +485 -0
- package/dist/renderable/codecs/decision-doc.js.map +1 -0
- package/dist/renderable/codecs/design-review.d.ts +55 -0
- package/dist/renderable/codecs/design-review.d.ts.map +1 -0
- package/dist/renderable/codecs/design-review.js +532 -0
- package/dist/renderable/codecs/design-review.js.map +1 -0
- package/dist/renderable/codecs/diagram-utils.d.ts +62 -0
- package/dist/renderable/codecs/diagram-utils.d.ts.map +1 -0
- package/dist/renderable/codecs/diagram-utils.js +70 -0
- package/dist/renderable/codecs/diagram-utils.js.map +1 -0
- package/dist/renderable/codecs/helpers.d.ts +553 -0
- package/dist/renderable/codecs/helpers.d.ts.map +1 -0
- package/dist/renderable/codecs/helpers.js +913 -0
- package/dist/renderable/codecs/helpers.js.map +1 -0
- package/dist/renderable/codecs/index-codec.d.ts +4714 -0
- package/dist/renderable/codecs/index-codec.d.ts.map +1 -0
- package/dist/renderable/codecs/index-codec.js +250 -0
- package/dist/renderable/codecs/index-codec.js.map +1 -0
- package/dist/renderable/codecs/index.d.ts +46 -0
- package/dist/renderable/codecs/index.d.ts.map +1 -0
- package/dist/renderable/codecs/index.js +70 -0
- package/dist/renderable/codecs/index.js.map +1 -0
- package/dist/renderable/codecs/patterns.d.ts +4757 -0
- package/dist/renderable/codecs/patterns.d.ts.map +1 -0
- package/dist/renderable/codecs/patterns.js +462 -0
- package/dist/renderable/codecs/patterns.js.map +1 -0
- package/dist/renderable/codecs/planning.d.ts +14055 -0
- package/dist/renderable/codecs/planning.d.ts.map +1 -0
- package/dist/renderable/codecs/planning.js +449 -0
- package/dist/renderable/codecs/planning.js.map +1 -0
- package/dist/renderable/codecs/pr-changes.d.ts +4742 -0
- package/dist/renderable/codecs/pr-changes.d.ts.map +1 -0
- package/dist/renderable/codecs/pr-changes.js +425 -0
- package/dist/renderable/codecs/pr-changes.js.map +1 -0
- package/dist/renderable/codecs/reference.d.ts +215 -0
- package/dist/renderable/codecs/reference.d.ts.map +1 -0
- package/dist/renderable/codecs/reference.js +1578 -0
- package/dist/renderable/codecs/reference.js.map +1 -0
- package/dist/renderable/codecs/reporting.d.ts +14026 -0
- package/dist/renderable/codecs/reporting.d.ts.map +1 -0
- package/dist/renderable/codecs/reporting.js +365 -0
- package/dist/renderable/codecs/reporting.js.map +1 -0
- package/dist/renderable/codecs/requirements.d.ts +4743 -0
- package/dist/renderable/codecs/requirements.d.ts.map +1 -0
- package/dist/renderable/codecs/requirements.js +428 -0
- package/dist/renderable/codecs/requirements.js.map +1 -0
- package/dist/renderable/codecs/session.d.ts +9410 -0
- package/dist/renderable/codecs/session.d.ts.map +1 -0
- package/dist/renderable/codecs/session.js +848 -0
- package/dist/renderable/codecs/session.js.map +1 -0
- package/dist/renderable/codecs/shape-matcher.d.ts +54 -0
- package/dist/renderable/codecs/shape-matcher.d.ts.map +1 -0
- package/dist/renderable/codecs/shape-matcher.js +106 -0
- package/dist/renderable/codecs/shape-matcher.js.map +1 -0
- package/dist/renderable/codecs/shared-schema.d.ts +44 -0
- package/dist/renderable/codecs/shared-schema.d.ts.map +1 -0
- package/dist/renderable/codecs/shared-schema.js +43 -0
- package/dist/renderable/codecs/shared-schema.js.map +1 -0
- package/dist/renderable/codecs/taxonomy.d.ts +4733 -0
- package/dist/renderable/codecs/taxonomy.d.ts.map +1 -0
- package/dist/renderable/codecs/taxonomy.js +570 -0
- package/dist/renderable/codecs/taxonomy.js.map +1 -0
- package/dist/renderable/codecs/timeline.d.ts +14094 -0
- package/dist/renderable/codecs/timeline.d.ts.map +1 -0
- package/dist/renderable/codecs/timeline.js +906 -0
- package/dist/renderable/codecs/timeline.js.map +1 -0
- package/dist/renderable/codecs/types/base.d.ts +81 -0
- package/dist/renderable/codecs/types/base.d.ts.map +1 -0
- package/dist/renderable/codecs/types/base.js +56 -0
- package/dist/renderable/codecs/types/base.js.map +1 -0
- package/dist/renderable/codecs/types/index.d.ts +5 -0
- package/dist/renderable/codecs/types/index.d.ts.map +1 -0
- package/dist/renderable/codecs/types/index.js +5 -0
- package/dist/renderable/codecs/types/index.js.map +1 -0
- package/dist/renderable/codecs/validation-rules.d.ts +4773 -0
- package/dist/renderable/codecs/validation-rules.d.ts.map +1 -0
- package/dist/renderable/codecs/validation-rules.js +537 -0
- package/dist/renderable/codecs/validation-rules.js.map +1 -0
- package/dist/renderable/generate.d.ts +338 -0
- package/dist/renderable/generate.d.ts.map +1 -0
- package/dist/renderable/generate.js +437 -0
- package/dist/renderable/generate.js.map +1 -0
- package/dist/renderable/index.d.ts +36 -0
- package/dist/renderable/index.d.ts.map +1 -0
- package/dist/renderable/index.js +58 -0
- package/dist/renderable/index.js.map +1 -0
- package/dist/renderable/load-preamble.d.ts +56 -0
- package/dist/renderable/load-preamble.d.ts.map +1 -0
- package/dist/renderable/load-preamble.js +298 -0
- package/dist/renderable/load-preamble.js.map +1 -0
- package/dist/renderable/render.d.ts +61 -0
- package/dist/renderable/render.d.ts.map +1 -0
- package/dist/renderable/render.js +346 -0
- package/dist/renderable/render.js.map +1 -0
- package/dist/renderable/schema.d.ts +194 -0
- package/dist/renderable/schema.d.ts.map +1 -0
- package/dist/renderable/schema.js +197 -0
- package/dist/renderable/schema.js.map +1 -0
- package/dist/renderable/utils.d.ts +146 -0
- package/dist/renderable/utils.d.ts.map +1 -0
- package/dist/renderable/utils.js +362 -0
- package/dist/renderable/utils.js.map +1 -0
- package/dist/scanner/ast-parser.d.ts +75 -0
- package/dist/scanner/ast-parser.d.ts.map +1 -0
- package/dist/scanner/ast-parser.js +835 -0
- package/dist/scanner/ast-parser.js.map +1 -0
- package/dist/scanner/gherkin-ast-parser.d.ts +166 -0
- package/dist/scanner/gherkin-ast-parser.d.ts.map +1 -0
- package/dist/scanner/gherkin-ast-parser.js +507 -0
- package/dist/scanner/gherkin-ast-parser.js.map +1 -0
- package/dist/scanner/gherkin-scanner.d.ts +106 -0
- package/dist/scanner/gherkin-scanner.d.ts.map +1 -0
- package/dist/scanner/gherkin-scanner.js +149 -0
- package/dist/scanner/gherkin-scanner.js.map +1 -0
- package/dist/scanner/index.d.ts +85 -0
- package/dist/scanner/index.d.ts.map +1 -0
- package/dist/scanner/index.js +102 -0
- package/dist/scanner/index.js.map +1 -0
- package/dist/scanner/pattern-scanner.d.ts +83 -0
- package/dist/scanner/pattern-scanner.d.ts.map +1 -0
- package/dist/scanner/pattern-scanner.js +110 -0
- package/dist/scanner/pattern-scanner.js.map +1 -0
- package/dist/taxonomy/categories.d.ts +47 -0
- package/dist/taxonomy/categories.d.ts.map +1 -0
- package/dist/taxonomy/categories.js +175 -0
- package/dist/taxonomy/categories.js.map +1 -0
- package/dist/taxonomy/claude-section-values.d.ts +12 -0
- package/dist/taxonomy/claude-section-values.d.ts.map +1 -0
- package/dist/taxonomy/claude-section-values.js +17 -0
- package/dist/taxonomy/claude-section-values.js.map +1 -0
- package/dist/taxonomy/conventions.d.ts +13 -0
- package/dist/taxonomy/conventions.d.ts.map +1 -0
- package/dist/taxonomy/conventions.js +27 -0
- package/dist/taxonomy/conventions.js.map +1 -0
- package/dist/taxonomy/deliverable-status.d.ts +99 -0
- package/dist/taxonomy/deliverable-status.d.ts.map +1 -0
- package/dist/taxonomy/deliverable-status.js +131 -0
- package/dist/taxonomy/deliverable-status.js.map +1 -0
- package/dist/taxonomy/format-types.d.ts +17 -0
- package/dist/taxonomy/format-types.d.ts.map +1 -0
- package/dist/taxonomy/format-types.js +23 -0
- package/dist/taxonomy/format-types.js.map +1 -0
- package/dist/taxonomy/generator-options.d.ts +67 -0
- package/dist/taxonomy/generator-options.d.ts.map +1 -0
- package/dist/taxonomy/generator-options.js +75 -0
- package/dist/taxonomy/generator-options.js.map +1 -0
- package/dist/taxonomy/hierarchy-levels.d.ts +23 -0
- package/dist/taxonomy/hierarchy-levels.d.ts.map +1 -0
- package/dist/taxonomy/hierarchy-levels.js +22 -0
- package/dist/taxonomy/hierarchy-levels.js.map +1 -0
- package/dist/taxonomy/index.d.ts +35 -0
- package/dist/taxonomy/index.d.ts.map +1 -0
- package/dist/taxonomy/index.js +56 -0
- package/dist/taxonomy/index.js.map +1 -0
- package/dist/taxonomy/layer-types.d.ts +22 -0
- package/dist/taxonomy/layer-types.d.ts.map +1 -0
- package/dist/taxonomy/layer-types.js +28 -0
- package/dist/taxonomy/layer-types.js.map +1 -0
- package/dist/taxonomy/normalized-status.d.ts +99 -0
- package/dist/taxonomy/normalized-status.d.ts.map +1 -0
- package/dist/taxonomy/normalized-status.js +113 -0
- package/dist/taxonomy/normalized-status.js.map +1 -0
- package/dist/taxonomy/registry-builder.d.ts +104 -0
- package/dist/taxonomy/registry-builder.d.ts.map +1 -0
- package/dist/taxonomy/registry-builder.js +561 -0
- package/dist/taxonomy/registry-builder.js.map +1 -0
- package/dist/taxonomy/risk-levels.d.ts +16 -0
- package/dist/taxonomy/risk-levels.d.ts.map +1 -0
- package/dist/taxonomy/risk-levels.js +15 -0
- package/dist/taxonomy/risk-levels.js.map +1 -0
- package/dist/taxonomy/severity-types.d.ts +6 -0
- package/dist/taxonomy/severity-types.d.ts.map +1 -0
- package/dist/taxonomy/severity-types.js +5 -0
- package/dist/taxonomy/severity-types.js.map +1 -0
- package/dist/taxonomy/status-values.d.ts +39 -0
- package/dist/taxonomy/status-values.d.ts.map +1 -0
- package/dist/taxonomy/status-values.js +42 -0
- package/dist/taxonomy/status-values.js.map +1 -0
- package/dist/types/branded.d.ts +89 -0
- package/dist/types/branded.d.ts.map +1 -0
- package/dist/types/branded.js +57 -0
- package/dist/types/branded.js.map +1 -0
- package/dist/types/errors.d.ts +342 -0
- package/dist/types/errors.d.ts.map +1 -0
- package/dist/types/errors.js +251 -0
- package/dist/types/errors.js.map +1 -0
- package/dist/types/index.d.ts +41 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +5 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/result.d.ts +78 -0
- package/dist/types/result.d.ts.map +1 -0
- package/dist/types/result.js +78 -0
- package/dist/types/result.js.map +1 -0
- package/dist/utils/collection-utils.d.ts +49 -0
- package/dist/utils/collection-utils.d.ts.map +1 -0
- package/dist/utils/collection-utils.js +58 -0
- package/dist/utils/collection-utils.js.map +1 -0
- package/dist/utils/id-utils.d.ts +46 -0
- package/dist/utils/id-utils.d.ts.map +1 -0
- package/dist/utils/id-utils.js +51 -0
- package/dist/utils/id-utils.js.map +1 -0
- package/dist/utils/index.d.ts +21 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +21 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/string-utils.d.ts +150 -0
- package/dist/utils/string-utils.d.ts.map +1 -0
- package/dist/utils/string-utils.js +281 -0
- package/dist/utils/string-utils.js.map +1 -0
- package/dist/validation/anti-patterns.d.ts +134 -0
- package/dist/validation/anti-patterns.d.ts.map +1 -0
- package/dist/validation/anti-patterns.js +307 -0
- package/dist/validation/anti-patterns.js.map +1 -0
- package/dist/validation/dod-validator.d.ts +94 -0
- package/dist/validation/dod-validator.d.ts.map +1 -0
- package/dist/validation/dod-validator.js +198 -0
- package/dist/validation/dod-validator.js.map +1 -0
- package/dist/validation/fsm/index.d.ts +59 -0
- package/dist/validation/fsm/index.d.ts.map +1 -0
- package/dist/validation/fsm/index.js +64 -0
- package/dist/validation/fsm/index.js.map +1 -0
- package/dist/validation/fsm/states.d.ts +93 -0
- package/dist/validation/fsm/states.d.ts.map +1 -0
- package/dist/validation/fsm/states.js +98 -0
- package/dist/validation/fsm/states.js.map +1 -0
- package/dist/validation/fsm/transitions.d.ts +100 -0
- package/dist/validation/fsm/transitions.d.ts.map +1 -0
- package/dist/validation/fsm/transitions.js +122 -0
- package/dist/validation/fsm/transitions.js.map +1 -0
- package/dist/validation/fsm/validator.d.ts +163 -0
- package/dist/validation/fsm/validator.d.ts.map +1 -0
- package/dist/validation/fsm/validator.js +205 -0
- package/dist/validation/fsm/validator.js.map +1 -0
- package/dist/validation/index.d.ts +23 -0
- package/dist/validation/index.d.ts.map +1 -0
- package/dist/validation/index.js +25 -0
- package/dist/validation/index.js.map +1 -0
- package/dist/validation/types.d.ts +136 -0
- package/dist/validation/types.d.ts.map +1 -0
- package/dist/validation/types.js +56 -0
- package/dist/validation/types.js.map +1 -0
- package/dist/validation-schemas/codec-utils.d.ts +188 -0
- package/dist/validation-schemas/codec-utils.d.ts.map +1 -0
- package/dist/validation-schemas/codec-utils.js +258 -0
- package/dist/validation-schemas/codec-utils.js.map +1 -0
- package/dist/validation-schemas/config.d.ts +99 -0
- package/dist/validation-schemas/config.d.ts.map +1 -0
- package/dist/validation-schemas/config.js +178 -0
- package/dist/validation-schemas/config.js.map +1 -0
- package/dist/validation-schemas/doc-directive.d.ts +195 -0
- package/dist/validation-schemas/doc-directive.d.ts.map +1 -0
- package/dist/validation-schemas/doc-directive.js +239 -0
- package/dist/validation-schemas/doc-directive.js.map +1 -0
- package/dist/validation-schemas/dual-source.d.ts +167 -0
- package/dist/validation-schemas/dual-source.d.ts.map +1 -0
- package/dist/validation-schemas/dual-source.js +168 -0
- package/dist/validation-schemas/dual-source.js.map +1 -0
- package/dist/validation-schemas/export-info.d.ts +53 -0
- package/dist/validation-schemas/export-info.d.ts.map +1 -0
- package/dist/validation-schemas/export-info.js +101 -0
- package/dist/validation-schemas/export-info.js.map +1 -0
- package/dist/validation-schemas/extracted-pattern.d.ts +351 -0
- package/dist/validation-schemas/extracted-pattern.d.ts.map +1 -0
- package/dist/validation-schemas/extracted-pattern.js +459 -0
- package/dist/validation-schemas/extracted-pattern.js.map +1 -0
- package/dist/validation-schemas/extracted-shape.d.ts +200 -0
- package/dist/validation-schemas/extracted-shape.d.ts.map +1 -0
- package/dist/validation-schemas/extracted-shape.js +182 -0
- package/dist/validation-schemas/extracted-shape.js.map +1 -0
- package/dist/validation-schemas/feature.d.ts +554 -0
- package/dist/validation-schemas/feature.d.ts.map +1 -0
- package/dist/validation-schemas/feature.js +262 -0
- package/dist/validation-schemas/feature.js.map +1 -0
- package/dist/validation-schemas/index.d.ts +15 -0
- package/dist/validation-schemas/index.d.ts.map +1 -0
- package/dist/validation-schemas/index.js +32 -0
- package/dist/validation-schemas/index.js.map +1 -0
- package/dist/validation-schemas/lint.d.ts +46 -0
- package/dist/validation-schemas/lint.d.ts.map +1 -0
- package/dist/validation-schemas/lint.js +45 -0
- package/dist/validation-schemas/lint.js.map +1 -0
- package/dist/validation-schemas/master-dataset.d.ts +8299 -0
- package/dist/validation-schemas/master-dataset.d.ts.map +1 -0
- package/dist/validation-schemas/master-dataset.js +275 -0
- package/dist/validation-schemas/master-dataset.js.map +1 -0
- package/dist/validation-schemas/output-schemas.d.ts +183 -0
- package/dist/validation-schemas/output-schemas.d.ts.map +1 -0
- package/dist/validation-schemas/output-schemas.js +149 -0
- package/dist/validation-schemas/output-schemas.js.map +1 -0
- package/dist/validation-schemas/scenario-ref.d.ts +80 -0
- package/dist/validation-schemas/scenario-ref.d.ts.map +1 -0
- package/dist/validation-schemas/scenario-ref.js +73 -0
- package/dist/validation-schemas/scenario-ref.js.map +1 -0
- package/dist/validation-schemas/tag-registry.d.ts +210 -0
- package/dist/validation-schemas/tag-registry.d.ts.map +1 -0
- package/dist/validation-schemas/tag-registry.js +248 -0
- package/dist/validation-schemas/tag-registry.js.map +1 -0
- package/dist/validation-schemas/workflow-config.d.ts +125 -0
- package/dist/validation-schemas/workflow-config.d.ts.map +1 -0
- package/dist/validation-schemas/workflow-config.js +138 -0
- package/dist/validation-schemas/workflow-config.js.map +1 -0
- package/docs/ANNOTATION-GUIDE.md +271 -0
- package/docs/ARCHITECTURE.md +1636 -0
- package/docs/CONFIGURATION.md +337 -0
- package/docs/DOCS-GAP-ANALYSIS.md +811 -0
- package/docs/GHERKIN-PATTERNS.md +366 -0
- package/docs/INDEX.md +345 -0
- package/docs/MCP-SETUP.md +140 -0
- package/docs/METHODOLOGY.md +240 -0
- package/docs/PROCESS-API.md +65 -0
- package/docs/PROCESS-GUARD.md +341 -0
- package/docs/SESSION-GUIDES.md +391 -0
- package/docs/TAXONOMY.md +106 -0
- package/docs/VALIDATION.md +418 -0
- package/docs-live/ARCHITECTURE.md +362 -0
- package/docs-live/BUSINESS-RULES.md +24 -0
- package/docs-live/CHANGELOG-GENERATED.md +375 -0
- package/docs-live/DECISIONS.md +78 -0
- package/docs-live/INDEX.md +231 -0
- package/docs-live/PRODUCT-AREAS.md +255 -0
- package/docs-live/TAXONOMY.md +202 -0
- package/docs-live/VALIDATION-RULES.md +119 -0
- package/docs-live/_claude-md/annotation/annotation-overview.md +26 -0
- package/docs-live/_claude-md/annotation/annotation-reference.md +213 -0
- package/docs-live/_claude-md/architecture/architecture-codecs.md +160 -0
- package/docs-live/_claude-md/architecture/architecture-types.md +32 -0
- package/docs-live/_claude-md/architecture/reference-sample.md +162 -0
- package/docs-live/_claude-md/authoring/gherkin-authoring-guide.md +245 -0
- package/docs-live/_claude-md/configuration/configuration-guide.md +216 -0
- package/docs-live/_claude-md/configuration/configuration-overview.md +37 -0
- package/docs-live/_claude-md/core-types/core-types-overview.md +20 -0
- package/docs-live/_claude-md/data-api/data-api-overview.md +39 -0
- package/docs-live/_claude-md/generation/generation-overview.md +30 -0
- package/docs-live/_claude-md/process/process-overview.md +127 -0
- package/docs-live/_claude-md/validation/process-guard.md +185 -0
- package/docs-live/_claude-md/validation/validation-overview.md +37 -0
- package/docs-live/_claude-md/validation/validation-tools-guide.md +242 -0
- package/docs-live/_claude-md/workflow/session-workflow-guide.md +141 -0
- package/docs-live/business-rules/annotation.md +1462 -0
- package/docs-live/business-rules/configuration.md +465 -0
- package/docs-live/business-rules/core-types.md +531 -0
- package/docs-live/business-rules/data-api.md +1403 -0
- package/docs-live/business-rules/generation.md +4726 -0
- package/docs-live/business-rules/process.md +122 -0
- package/docs-live/business-rules/validation.md +998 -0
- package/docs-live/decisions/adr-001-taxonomy-canonical-values.md +197 -0
- package/docs-live/decisions/adr-002-gherkin-only-testing.md +57 -0
- package/docs-live/decisions/adr-003-source-first-pattern-architecture.md +147 -0
- package/docs-live/decisions/adr-004-session-workflow-commands.md +137 -0
- package/docs-live/decisions/adr-005-codec-based-markdown-rendering.md +150 -0
- package/docs-live/decisions/adr-006-single-read-model-architecture.md +136 -0
- package/docs-live/decisions/adr-021-doc-generation-proof-of-concept.md +489 -0
- package/docs-live/product-areas/ANNOTATION.md +591 -0
- package/docs-live/product-areas/CONFIGURATION.md +1048 -0
- package/docs-live/product-areas/CORE-TYPES.md +221 -0
- package/docs-live/product-areas/DATA-API.md +850 -0
- package/docs-live/product-areas/GENERATION.md +1200 -0
- package/docs-live/product-areas/PROCESS.md +351 -0
- package/docs-live/product-areas/VALIDATION.md +1135 -0
- package/docs-live/reference/ANNOTATION-REFERENCE.md +232 -0
- package/docs-live/reference/ARCHITECTURE-CODECS.md +675 -0
- package/docs-live/reference/ARCHITECTURE-TYPES.md +436 -0
- package/docs-live/reference/CONFIGURATION-GUIDE.md +235 -0
- package/docs-live/reference/GHERKIN-AUTHORING-GUIDE.md +270 -0
- package/docs-live/reference/PROCESS-API-RECIPES.md +476 -0
- package/docs-live/reference/PROCESS-API-REFERENCE.md +63 -0
- package/docs-live/reference/PROCESS-GUARD-REFERENCE.md +258 -0
- package/docs-live/reference/REFERENCE-SAMPLE.md +1135 -0
- package/docs-live/reference/SESSION-WORKFLOW-GUIDE.md +384 -0
- package/docs-live/reference/VALIDATION-TOOLS-GUIDE.md +263 -0
- package/docs-live/taxonomy/categories.md +33 -0
- package/docs-live/taxonomy/format-types.md +67 -0
- package/docs-live/taxonomy/metadata-tags.md +693 -0
- package/docs-live/validation/error-catalog.md +78 -0
- package/docs-live/validation/fsm-transitions.md +50 -0
- package/docs-live/validation/protection-levels.md +51 -0
- package/package.json +233 -0
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @architect
|
|
3
|
+
* @architect-scanner
|
|
4
|
+
* @architect-pattern GherkinScanner
|
|
5
|
+
* @architect-status completed
|
|
6
|
+
* @architect-implements GherkinRulesSupport
|
|
7
|
+
* @architect-uses GherkinASTParser, GherkinTypes
|
|
8
|
+
* @architect-used-by DualSourceExtractor, Orchestrator
|
|
9
|
+
* @architect-arch-role infrastructure
|
|
10
|
+
* @architect-arch-context scanner
|
|
11
|
+
* @architect-arch-layer infrastructure
|
|
12
|
+
*
|
|
13
|
+
* ## GherkinScanner - Multi-Source Pattern Extraction from Feature Files
|
|
14
|
+
*
|
|
15
|
+
* Scans .feature files for pattern metadata encoded in Gherkin tags.
|
|
16
|
+
* Enables roadmap patterns to be defined in acceptance criteria files
|
|
17
|
+
* before implementation, supporting specification-first development.
|
|
18
|
+
*
|
|
19
|
+
* ### When to Use
|
|
20
|
+
*
|
|
21
|
+
* - When defining roadmap patterns in .feature files
|
|
22
|
+
* - When extracting pattern metadata from acceptance criteria
|
|
23
|
+
* - When building multi-source documentation (TypeScript + Gherkin)
|
|
24
|
+
*
|
|
25
|
+
* ### Key Concepts
|
|
26
|
+
*
|
|
27
|
+
* - **Feature Tags**: @pattern:Name, @phase:N, @status:roadmap map to pattern metadata
|
|
28
|
+
* - **Multi-Source**: Patterns can be defined in TypeScript stubs OR Gherkin features
|
|
29
|
+
* - **Conflict Detection**: Same pattern name in both sources triggers error
|
|
30
|
+
*/
|
|
31
|
+
import * as fs from 'fs/promises';
|
|
32
|
+
import { glob } from 'glob';
|
|
33
|
+
import { Result as R } from '../types/index.js';
|
|
34
|
+
import { parseFeatureFile } from './gherkin-ast-parser.js';
|
|
35
|
+
/**
|
|
36
|
+
* Find all .feature files matching the scanner configuration
|
|
37
|
+
*
|
|
38
|
+
* @param config - Scanner configuration
|
|
39
|
+
* @returns Array of absolute file paths to .feature files
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ```typescript
|
|
43
|
+
* const files = await findFeatureFiles({
|
|
44
|
+
* patterns: 'tests/features/**\/*.feature',
|
|
45
|
+
* baseDir: '/path/to/project'
|
|
46
|
+
* });
|
|
47
|
+
* console.log(files); // ['/path/to/project/tests/features/my-pattern.feature', ...]
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
export async function findFeatureFiles(config) {
|
|
51
|
+
const defaultExclude = ['node_modules/**', 'dist/**'];
|
|
52
|
+
const excludePatterns = config.exclude ? [...defaultExclude, ...config.exclude] : defaultExclude;
|
|
53
|
+
const patterns = Array.isArray(config.patterns) ? config.patterns : [config.patterns];
|
|
54
|
+
const files = await glob(patterns, {
|
|
55
|
+
cwd: config.baseDir ?? process.cwd(),
|
|
56
|
+
ignore: excludePatterns,
|
|
57
|
+
absolute: true,
|
|
58
|
+
});
|
|
59
|
+
// Filter to only .feature and .feature.md files (MDG format)
|
|
60
|
+
return files.filter((file) => file.endsWith('.feature') || file.endsWith('.feature.md'));
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Scan Gherkin feature files and extract pattern metadata
|
|
64
|
+
*
|
|
65
|
+
* Parses .feature files and extracts:
|
|
66
|
+
* - Feature name, description, tags
|
|
67
|
+
* - Scenario names, tags, steps
|
|
68
|
+
* - Pattern metadata from tags (@pattern:Name, @phase:N, etc.)
|
|
69
|
+
*
|
|
70
|
+
* **Result Pattern**: Returns Result<GherkinScanResults, never> where:
|
|
71
|
+
* - Success contains both successful files AND individual file errors
|
|
72
|
+
* - Never fails completely (errors are collected in results)
|
|
73
|
+
*
|
|
74
|
+
* @param config - Scanner configuration
|
|
75
|
+
* @returns Result containing scan results with success and error collections
|
|
76
|
+
*
|
|
77
|
+
* @example
|
|
78
|
+
* ```typescript
|
|
79
|
+
* const result = await scanGherkinFiles({
|
|
80
|
+
* patterns: 'tests/features/roadmap/**\/*.feature',
|
|
81
|
+
* baseDir: '/path/to/project'
|
|
82
|
+
* });
|
|
83
|
+
*
|
|
84
|
+
* if (result.ok) {
|
|
85
|
+
* const { files, errors } = result.value;
|
|
86
|
+
* console.log(`Scanned ${files.length} features successfully`);
|
|
87
|
+
* console.log(`Failed to parse ${errors.length} features`);
|
|
88
|
+
*
|
|
89
|
+
* for (const file of files) {
|
|
90
|
+
* console.log(`Feature: ${file.feature.name}`);
|
|
91
|
+
* console.log(` Tags: ${file.feature.tags.join(', ')}`);
|
|
92
|
+
* console.log(` Scenarios: ${file.scenarios.length}`);
|
|
93
|
+
* }
|
|
94
|
+
*
|
|
95
|
+
* // Handle errors
|
|
96
|
+
* for (const { file, error } of errors) {
|
|
97
|
+
* console.error(`Failed to parse ${file}: ${error.message}`);
|
|
98
|
+
* if (error.line) {
|
|
99
|
+
* console.error(` at line ${error.line}${error.column ? `, column ${error.column}` : ''}`);
|
|
100
|
+
* }
|
|
101
|
+
* }
|
|
102
|
+
* }
|
|
103
|
+
* ```
|
|
104
|
+
*/
|
|
105
|
+
export async function scanGherkinFiles(config) {
|
|
106
|
+
// Find all feature files to scan
|
|
107
|
+
const files = await findFeatureFiles(config);
|
|
108
|
+
const scanned = [];
|
|
109
|
+
const errors = [];
|
|
110
|
+
for (const filePath of files) {
|
|
111
|
+
try {
|
|
112
|
+
// Read feature file content
|
|
113
|
+
const content = await fs.readFile(filePath, 'utf-8');
|
|
114
|
+
// Parse the feature file
|
|
115
|
+
const parseResult = parseFeatureFile(content, filePath);
|
|
116
|
+
if (R.isErr(parseResult)) {
|
|
117
|
+
// Failed to parse - collect error
|
|
118
|
+
errors.push(parseResult.error);
|
|
119
|
+
continue;
|
|
120
|
+
}
|
|
121
|
+
const { feature, background, rules, scenarios } = parseResult.value;
|
|
122
|
+
// Store scanned file
|
|
123
|
+
scanned.push({
|
|
124
|
+
filePath,
|
|
125
|
+
feature,
|
|
126
|
+
...(background && { background }),
|
|
127
|
+
...(rules && rules.length > 0 && { rules }),
|
|
128
|
+
scenarios,
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
catch (error) {
|
|
132
|
+
// Collect filesystem/IO errors
|
|
133
|
+
errors.push({
|
|
134
|
+
file: filePath,
|
|
135
|
+
error: {
|
|
136
|
+
message: error instanceof Error ? error.message : String(error),
|
|
137
|
+
},
|
|
138
|
+
});
|
|
139
|
+
continue;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
// Always succeeds - errors are collected in results
|
|
143
|
+
return R.ok({
|
|
144
|
+
files: scanned,
|
|
145
|
+
errors,
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
export { parseFeatureFile, extractPatternTags } from './gherkin-ast-parser.js';
|
|
149
|
+
//# sourceMappingURL=gherkin-scanner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gherkin-scanner.js","sourceRoot":"","sources":["../../src/scanner/gherkin-scanner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,mBAAmB,CAAC;AAMhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAc3D;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAA4B;IACjE,MAAM,cAAc,GAAG,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;IACtD,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,cAAc,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;IAEjG,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAEtF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE;QACjC,GAAG,EAAE,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE;QACpC,MAAM,EAAE,eAAe;QACvB,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;IAEH,6DAA6D;IAC7D,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;AAC3F,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAA4B;IAE5B,iCAAiC;IACjC,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAE7C,MAAM,OAAO,GAAyB,EAAE,CAAC;IACzC,MAAM,MAAM,GAAuB,EAAE,CAAC;IAEtC,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,4BAA4B;YAC5B,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAErD,yBAAyB;YACzB,MAAM,WAAW,GAAG,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAExD,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;gBACzB,kCAAkC;gBAClC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBAC/B,SAAS;YACX,CAAC;YAED,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC;YAEpE,qBAAqB;YACrB,OAAO,CAAC,IAAI,CAAC;gBACX,QAAQ;gBACR,OAAO;gBACP,GAAG,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,CAAC;gBACjC,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;gBAC3C,SAAS;aACV,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,+BAA+B;YAC/B,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE;oBACL,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAChE;aACF,CAAC,CAAC;YACH,SAAS;QACX,CAAC;IACH,CAAC;IAED,oDAAoD;IACpD,OAAO,CAAC,CAAC,EAAE,CAAC;QACV,KAAK,EAAE,OAAO;QACd,MAAM;KACP,CAAC,CAAC;AACL,CAAC;AAED,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import type { Result, ScannerConfig, DocDirective, ExportInfo, FileParseError, DirectiveValidationError } from '../types/index.js';
|
|
2
|
+
import type { TagRegistry } from '../validation-schemas/tag-registry.js';
|
|
3
|
+
/**
|
|
4
|
+
* Result of scanning a single file
|
|
5
|
+
*/
|
|
6
|
+
export interface ScannedFile {
|
|
7
|
+
readonly filePath: string;
|
|
8
|
+
readonly directives: ReadonlyArray<{
|
|
9
|
+
readonly directive: DocDirective;
|
|
10
|
+
readonly code: string;
|
|
11
|
+
readonly exports: readonly ExportInfo[];
|
|
12
|
+
}>;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Information about a file that failed to scan
|
|
16
|
+
*/
|
|
17
|
+
export interface FileError {
|
|
18
|
+
readonly file: string;
|
|
19
|
+
readonly error: FileParseError;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Information about a directive that was skipped due to validation errors
|
|
23
|
+
*/
|
|
24
|
+
export interface SkippedDirective {
|
|
25
|
+
readonly file: string;
|
|
26
|
+
readonly error: DirectiveValidationError;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Results of scanning multiple files
|
|
30
|
+
*
|
|
31
|
+
* Contains successfully scanned files, file-level errors, and directive-level errors.
|
|
32
|
+
* This provides full visibility into what was processed and what failed.
|
|
33
|
+
*/
|
|
34
|
+
export interface ScanResults {
|
|
35
|
+
/** Successfully scanned files with directives */
|
|
36
|
+
readonly files: readonly ScannedFile[];
|
|
37
|
+
/** Files that failed to parse entirely (syntax errors) */
|
|
38
|
+
readonly errors: readonly FileError[];
|
|
39
|
+
/** Individual directives that failed validation but file parsed successfully */
|
|
40
|
+
readonly skippedDirectives: readonly SkippedDirective[];
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Scans source files for @architect-* directives and extracts them
|
|
44
|
+
* with their associated code blocks and export information.
|
|
45
|
+
*
|
|
46
|
+
* **Result Pattern**: Returns Result<ScanResults, never> where:
|
|
47
|
+
* - Success contains both successful files AND individual file errors
|
|
48
|
+
* - Never fails completely (errors are collected in results)
|
|
49
|
+
*
|
|
50
|
+
* @param config - Scanner configuration
|
|
51
|
+
* @param registry - Optional tag registry for metadata extraction (uses default if not provided)
|
|
52
|
+
* @returns Result containing scan results with success and error collections
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* ```typescript
|
|
56
|
+
* const config = await loadConfig();
|
|
57
|
+
* const result = await scanPatterns({
|
|
58
|
+
* patterns: ['src/**\/*.ts'],
|
|
59
|
+
* baseDir: '/path/to/project'
|
|
60
|
+
* }, config.tagRegistry);
|
|
61
|
+
*
|
|
62
|
+
* if (result.ok) {
|
|
63
|
+
* const { files, errors } = result.value;
|
|
64
|
+
* console.log(`Scanned ${files.length} files successfully`);
|
|
65
|
+
* console.log(`Failed to scan ${errors.length} files`);
|
|
66
|
+
*
|
|
67
|
+
* for (const file of files) {
|
|
68
|
+
* console.log(`File: ${file.filePath}`);
|
|
69
|
+
* for (const { directive, code, exports } of file.directives) {
|
|
70
|
+
* console.log(` Tags: ${directive.tags.join(', ')}`);
|
|
71
|
+
* console.log(` Exports: ${exports.map(e => e.name).join(', ')}`);
|
|
72
|
+
* }
|
|
73
|
+
* }
|
|
74
|
+
*
|
|
75
|
+
* // Handle errors
|
|
76
|
+
* for (const { file, error } of errors) {
|
|
77
|
+
* console.error(`Failed to scan ${file}: ${error.message}`);
|
|
78
|
+
* }
|
|
79
|
+
* }
|
|
80
|
+
* ```
|
|
81
|
+
*/
|
|
82
|
+
export declare function scanPatterns(config: ScannerConfig, registry?: TagRegistry): Promise<Result<ScanResults, never>>;
|
|
83
|
+
export { findFilesToScan, hasDocDirectives, hasFileOptIn } from './pattern-scanner.js';
|
|
84
|
+
export { parseFileDirectives, type ParseDirectivesResult } from './ast-parser.js';
|
|
85
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scanner/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,MAAM,EACN,aAAa,EACb,YAAY,EACZ,UAAU,EACV,cAAc,EACd,wBAAwB,EACzB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAIzE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;QACjC,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;QACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,CAAC;KACzC,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,wBAAwB,CAAC;CAC1C;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,iDAAiD;IACjD,QAAQ,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,CAAC;IACvC,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;IACtC,gFAAgF;IAChF,QAAQ,CAAC,iBAAiB,EAAE,SAAS,gBAAgB,EAAE,CAAC;CACzD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,aAAa,EACrB,QAAQ,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAkErC;AAED,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACvF,OAAO,EAAE,mBAAmB,EAAE,KAAK,qBAAqB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import * as fs from 'fs/promises';
|
|
2
|
+
import { Result as R, createFileParseError } from '../types/index.js';
|
|
3
|
+
import { parseFileDirectives } from './ast-parser.js';
|
|
4
|
+
import { findFilesToScan, hasDocDirectives, hasFileOptIn } from './pattern-scanner.js';
|
|
5
|
+
/**
|
|
6
|
+
* Scans source files for @architect-* directives and extracts them
|
|
7
|
+
* with their associated code blocks and export information.
|
|
8
|
+
*
|
|
9
|
+
* **Result Pattern**: Returns Result<ScanResults, never> where:
|
|
10
|
+
* - Success contains both successful files AND individual file errors
|
|
11
|
+
* - Never fails completely (errors are collected in results)
|
|
12
|
+
*
|
|
13
|
+
* @param config - Scanner configuration
|
|
14
|
+
* @param registry - Optional tag registry for metadata extraction (uses default if not provided)
|
|
15
|
+
* @returns Result containing scan results with success and error collections
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* const config = await loadConfig();
|
|
20
|
+
* const result = await scanPatterns({
|
|
21
|
+
* patterns: ['src/**\/*.ts'],
|
|
22
|
+
* baseDir: '/path/to/project'
|
|
23
|
+
* }, config.tagRegistry);
|
|
24
|
+
*
|
|
25
|
+
* if (result.ok) {
|
|
26
|
+
* const { files, errors } = result.value;
|
|
27
|
+
* console.log(`Scanned ${files.length} files successfully`);
|
|
28
|
+
* console.log(`Failed to scan ${errors.length} files`);
|
|
29
|
+
*
|
|
30
|
+
* for (const file of files) {
|
|
31
|
+
* console.log(`File: ${file.filePath}`);
|
|
32
|
+
* for (const { directive, code, exports } of file.directives) {
|
|
33
|
+
* console.log(` Tags: ${directive.tags.join(', ')}`);
|
|
34
|
+
* console.log(` Exports: ${exports.map(e => e.name).join(', ')}`);
|
|
35
|
+
* }
|
|
36
|
+
* }
|
|
37
|
+
*
|
|
38
|
+
* // Handle errors
|
|
39
|
+
* for (const { file, error } of errors) {
|
|
40
|
+
* console.error(`Failed to scan ${file}: ${error.message}`);
|
|
41
|
+
* }
|
|
42
|
+
* }
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
export async function scanPatterns(config, registry) {
|
|
46
|
+
// Find all files to scan
|
|
47
|
+
const files = await findFilesToScan(config);
|
|
48
|
+
const scanned = [];
|
|
49
|
+
const errors = [];
|
|
50
|
+
const skippedDirectives = [];
|
|
51
|
+
for (const filePath of files) {
|
|
52
|
+
try {
|
|
53
|
+
// Read file content once - passed to all functions (no double read!)
|
|
54
|
+
const content = await fs.readFile(filePath, 'utf-8');
|
|
55
|
+
// Check for file-level opt-in (requires opt-in tag from registry)
|
|
56
|
+
if (!hasFileOptIn(content, registry))
|
|
57
|
+
continue;
|
|
58
|
+
// Quick check if file has any section directives
|
|
59
|
+
if (!hasDocDirectives(content, registry))
|
|
60
|
+
continue;
|
|
61
|
+
// Parse the file for directives (pass content to avoid re-reading)
|
|
62
|
+
// Pass registry for metadata tag extraction (uses, usedBy, usecase, etc.)
|
|
63
|
+
const parseResult = parseFileDirectives(content, filePath, registry);
|
|
64
|
+
if (R.isErr(parseResult)) {
|
|
65
|
+
// File-level parse error (syntax error, etc.)
|
|
66
|
+
errors.push({
|
|
67
|
+
file: filePath,
|
|
68
|
+
error: parseResult.error,
|
|
69
|
+
});
|
|
70
|
+
continue;
|
|
71
|
+
}
|
|
72
|
+
const { directives, skippedDirectives: fileSkipped } = parseResult.value;
|
|
73
|
+
// Collect directive-level validation errors
|
|
74
|
+
for (const skipped of fileSkipped) {
|
|
75
|
+
skippedDirectives.push({ file: filePath, error: skipped });
|
|
76
|
+
}
|
|
77
|
+
if (directives.length === 0)
|
|
78
|
+
continue;
|
|
79
|
+
scanned.push({
|
|
80
|
+
filePath,
|
|
81
|
+
directives,
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
// Collect filesystem/IO errors
|
|
86
|
+
errors.push({
|
|
87
|
+
file: filePath,
|
|
88
|
+
error: createFileParseError(filePath, error instanceof Error ? error.message : String(error), undefined, error),
|
|
89
|
+
});
|
|
90
|
+
continue;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
// Always succeeds - errors are collected in results
|
|
94
|
+
return R.ok({
|
|
95
|
+
files: scanned,
|
|
96
|
+
errors,
|
|
97
|
+
skippedDirectives,
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
export { findFilesToScan, hasDocDirectives, hasFileOptIn } from './pattern-scanner.js';
|
|
101
|
+
export { parseFileDirectives } from './ast-parser.js';
|
|
102
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scanner/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AASlC,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AA6CvF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAqB,EACrB,QAAsB;IAEtB,yBAAyB;IACzB,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC,CAAC;IAE5C,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,MAAM,MAAM,GAAgB,EAAE,CAAC;IAC/B,MAAM,iBAAiB,GAAuB,EAAE,CAAC;IAEjD,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,qEAAqE;YACrE,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAErD,kEAAkE;YAClE,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC;gBAAE,SAAS;YAE/C,iDAAiD;YACjD,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC;gBAAE,SAAS;YAEnD,mEAAmE;YACnE,0EAA0E;YAC1E,MAAM,WAAW,GAAG,mBAAmB,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAErE,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;gBACzB,8CAA8C;gBAC9C,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,WAAW,CAAC,KAAK;iBACzB,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YAED,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,WAAW,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC;YAEzE,4CAA4C;YAC5C,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE,CAAC;gBAClC,iBAAiB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YAC7D,CAAC;YAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAEtC,OAAO,CAAC,IAAI,CAAC;gBACX,QAAQ;gBACR,UAAU;aACX,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,+BAA+B;YAC/B,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,oBAAoB,CACzB,QAAQ,EACR,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD,SAAS,EACT,KAAK,CACN;aACF,CAAC,CAAC;YACH,SAAS;QACX,CAAC;IACH,CAAC;IAED,oDAAoD;IACpD,OAAO,CAAC,CAAC,EAAE,CAAC;QACV,KAAK,EAAE,OAAO;QACd,MAAM;QACN,iBAAiB;KAClB,CAAC,CAAC;AACL,CAAC;AAED,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACvF,OAAO,EAAE,mBAAmB,EAA8B,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @architect
|
|
3
|
+
* @architect-core @architect-scanner
|
|
4
|
+
* @architect-pattern Pattern Scanner
|
|
5
|
+
* @architect-status completed
|
|
6
|
+
* @architect-arch-role infrastructure
|
|
7
|
+
* @architect-arch-context scanner
|
|
8
|
+
* @architect-arch-layer infrastructure
|
|
9
|
+
* @architect-include pipeline-stages
|
|
10
|
+
* @architect-uses glob, AST Parser
|
|
11
|
+
* @architect-used-by Doc Extractor, Orchestrator
|
|
12
|
+
* @architect-usecase "When discovering TypeScript files for documentation extraction"
|
|
13
|
+
* @architect-usecase "When filtering files by @architect opt-in marker"
|
|
14
|
+
*
|
|
15
|
+
* ## Pattern Scanner - File Discovery and Directive Detection
|
|
16
|
+
*
|
|
17
|
+
* Discovers TypeScript files matching glob patterns and filters to only
|
|
18
|
+
* those with `@architect` opt-in. Entry point for the scanning phase.
|
|
19
|
+
*
|
|
20
|
+
* ### When to Use
|
|
21
|
+
*
|
|
22
|
+
* - Discovering source files for documentation generation
|
|
23
|
+
* - Checking file opt-in status before extraction
|
|
24
|
+
* - Building file lists for batch processing
|
|
25
|
+
*
|
|
26
|
+
* ### Key Concepts
|
|
27
|
+
*
|
|
28
|
+
* - **Opt-in Model**: Files must explicitly declare `@architect` to be processed
|
|
29
|
+
* - **Glob Patterns**: Uses glob for flexible file matching
|
|
30
|
+
* - **Exclusion Support**: Configurable exclude patterns for node_modules, tests, etc.
|
|
31
|
+
*/
|
|
32
|
+
import type { ScannerConfig } from '../types/index.js';
|
|
33
|
+
import type { TagRegistry } from '../validation-schemas/tag-registry.js';
|
|
34
|
+
/**
|
|
35
|
+
* Finds all TypeScript files matching the scanner configuration
|
|
36
|
+
*
|
|
37
|
+
* @param config - Scanner configuration
|
|
38
|
+
* @returns Array of file paths to scan
|
|
39
|
+
*/
|
|
40
|
+
export declare function findFilesToScan(config: ScannerConfig): Promise<readonly string[]>;
|
|
41
|
+
/**
|
|
42
|
+
* Checks if file has opted-in to documentation generation
|
|
43
|
+
*
|
|
44
|
+
* Files must have the file-level opt-in tag (e.g., `@architect` without suffix)
|
|
45
|
+
* in a JSDoc block comment to be included in documentation generation.
|
|
46
|
+
* This is separate from section tags (e.g., `@architect-*`) which mark
|
|
47
|
+
* individual blocks for extraction.
|
|
48
|
+
*
|
|
49
|
+
* @param content - File content to check
|
|
50
|
+
* @param registry - Optional TagRegistry for custom prefix configuration
|
|
51
|
+
* @returns True if file has opt-in tag
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* ```typescript
|
|
55
|
+
* // File with opt-in
|
|
56
|
+
* const content1 = `
|
|
57
|
+
* /** @architect This file is documented *\/
|
|
58
|
+
* export function foo() {}
|
|
59
|
+
* `;
|
|
60
|
+
* hasFileOptIn(content1); // true
|
|
61
|
+
*
|
|
62
|
+
* // File without opt-in (only has section tags)
|
|
63
|
+
* const content2 = `
|
|
64
|
+
* /** @architect-core *\/
|
|
65
|
+
* export function bar() {}
|
|
66
|
+
* `;
|
|
67
|
+
* hasFileOptIn(content2); // false
|
|
68
|
+
*
|
|
69
|
+
* // With custom registry
|
|
70
|
+
* const registry = { tagPrefix: "@acme-", fileOptInTag: "@acme", ... };
|
|
71
|
+
* hasFileOptIn(content, registry); // Uses @acme pattern
|
|
72
|
+
* ```
|
|
73
|
+
*/
|
|
74
|
+
export declare function hasFileOptIn(content: string, registry?: TagRegistry): boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Checks if file content contains doc directives (e.g., @architect-*)
|
|
77
|
+
*
|
|
78
|
+
* @param content - File content to check
|
|
79
|
+
* @param registry - Optional TagRegistry for custom prefix configuration
|
|
80
|
+
* @returns True if content contains documentation directives
|
|
81
|
+
*/
|
|
82
|
+
export declare function hasDocDirectives(content: string, registry?: TagRegistry): boolean;
|
|
83
|
+
//# sourceMappingURL=pattern-scanner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pattern-scanner.d.ts","sourceRoot":"","sources":["../../src/scanner/pattern-scanner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAEzE;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAmBvF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,OAAO,CAK7E;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,OAAO,CAKjF"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @architect
|
|
3
|
+
* @architect-core @architect-scanner
|
|
4
|
+
* @architect-pattern Pattern Scanner
|
|
5
|
+
* @architect-status completed
|
|
6
|
+
* @architect-arch-role infrastructure
|
|
7
|
+
* @architect-arch-context scanner
|
|
8
|
+
* @architect-arch-layer infrastructure
|
|
9
|
+
* @architect-include pipeline-stages
|
|
10
|
+
* @architect-uses glob, AST Parser
|
|
11
|
+
* @architect-used-by Doc Extractor, Orchestrator
|
|
12
|
+
* @architect-usecase "When discovering TypeScript files for documentation extraction"
|
|
13
|
+
* @architect-usecase "When filtering files by @architect opt-in marker"
|
|
14
|
+
*
|
|
15
|
+
* ## Pattern Scanner - File Discovery and Directive Detection
|
|
16
|
+
*
|
|
17
|
+
* Discovers TypeScript files matching glob patterns and filters to only
|
|
18
|
+
* those with `@architect` opt-in. Entry point for the scanning phase.
|
|
19
|
+
*
|
|
20
|
+
* ### When to Use
|
|
21
|
+
*
|
|
22
|
+
* - Discovering source files for documentation generation
|
|
23
|
+
* - Checking file opt-in status before extraction
|
|
24
|
+
* - Building file lists for batch processing
|
|
25
|
+
*
|
|
26
|
+
* ### Key Concepts
|
|
27
|
+
*
|
|
28
|
+
* - **Opt-in Model**: Files must explicitly declare `@architect` to be processed
|
|
29
|
+
* - **Glob Patterns**: Uses glob for flexible file matching
|
|
30
|
+
* - **Exclusion Support**: Configurable exclude patterns for node_modules, tests, etc.
|
|
31
|
+
*/
|
|
32
|
+
import { glob } from 'glob';
|
|
33
|
+
import { createRegexBuilders } from '../config/regex-builders.js';
|
|
34
|
+
import { DEFAULT_REGEX_BUILDERS } from '../config/defaults.js';
|
|
35
|
+
/**
|
|
36
|
+
* Finds all TypeScript files matching the scanner configuration
|
|
37
|
+
*
|
|
38
|
+
* @param config - Scanner configuration
|
|
39
|
+
* @returns Array of file paths to scan
|
|
40
|
+
*/
|
|
41
|
+
export async function findFilesToScan(config) {
|
|
42
|
+
const defaultExclude = [
|
|
43
|
+
'node_modules/**',
|
|
44
|
+
'dist/**',
|
|
45
|
+
'**/*.test.ts',
|
|
46
|
+
'**/*.spec.ts',
|
|
47
|
+
'**/*.d.ts',
|
|
48
|
+
];
|
|
49
|
+
const excludePatterns = config.exclude ? [...defaultExclude, ...config.exclude] : defaultExclude;
|
|
50
|
+
const files = await glob([...config.patterns], {
|
|
51
|
+
cwd: config.baseDir,
|
|
52
|
+
ignore: excludePatterns,
|
|
53
|
+
absolute: true,
|
|
54
|
+
});
|
|
55
|
+
// Filter to only TypeScript source files
|
|
56
|
+
return files.filter((file) => file.endsWith('.ts') && !file.endsWith('.d.ts'));
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Checks if file has opted-in to documentation generation
|
|
60
|
+
*
|
|
61
|
+
* Files must have the file-level opt-in tag (e.g., `@architect` without suffix)
|
|
62
|
+
* in a JSDoc block comment to be included in documentation generation.
|
|
63
|
+
* This is separate from section tags (e.g., `@architect-*`) which mark
|
|
64
|
+
* individual blocks for extraction.
|
|
65
|
+
*
|
|
66
|
+
* @param content - File content to check
|
|
67
|
+
* @param registry - Optional TagRegistry for custom prefix configuration
|
|
68
|
+
* @returns True if file has opt-in tag
|
|
69
|
+
*
|
|
70
|
+
* @example
|
|
71
|
+
* ```typescript
|
|
72
|
+
* // File with opt-in
|
|
73
|
+
* const content1 = `
|
|
74
|
+
* /** @architect This file is documented *\/
|
|
75
|
+
* export function foo() {}
|
|
76
|
+
* `;
|
|
77
|
+
* hasFileOptIn(content1); // true
|
|
78
|
+
*
|
|
79
|
+
* // File without opt-in (only has section tags)
|
|
80
|
+
* const content2 = `
|
|
81
|
+
* /** @architect-core *\/
|
|
82
|
+
* export function bar() {}
|
|
83
|
+
* `;
|
|
84
|
+
* hasFileOptIn(content2); // false
|
|
85
|
+
*
|
|
86
|
+
* // With custom registry
|
|
87
|
+
* const registry = { tagPrefix: "@acme-", fileOptInTag: "@acme", ... };
|
|
88
|
+
* hasFileOptIn(content, registry); // Uses @acme pattern
|
|
89
|
+
* ```
|
|
90
|
+
*/
|
|
91
|
+
export function hasFileOptIn(content, registry) {
|
|
92
|
+
const builders = registry
|
|
93
|
+
? createRegexBuilders(registry.tagPrefix, registry.fileOptInTag)
|
|
94
|
+
: DEFAULT_REGEX_BUILDERS;
|
|
95
|
+
return builders.hasFileOptIn(content);
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Checks if file content contains doc directives (e.g., @architect-*)
|
|
99
|
+
*
|
|
100
|
+
* @param content - File content to check
|
|
101
|
+
* @param registry - Optional TagRegistry for custom prefix configuration
|
|
102
|
+
* @returns True if content contains documentation directives
|
|
103
|
+
*/
|
|
104
|
+
export function hasDocDirectives(content, registry) {
|
|
105
|
+
const builders = registry
|
|
106
|
+
? createRegexBuilders(registry.tagPrefix, registry.fileOptInTag)
|
|
107
|
+
: DEFAULT_REGEX_BUILDERS;
|
|
108
|
+
return builders.hasDocDirectives(content);
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=pattern-scanner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pattern-scanner.js","sourceRoot":"","sources":["../../src/scanner/pattern-scanner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAG/D;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAqB;IACzD,MAAM,cAAc,GAAG;QACrB,iBAAiB;QACjB,SAAS;QACT,cAAc;QACd,cAAc;QACd,WAAW;KACZ,CAAC;IAEF,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,cAAc,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;IAEjG,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE;QAC7C,GAAG,EAAE,MAAM,CAAC,OAAO;QACnB,MAAM,EAAE,eAAe;QACvB,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;IAEH,yCAAyC;IACzC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AACjF,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,QAAsB;IAClE,MAAM,QAAQ,GAAG,QAAQ;QACvB,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,YAAY,CAAC;QAChE,CAAC,CAAC,sBAAsB,CAAC;IAC3B,OAAO,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe,EAAE,QAAsB;IACtE,MAAM,QAAQ,GAAG,QAAQ;QACvB,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,YAAY,CAAC;QAChE,CAAC,CAAC,sBAAsB,CAAC;IAC3B,OAAO,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;AAC5C,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @architect
|
|
3
|
+
* @architect-pattern CategoryDefinitions
|
|
4
|
+
* @architect-status completed
|
|
5
|
+
* @architect-core
|
|
6
|
+
* @architect-arch-role read-model
|
|
7
|
+
* @architect-arch-context taxonomy
|
|
8
|
+
* @architect-arch-layer domain
|
|
9
|
+
* @architect-extract-shapes CategoryDefinition, CATEGORIES, CategoryTag, CATEGORY_TAGS
|
|
10
|
+
*
|
|
11
|
+
* ## Category Definitions
|
|
12
|
+
*
|
|
13
|
+
* Categories are used to classify patterns and organize documentation.
|
|
14
|
+
* Priority determines display order (lower = higher priority).
|
|
15
|
+
* The ddd-es-cqrs preset includes all 21 categories; simpler presets use subsets.
|
|
16
|
+
*
|
|
17
|
+
* **When to Use:** When adding new pattern categories or configuring preset category subsets for tag registries.
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* @architect-implements CategoryDefinitions
|
|
21
|
+
* @architect-shape reference-sample
|
|
22
|
+
*/
|
|
23
|
+
export interface CategoryDefinition {
|
|
24
|
+
/** Category tag name without prefix (e.g., "core", "api", "ddd", "saga") */
|
|
25
|
+
readonly tag: string;
|
|
26
|
+
/** Human-readable domain name for display (e.g., "Strategic DDD", "Event Sourcing") */
|
|
27
|
+
readonly domain: string;
|
|
28
|
+
/** Display order priority - lower values appear first in sorted output */
|
|
29
|
+
readonly priority: number;
|
|
30
|
+
/** Brief description of the category's purpose and typical patterns */
|
|
31
|
+
readonly description: string;
|
|
32
|
+
/** Alternative tag names that map to this category (e.g., "es" for "event-sourcing") */
|
|
33
|
+
readonly aliases: readonly string[];
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* All category definitions for the monorepo
|
|
37
|
+
*/
|
|
38
|
+
export declare const CATEGORIES: readonly CategoryDefinition[];
|
|
39
|
+
/**
|
|
40
|
+
* Category tags as a union type
|
|
41
|
+
*/
|
|
42
|
+
export type CategoryTag = (typeof CATEGORIES)[number]['tag'];
|
|
43
|
+
/**
|
|
44
|
+
* Extract all category tags as an array
|
|
45
|
+
*/
|
|
46
|
+
export declare const CATEGORY_TAGS: readonly CategoryTag[];
|
|
47
|
+
//# sourceMappingURL=categories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"categories.d.ts","sourceRoot":"","sources":["../../src/taxonomy/categories.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,4EAA4E;IAC5E,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,uFAAuF;IACvF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,0EAA0E;IAC1E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,uEAAuE;IACvE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,wFAAwF;IACxF,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,SAAS,kBAAkB,EAoJ1C,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;AAE7D;;GAEG;AACH,eAAO,MAAM,aAAa,EAAmC,SAAS,WAAW,EAAE,CAAC"}
|