@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,436 @@
|
|
|
1
|
+
# Architecture Types Reference
|
|
2
|
+
|
|
3
|
+
**Purpose:** Reference document: Architecture Types Reference
|
|
4
|
+
**Detail Level:** Full reference
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## API Types
|
|
9
|
+
|
|
10
|
+
### MasterDatasetSchema (const)
|
|
11
|
+
|
|
12
|
+
```typescript
|
|
13
|
+
/**
|
|
14
|
+
* Master Dataset - Unified view of all extracted patterns
|
|
15
|
+
*
|
|
16
|
+
* Contains raw patterns plus pre-computed views and statistics.
|
|
17
|
+
* This is the primary data structure passed to generators and sections.
|
|
18
|
+
*
|
|
19
|
+
*/
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
```typescript
|
|
23
|
+
MasterDatasetSchema = z.object({
|
|
24
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
25
|
+
// Raw Data
|
|
26
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
27
|
+
|
|
28
|
+
/** All extracted patterns (both TypeScript and Gherkin) */
|
|
29
|
+
patterns: z.array(ExtractedPatternSchema),
|
|
30
|
+
|
|
31
|
+
/** Tag registry for category lookups */
|
|
32
|
+
tagRegistry: TagRegistrySchema,
|
|
33
|
+
|
|
34
|
+
// Note: workflow is not in the Zod schema because LoadedWorkflow contains Maps
|
|
35
|
+
// (statusMap, phaseMap) which are not JSON-serializable. When workflow access
|
|
36
|
+
// is needed, get it from SectionContext/GeneratorContext instead.
|
|
37
|
+
|
|
38
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
39
|
+
// Pre-computed Views
|
|
40
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
41
|
+
|
|
42
|
+
/** Patterns grouped by normalized status */
|
|
43
|
+
byStatus: StatusGroupsSchema,
|
|
44
|
+
|
|
45
|
+
/** Patterns grouped by phase number (sorted ascending) */
|
|
46
|
+
byPhase: z.array(PhaseGroupSchema),
|
|
47
|
+
|
|
48
|
+
/** Patterns grouped by quarter (e.g., "Q4-2024") */
|
|
49
|
+
byQuarter: z.record(z.string(), z.array(ExtractedPatternSchema)),
|
|
50
|
+
|
|
51
|
+
/** Patterns grouped by category */
|
|
52
|
+
byCategory: z.record(z.string(), z.array(ExtractedPatternSchema)),
|
|
53
|
+
|
|
54
|
+
/** Patterns grouped by source type */
|
|
55
|
+
bySource: SourceViewsSchema,
|
|
56
|
+
|
|
57
|
+
/** Patterns grouped by product area (for O(1) product area lookups) */
|
|
58
|
+
byProductArea: z.record(z.string(), z.array(ExtractedPatternSchema)),
|
|
59
|
+
|
|
60
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
61
|
+
// Aggregate Statistics
|
|
62
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
63
|
+
|
|
64
|
+
/** Overall status counts */
|
|
65
|
+
counts: StatusCountsSchema,
|
|
66
|
+
|
|
67
|
+
/** Number of distinct phases */
|
|
68
|
+
phaseCount: z.number().int().nonnegative(),
|
|
69
|
+
|
|
70
|
+
/** Number of distinct categories */
|
|
71
|
+
categoryCount: z.number().int().nonnegative(),
|
|
72
|
+
|
|
73
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
74
|
+
// Relationship Data (optional)
|
|
75
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
76
|
+
|
|
77
|
+
/** Optional relationship index for dependency graph */
|
|
78
|
+
relationshipIndex: z.record(z.string(), RelationshipEntrySchema).optional(),
|
|
79
|
+
|
|
80
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
81
|
+
// Architecture Data (optional)
|
|
82
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
83
|
+
|
|
84
|
+
/** Optional architecture index for diagram generation */
|
|
85
|
+
archIndex: ArchIndexSchema.optional(),
|
|
86
|
+
|
|
87
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
88
|
+
// Sequence Data (optional)
|
|
89
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
90
|
+
|
|
91
|
+
/** Optional sequence index for design review diagram generation */
|
|
92
|
+
sequenceIndex: SequenceIndexSchema.optional(),
|
|
93
|
+
});
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### StatusGroupsSchema (const)
|
|
97
|
+
|
|
98
|
+
```typescript
|
|
99
|
+
/**
|
|
100
|
+
* Status-based grouping of patterns
|
|
101
|
+
*
|
|
102
|
+
* Patterns are normalized to three canonical states:
|
|
103
|
+
* - completed: completed
|
|
104
|
+
* - active: active
|
|
105
|
+
* - planned: roadmap, deferred, or undefined/unknown
|
|
106
|
+
*
|
|
107
|
+
*/
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
```typescript
|
|
111
|
+
StatusGroupsSchema = z.object({
|
|
112
|
+
/** Patterns with status 'completed' */
|
|
113
|
+
completed: z.array(ExtractedPatternSchema),
|
|
114
|
+
|
|
115
|
+
/** Patterns with status 'active' */
|
|
116
|
+
active: z.array(ExtractedPatternSchema),
|
|
117
|
+
|
|
118
|
+
/** Patterns with status 'roadmap', 'deferred', or undefined/unknown */
|
|
119
|
+
planned: z.array(ExtractedPatternSchema),
|
|
120
|
+
});
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### StatusCountsSchema (const)
|
|
124
|
+
|
|
125
|
+
```typescript
|
|
126
|
+
/**
|
|
127
|
+
* Status counts for aggregate statistics
|
|
128
|
+
*
|
|
129
|
+
*/
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
```typescript
|
|
133
|
+
StatusCountsSchema = z.object({
|
|
134
|
+
/** Number of completed patterns */
|
|
135
|
+
completed: z.number().int().nonnegative(),
|
|
136
|
+
|
|
137
|
+
/** Number of active patterns */
|
|
138
|
+
active: z.number().int().nonnegative(),
|
|
139
|
+
|
|
140
|
+
/** Number of planned patterns */
|
|
141
|
+
planned: z.number().int().nonnegative(),
|
|
142
|
+
|
|
143
|
+
/** Total number of patterns */
|
|
144
|
+
total: z.number().int().nonnegative(),
|
|
145
|
+
});
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### PhaseGroupSchema (const)
|
|
149
|
+
|
|
150
|
+
```typescript
|
|
151
|
+
/**
|
|
152
|
+
* Phase grouping with patterns and counts
|
|
153
|
+
*
|
|
154
|
+
* Groups patterns by their phase number, with pre-computed
|
|
155
|
+
* status counts for each phase.
|
|
156
|
+
*
|
|
157
|
+
*/
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
```typescript
|
|
161
|
+
PhaseGroupSchema = z.object({
|
|
162
|
+
/** Phase number (e.g., 1, 2, 3, 14, 39) */
|
|
163
|
+
phaseNumber: z.number().int(),
|
|
164
|
+
|
|
165
|
+
/** Optional phase name from workflow config */
|
|
166
|
+
phaseName: z.string().optional(),
|
|
167
|
+
|
|
168
|
+
/** Patterns in this phase */
|
|
169
|
+
patterns: z.array(ExtractedPatternSchema),
|
|
170
|
+
|
|
171
|
+
/** Pre-computed status counts for this phase */
|
|
172
|
+
counts: StatusCountsSchema,
|
|
173
|
+
});
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
### SourceViewsSchema (const)
|
|
177
|
+
|
|
178
|
+
```typescript
|
|
179
|
+
/**
|
|
180
|
+
* Source-based views for different data origins
|
|
181
|
+
*
|
|
182
|
+
*/
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
```typescript
|
|
186
|
+
SourceViewsSchema = z.object({
|
|
187
|
+
/** Patterns from TypeScript files (.ts) */
|
|
188
|
+
typescript: z.array(ExtractedPatternSchema),
|
|
189
|
+
|
|
190
|
+
/** Patterns from Gherkin feature files (.feature) */
|
|
191
|
+
gherkin: z.array(ExtractedPatternSchema),
|
|
192
|
+
|
|
193
|
+
/** Patterns with phase metadata (roadmap items) */
|
|
194
|
+
roadmap: z.array(ExtractedPatternSchema),
|
|
195
|
+
|
|
196
|
+
/** Patterns with PRD metadata (productArea, userRole, businessValue) */
|
|
197
|
+
prd: z.array(ExtractedPatternSchema),
|
|
198
|
+
});
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
### RelationshipEntrySchema (const)
|
|
202
|
+
|
|
203
|
+
```typescript
|
|
204
|
+
/**
|
|
205
|
+
* Relationship index for dependency tracking
|
|
206
|
+
*
|
|
207
|
+
* Maps pattern names to their relationship metadata.
|
|
208
|
+
*
|
|
209
|
+
*/
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
```typescript
|
|
213
|
+
RelationshipEntrySchema = z.object({
|
|
214
|
+
/** Patterns this pattern uses (from @architect-uses) */
|
|
215
|
+
uses: z.array(z.string()),
|
|
216
|
+
|
|
217
|
+
/** Patterns that use this pattern (from @architect-used-by) */
|
|
218
|
+
usedBy: z.array(z.string()),
|
|
219
|
+
|
|
220
|
+
/** Patterns this pattern depends on (from @architect-depends-on) */
|
|
221
|
+
dependsOn: z.array(z.string()),
|
|
222
|
+
|
|
223
|
+
/** Patterns this pattern enables (from @architect-enables) */
|
|
224
|
+
enables: z.array(z.string()),
|
|
225
|
+
|
|
226
|
+
// UML-inspired relationship fields (PatternRelationshipModel)
|
|
227
|
+
/** Patterns this item implements (realization relationship) */
|
|
228
|
+
implementsPatterns: z.array(z.string()),
|
|
229
|
+
|
|
230
|
+
/** Files/patterns that implement this pattern (computed inverse with file paths) */
|
|
231
|
+
implementedBy: z.array(ImplementationRefSchema),
|
|
232
|
+
|
|
233
|
+
/** Pattern this extends (generalization relationship) */
|
|
234
|
+
extendsPattern: z.string().optional(),
|
|
235
|
+
|
|
236
|
+
/** Patterns that extend this pattern (computed inverse) */
|
|
237
|
+
extendedBy: z.array(z.string()),
|
|
238
|
+
|
|
239
|
+
/** Related patterns for cross-reference without dependency (from @architect-see-also tag) */
|
|
240
|
+
seeAlso: z.array(z.string()),
|
|
241
|
+
|
|
242
|
+
/** File paths to implementation APIs (from @architect-api-ref tag) */
|
|
243
|
+
apiRef: z.array(z.string()),
|
|
244
|
+
});
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
### RuntimeMasterDataset (interface)
|
|
248
|
+
|
|
249
|
+
```typescript
|
|
250
|
+
/**
|
|
251
|
+
* Runtime MasterDataset with optional workflow
|
|
252
|
+
*
|
|
253
|
+
* Extends the Zod-compatible MasterDataset with workflow reference.
|
|
254
|
+
* LoadedWorkflow contains Maps which aren't JSON-serializable,
|
|
255
|
+
* so it's kept separate from the Zod schema.
|
|
256
|
+
*
|
|
257
|
+
*/
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
```typescript
|
|
261
|
+
interface RuntimeMasterDataset extends MasterDataset {
|
|
262
|
+
/** Optional workflow configuration (not serializable) */
|
|
263
|
+
readonly workflow?: LoadedWorkflow;
|
|
264
|
+
}
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
| Property | Description |
|
|
268
|
+
| -------- | -------------------------------------------------- |
|
|
269
|
+
| workflow | Optional workflow configuration (not serializable) |
|
|
270
|
+
|
|
271
|
+
### RawDataset (interface)
|
|
272
|
+
|
|
273
|
+
```typescript
|
|
274
|
+
/**
|
|
275
|
+
* Raw input data for transformation
|
|
276
|
+
*
|
|
277
|
+
*/
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
```typescript
|
|
281
|
+
interface RawDataset {
|
|
282
|
+
/** Extracted patterns from TypeScript and/or Gherkin sources */
|
|
283
|
+
readonly patterns: readonly ExtractedPattern[];
|
|
284
|
+
|
|
285
|
+
/** Tag registry for category lookups */
|
|
286
|
+
readonly tagRegistry: TagRegistry;
|
|
287
|
+
|
|
288
|
+
/** Optional workflow configuration for phase names (can be undefined) */
|
|
289
|
+
readonly workflow?: LoadedWorkflow | undefined;
|
|
290
|
+
|
|
291
|
+
/** Optional rules for inferring bounded context from file paths */
|
|
292
|
+
readonly contextInferenceRules?: readonly ContextInferenceRule[] | undefined;
|
|
293
|
+
}
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
| Property | Description |
|
|
297
|
+
| --------------------- | ------------------------------------------------------------------ |
|
|
298
|
+
| patterns | Extracted patterns from TypeScript and/or Gherkin sources |
|
|
299
|
+
| tagRegistry | Tag registry for category lookups |
|
|
300
|
+
| workflow | Optional workflow configuration for phase names (can be undefined) |
|
|
301
|
+
| contextInferenceRules | Optional rules for inferring bounded context from file paths |
|
|
302
|
+
|
|
303
|
+
### PipelineOptions (interface)
|
|
304
|
+
|
|
305
|
+
```typescript
|
|
306
|
+
/**
|
|
307
|
+
* Options for building a MasterDataset via the shared pipeline.
|
|
308
|
+
*
|
|
309
|
+
* DD-1: Factory lives at src/generators/pipeline/build-pipeline.ts.
|
|
310
|
+
* DD-2: mergeConflictStrategy controls per-consumer conflict handling.
|
|
311
|
+
* DD-3: exclude, contextInferenceRules support future orchestrator
|
|
312
|
+
* migration without breaking changes.
|
|
313
|
+
*
|
|
314
|
+
*/
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
```typescript
|
|
318
|
+
interface PipelineOptions {
|
|
319
|
+
readonly input: readonly string[];
|
|
320
|
+
readonly features: readonly string[];
|
|
321
|
+
readonly baseDir: string;
|
|
322
|
+
readonly mergeConflictStrategy: 'fatal' | 'concatenate';
|
|
323
|
+
readonly exclude?: readonly string[];
|
|
324
|
+
readonly workflowPath?: string;
|
|
325
|
+
readonly contextInferenceRules?: readonly ContextInferenceRule[];
|
|
326
|
+
/** DD-3: When false, skip validation pass (default true). */
|
|
327
|
+
readonly includeValidation?: boolean;
|
|
328
|
+
/** DD-5: When true, return error on individual scan failures (default false). */
|
|
329
|
+
readonly failOnScanErrors?: boolean;
|
|
330
|
+
}
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
| Property | Description |
|
|
334
|
+
| ----------------- | -------------------------------------------------------------------------- |
|
|
335
|
+
| includeValidation | DD-3: When false, skip validation pass (default true). |
|
|
336
|
+
| failOnScanErrors | DD-5: When true, return error on individual scan failures (default false). |
|
|
337
|
+
|
|
338
|
+
### PipelineResult (interface)
|
|
339
|
+
|
|
340
|
+
```typescript
|
|
341
|
+
/**
|
|
342
|
+
* Successful pipeline result containing the dataset and validation summary.
|
|
343
|
+
*
|
|
344
|
+
*/
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
```typescript
|
|
348
|
+
interface PipelineResult {
|
|
349
|
+
readonly dataset: RuntimeMasterDataset;
|
|
350
|
+
readonly validation: ValidationSummary;
|
|
351
|
+
readonly warnings: readonly PipelineWarning[];
|
|
352
|
+
readonly scanMetadata: ScanMetadata;
|
|
353
|
+
}
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
---
|
|
357
|
+
|
|
358
|
+
## Orchestrator Pipeline Responsibilities
|
|
359
|
+
|
|
360
|
+
**Invariant:** The orchestrator is the integration boundary for full docs generation: it delegates dataset construction to the shared pipeline, then executes codecs and writes files.
|
|
361
|
+
|
|
362
|
+
**Rationale:** Splitting orchestration into dataset construction (shared) and output execution (orchestrator-owned) keeps Data API and validation consumers aligned on one read-model path while preserving generator-specific output handling.
|
|
363
|
+
|
|
364
|
+
---
|
|
365
|
+
|
|
366
|
+
## Steps 1-8 via buildMasterDataset()
|
|
367
|
+
|
|
368
|
+
Steps 1-8 (config load, TypeScript/Gherkin scan + extraction, merge, hierarchy
|
|
369
|
+
derivation, workflow load, and `transformToMasterDataset`) are delegated to
|
|
370
|
+
`buildMasterDataset()`.
|
|
371
|
+
|
|
372
|
+
---
|
|
373
|
+
|
|
374
|
+
## Steps 9-10: Codec Execution and File Writing
|
|
375
|
+
|
|
376
|
+
After dataset creation, the orchestrator owns Step 9 (codec execution per generator,
|
|
377
|
+
output rendering, additional file fan-out) and Step 10 (path validation, overwrite
|
|
378
|
+
policy, and persisted file writes).
|
|
379
|
+
|
|
380
|
+
### When to Use
|
|
381
|
+
|
|
382
|
+
- Running complete documentation generation programmatically
|
|
383
|
+
- Integrating doc generation into build scripts
|
|
384
|
+
- Testing the full pipeline without CLI overhead
|
|
385
|
+
|
|
386
|
+
---
|
|
387
|
+
|
|
388
|
+
## Shared Pipeline Factory Responsibilities
|
|
389
|
+
|
|
390
|
+
**Invariant:** `buildMasterDataset()` is the shared factory for Steps 1-8 of the architecture pipeline and returns `Result<PipelineResult, PipelineError>` without process-level side effects.
|
|
391
|
+
|
|
392
|
+
**Rationale:** Centralizing scan/extract/merge/transform flow prevents divergence between CLI consumers and preserves a single ADR-006 read-model path.
|
|
393
|
+
|
|
394
|
+
---
|
|
395
|
+
|
|
396
|
+
## 8-Step Dataset Build Flow
|
|
397
|
+
|
|
398
|
+
The factory owns: configuration load, TypeScript scan + extraction, Gherkin scan +
|
|
399
|
+
extraction, merge conflict handling, hierarchy child derivation, workflow load,
|
|
400
|
+
and `transformToMasterDataset` with validation summary.
|
|
401
|
+
|
|
402
|
+
---
|
|
403
|
+
|
|
404
|
+
## Consumer Architecture and PipelineOptions Differentiation
|
|
405
|
+
|
|
406
|
+
Three consumers share this factory: `process-api`, `validate-patterns`, and the
|
|
407
|
+
generation orchestrator. `PipelineOptions` differentiates behavior by
|
|
408
|
+
`mergeConflictStrategy` (`fatal` vs `concatenate`), `includeValidation` toggles,
|
|
409
|
+
and `failOnScanErrors` policy without forking pipeline logic.
|
|
410
|
+
|
|
411
|
+
### When to Use
|
|
412
|
+
|
|
413
|
+
- Any consumer needs a MasterDataset without rewriting scan/extract/merge flow
|
|
414
|
+
- CLI consumers require differentiated conflict strategy and validation behavior
|
|
415
|
+
- Orchestrator needs a shared steps 1-8 implementation before codec/file execution
|
|
416
|
+
|
|
417
|
+
---
|
|
418
|
+
|
|
419
|
+
## MasterDataset View Fan-out
|
|
420
|
+
|
|
421
|
+
Pre-computed view fan-out from MasterDataset (single-pass transform):
|
|
422
|
+
|
|
423
|
+
```mermaid
|
|
424
|
+
graph TB
|
|
425
|
+
MD[MasterDataset]
|
|
426
|
+
MD --> byStatus["byStatus<br/>(completed / active / planned)"]
|
|
427
|
+
MD --> byPhase["byPhase<br/>(sorted, with counts)"]
|
|
428
|
+
MD --> byQuarter["byQuarter<br/>(keyed by Q-YYYY)"]
|
|
429
|
+
MD --> byCategory["byCategory<br/>(keyed by category name)"]
|
|
430
|
+
MD --> bySource["bySource<br/>(typescript / gherkin / roadmap / prd)"]
|
|
431
|
+
MD --> counts["counts<br/>(aggregate statistics)"]
|
|
432
|
+
MD --> RI["relationshipIndex?<br/>(forward + reverse lookups)"]
|
|
433
|
+
MD --> AI["archIndex?<br/>(role / context / layer / view)"]
|
|
434
|
+
```
|
|
435
|
+
|
|
436
|
+
---
|
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
# Configuration Guide
|
|
2
|
+
|
|
3
|
+
**Purpose:** Reference document: Configuration Guide
|
|
4
|
+
**Detail Level:** Full reference
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Quick Reference
|
|
9
|
+
|
|
10
|
+
| Preset | Tag Prefix | Categories | Use Case |
|
|
11
|
+
| ----------------------------- | ------------- | ---------- | -------------------------------- |
|
|
12
|
+
| **`libar-generic`** (default) | `@architect-` | 3 | Simple projects (this package) |
|
|
13
|
+
| `ddd-es-cqrs` | `@architect-` | 21 | DDD/Event Sourcing architectures |
|
|
14
|
+
|
|
15
|
+
```typescript
|
|
16
|
+
// architect.config.ts
|
|
17
|
+
import { defineConfig } from '@libar-dev/architect/config';
|
|
18
|
+
|
|
19
|
+
// Default: libar-generic preset (simple 3-category taxonomy)
|
|
20
|
+
export default defineConfig({
|
|
21
|
+
preset: 'libar-generic',
|
|
22
|
+
sources: {
|
|
23
|
+
typescript: ['src/**/*.ts'],
|
|
24
|
+
features: ['specs/*.feature'],
|
|
25
|
+
},
|
|
26
|
+
output: { directory: 'docs-generated' },
|
|
27
|
+
});
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Preset Selection
|
|
33
|
+
|
|
34
|
+
### When to Use Each Preset
|
|
35
|
+
|
|
36
|
+
| Preset | Use When | Categories |
|
|
37
|
+
| --------------- | ------------------------------------------------------------ | ---------------------------------------------------------------------------------------- |
|
|
38
|
+
| `libar-generic` | Simple projects, standard `@architect-` prefix | 3 (core, api, infra) |
|
|
39
|
+
| `ddd-es-cqrs` | DDD architecture with bounded contexts, event sourcing, CQRS | 21 (domain, ddd, bounded-context, event-sourcing, decider, cqrs, saga, projection, etc.) |
|
|
40
|
+
|
|
41
|
+
**Design decision:** Presets **replace** the base taxonomy categories entirely (not merged). If you need DDD categories, use the `ddd-es-cqrs` preset.
|
|
42
|
+
|
|
43
|
+
### Default Preset Selection
|
|
44
|
+
|
|
45
|
+
All entry points default to `libar-generic`:
|
|
46
|
+
|
|
47
|
+
| Entry Point | Default Preset | Context |
|
|
48
|
+
| ------------------------------ | ------------------------------ | -------------------------------- |
|
|
49
|
+
| `defineConfig()` | `libar-generic` (3 categories) | Config file |
|
|
50
|
+
| `loadProjectConfig()` fallback | `libar-generic` (3 categories) | CLI tools (no config file found) |
|
|
51
|
+
| This package's config file | `libar-generic` (3 categories) | Standalone package usage |
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Unified Config File
|
|
56
|
+
|
|
57
|
+
The `defineConfig()` function centralizes taxonomy, sources, output, and generator overrides in a single `architect.config.ts` file. CLI tools discover this file automatically.
|
|
58
|
+
|
|
59
|
+
### Discovery Order
|
|
60
|
+
|
|
61
|
+
1. Current directory: check `architect.config.ts`, then `.js`
|
|
62
|
+
2. Walk up to repo root (`.git` folder), checking each directory
|
|
63
|
+
3. Fall back to libar-generic preset (3 categories, `@architect-` prefix)
|
|
64
|
+
|
|
65
|
+
### Config File Format
|
|
66
|
+
|
|
67
|
+
```typescript
|
|
68
|
+
// architect.config.ts
|
|
69
|
+
import { defineConfig } from '@libar-dev/architect/config';
|
|
70
|
+
|
|
71
|
+
export default defineConfig({
|
|
72
|
+
preset: 'libar-generic',
|
|
73
|
+
sources: {
|
|
74
|
+
typescript: ['src/**/*.ts'],
|
|
75
|
+
stubs: ['architect/stubs/**/*.ts'],
|
|
76
|
+
features: ['architect/specs/*.feature'],
|
|
77
|
+
},
|
|
78
|
+
output: {
|
|
79
|
+
directory: 'docs-generated',
|
|
80
|
+
overwrite: true,
|
|
81
|
+
},
|
|
82
|
+
});
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### Sources Configuration
|
|
86
|
+
|
|
87
|
+
| Field | Type | Description |
|
|
88
|
+
| ------------ | ---------- | ---------------------------------------------------- |
|
|
89
|
+
| `typescript` | `string[]` | Glob patterns for TypeScript source files (required) |
|
|
90
|
+
| `features` | `string[]` | Glob patterns for Gherkin feature files |
|
|
91
|
+
| `stubs` | `string[]` | Glob patterns for design stub files |
|
|
92
|
+
| `exclude` | `string[]` | Glob patterns to exclude from all scanning |
|
|
93
|
+
|
|
94
|
+
Stubs are merged into TypeScript sources at resolution time. No parent directory traversal (`..`) is allowed in globs.
|
|
95
|
+
|
|
96
|
+
### Output Configuration
|
|
97
|
+
|
|
98
|
+
| Field | Type | Default | Description |
|
|
99
|
+
| ----------- | --------- | --------------------- | ----------------------------------- |
|
|
100
|
+
| `directory` | `string` | `'docs/architecture'` | Output directory for generated docs |
|
|
101
|
+
| `overwrite` | `boolean` | `false` | Overwrite existing files |
|
|
102
|
+
|
|
103
|
+
### Generator Overrides
|
|
104
|
+
|
|
105
|
+
Some generators need different sources than the base config. Use `generatorOverrides` for per-generator customization:
|
|
106
|
+
|
|
107
|
+
```typescript
|
|
108
|
+
export default defineConfig({
|
|
109
|
+
preset: 'libar-generic',
|
|
110
|
+
sources: {
|
|
111
|
+
typescript: ['src/**/*.ts'],
|
|
112
|
+
features: ['architect/specs/*.feature'],
|
|
113
|
+
},
|
|
114
|
+
output: { directory: 'docs-generated', overwrite: true },
|
|
115
|
+
generatorOverrides: {
|
|
116
|
+
changelog: {
|
|
117
|
+
additionalFeatures: ['architect/decisions/*.feature'],
|
|
118
|
+
},
|
|
119
|
+
'doc-from-decision': {
|
|
120
|
+
replaceFeatures: ['architect/decisions/*.feature'],
|
|
121
|
+
},
|
|
122
|
+
},
|
|
123
|
+
});
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
| Override Field | Description |
|
|
127
|
+
| -------------------- | ---------------------------------------------------- |
|
|
128
|
+
| `additionalFeatures` | Feature globs appended to base features |
|
|
129
|
+
| `additionalInput` | TypeScript globs appended to base TypeScript sources |
|
|
130
|
+
| `replaceFeatures` | Feature globs used INSTEAD of base features |
|
|
131
|
+
| `outputDirectory` | Override output directory for this generator |
|
|
132
|
+
|
|
133
|
+
**Constraint:** `replaceFeatures` and `additionalFeatures` are mutually exclusive when both are non-empty.
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## Monorepo Setup
|
|
138
|
+
|
|
139
|
+
```my-monorepo/ architect.config.ts # Repo-level: ddd-es-cqrs packages/ my-package/ architect.config.ts # Package-level: libar-generic
|
|
140
|
+
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
CLI tools use the nearest config file to the working directory. Each package can have its own preset and source globs.
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## Custom Configuration
|
|
148
|
+
|
|
149
|
+
### Custom Tag Prefix
|
|
150
|
+
|
|
151
|
+
Keep a preset's taxonomy but change the prefix:
|
|
152
|
+
|
|
153
|
+
```typescript
|
|
154
|
+
export default defineConfig({
|
|
155
|
+
preset: 'libar-generic',
|
|
156
|
+
tagPrefix: '@team-',
|
|
157
|
+
fileOptInTag: '@team',
|
|
158
|
+
sources: { typescript: ['src/**/*.ts'] },
|
|
159
|
+
});
|
|
160
|
+
|
|
161
|
+
// Your annotations:
|
|
162
|
+
// /** @team */
|
|
163
|
+
// /** @team-pattern DualSourceExtractor */
|
|
164
|
+
// /** @team-core */
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### Custom Categories
|
|
168
|
+
|
|
169
|
+
Define your own taxonomy:
|
|
170
|
+
|
|
171
|
+
```typescript
|
|
172
|
+
export default defineConfig({
|
|
173
|
+
tagPrefix: '@architect-',
|
|
174
|
+
fileOptInTag: '@architect',
|
|
175
|
+
categories: [
|
|
176
|
+
{ tag: 'scanner', domain: 'Scanner', priority: 1, description: 'File scanning', aliases: [] },
|
|
177
|
+
{
|
|
178
|
+
tag: 'extractor',
|
|
179
|
+
domain: 'Extractor',
|
|
180
|
+
priority: 2,
|
|
181
|
+
description: 'Pattern extraction',
|
|
182
|
+
aliases: [],
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
tag: 'generator',
|
|
186
|
+
domain: 'Generator',
|
|
187
|
+
priority: 3,
|
|
188
|
+
description: 'Doc generation',
|
|
189
|
+
aliases: [],
|
|
190
|
+
},
|
|
191
|
+
],
|
|
192
|
+
sources: { typescript: ['src/**/*.ts'] },
|
|
193
|
+
});
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
## Programmatic Config Loading
|
|
199
|
+
|
|
200
|
+
For tools that need to load configuration files:
|
|
201
|
+
|
|
202
|
+
```typescript
|
|
203
|
+
import { loadProjectConfig } from '@libar-dev/architect/config';
|
|
204
|
+
|
|
205
|
+
const result = await loadProjectConfig(process.cwd());
|
|
206
|
+
|
|
207
|
+
if (!result.ok) {
|
|
208
|
+
console.error(result.error.message);
|
|
209
|
+
process.exit(1);
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
const resolved = result.value;
|
|
213
|
+
// resolved.instance - ArchitectInstance (registry + regexBuilders)
|
|
214
|
+
// resolved.project - ResolvedProjectConfig (sources, output, generators)
|
|
215
|
+
// resolved.isDefault - true if no config file found
|
|
216
|
+
// resolved.configPath - config file path (if found)
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
For per-generator source resolution:
|
|
220
|
+
|
|
221
|
+
```typescript
|
|
222
|
+
import { mergeSourcesForGenerator } from '@libar-dev/architect/config';
|
|
223
|
+
|
|
224
|
+
const effectiveSources = mergeSourcesForGenerator(
|
|
225
|
+
resolved.project.sources,
|
|
226
|
+
'changelog',
|
|
227
|
+
resolved.project.generatorOverrides
|
|
228
|
+
);
|
|
229
|
+
// effectiveSources.typescript - merged TypeScript globs
|
|
230
|
+
// effectiveSources.features - merged or replaced feature globs
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
---
|
|
234
|
+
|
|
235
|
+
---
|