@devtrack-solution/codesdd 1.2.2
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/.sdd/skills/curated/api-clean-flask-langgraph/SKILL.md +2751 -0
- package/.sdd/skills/curated/devtrack-api/SKILL.md +137 -0
- package/.sdd/skills/curated/devtrack-api/agents/openai.yaml +4 -0
- package/.sdd/skills/curated/devtrack-api/references/application-presentation.md +381 -0
- package/.sdd/skills/curated/devtrack-api/references/architecture-governance.md +219 -0
- package/.sdd/skills/curated/devtrack-api/references/domain-modeling.md +359 -0
- package/.sdd/skills/curated/devtrack-api/references/implementation-checklist.md +127 -0
- package/.sdd/skills/curated/devtrack-api/references/imports-lint.md +207 -0
- package/.sdd/skills/curated/devtrack-api/references/testing-validation.md +167 -0
- package/.sdd/skills/curated/devtrack-api/references/typeorm-infrastructure.md +334 -0
- package/LICENSE +21 -0
- package/README.md +842 -0
- package/bin/codesdd.js +10 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.js +560 -0
- package/dist/commands/change.d.ts +35 -0
- package/dist/commands/change.js +296 -0
- package/dist/commands/completion.d.ts +72 -0
- package/dist/commands/completion.js +258 -0
- package/dist/commands/config.d.ts +36 -0
- package/dist/commands/config.js +552 -0
- package/dist/commands/feedback.d.ts +9 -0
- package/dist/commands/feedback.js +184 -0
- package/dist/commands/schema.d.ts +6 -0
- package/dist/commands/schema.js +870 -0
- package/dist/commands/sdd/execution.d.ts +3 -0
- package/dist/commands/sdd/execution.js +409 -0
- package/dist/commands/sdd/shared.d.ts +9 -0
- package/dist/commands/sdd/shared.js +84 -0
- package/dist/commands/sdd/skills.d.ts +3 -0
- package/dist/commands/sdd/skills.js +154 -0
- package/dist/commands/sdd.d.ts +3 -0
- package/dist/commands/sdd.js +769 -0
- package/dist/commands/show.d.ts +14 -0
- package/dist/commands/show.js +133 -0
- package/dist/commands/spec.d.ts +15 -0
- package/dist/commands/spec.js +228 -0
- package/dist/commands/validate.d.ts +24 -0
- package/dist/commands/validate.js +295 -0
- package/dist/commands/workflow/index.d.ts +17 -0
- package/dist/commands/workflow/index.js +12 -0
- package/dist/commands/workflow/instructions.d.ts +29 -0
- package/dist/commands/workflow/instructions.js +383 -0
- package/dist/commands/workflow/new-change.d.ts +11 -0
- package/dist/commands/workflow/new-change.js +45 -0
- package/dist/commands/workflow/schemas.d.ts +10 -0
- package/dist/commands/workflow/schemas.js +34 -0
- package/dist/commands/workflow/shared.d.ts +57 -0
- package/dist/commands/workflow/shared.js +117 -0
- package/dist/commands/workflow/status.d.ts +14 -0
- package/dist/commands/workflow/status.js +76 -0
- package/dist/commands/workflow/templates.d.ts +16 -0
- package/dist/commands/workflow/templates.js +68 -0
- package/dist/core/archive.d.ts +16 -0
- package/dist/core/archive.js +487 -0
- package/dist/core/artifact-graph/graph.d.ts +56 -0
- package/dist/core/artifact-graph/graph.js +141 -0
- package/dist/core/artifact-graph/index.d.ts +7 -0
- package/dist/core/artifact-graph/index.js +13 -0
- package/dist/core/artifact-graph/instruction-loader.d.ts +143 -0
- package/dist/core/artifact-graph/instruction-loader.js +215 -0
- package/dist/core/artifact-graph/resolver.d.ts +81 -0
- package/dist/core/artifact-graph/resolver.js +258 -0
- package/dist/core/artifact-graph/schema.d.ts +13 -0
- package/dist/core/artifact-graph/schema.js +108 -0
- package/dist/core/artifact-graph/state.d.ts +12 -0
- package/dist/core/artifact-graph/state.js +54 -0
- package/dist/core/artifact-graph/types.d.ts +45 -0
- package/dist/core/artifact-graph/types.js +43 -0
- package/dist/core/available-tools.d.ts +16 -0
- package/dist/core/available-tools.js +30 -0
- package/dist/core/branding.d.ts +8 -0
- package/dist/core/branding.js +12 -0
- package/dist/core/cli/command-matrix.d.ts +23 -0
- package/dist/core/cli/command-matrix.js +123 -0
- package/dist/core/command-generation/adapters/amazon-q.d.ts +13 -0
- package/dist/core/command-generation/adapters/amazon-q.js +26 -0
- package/dist/core/command-generation/adapters/antigravity.d.ts +13 -0
- package/dist/core/command-generation/adapters/antigravity.js +26 -0
- package/dist/core/command-generation/adapters/auggie.d.ts +13 -0
- package/dist/core/command-generation/adapters/auggie.js +27 -0
- package/dist/core/command-generation/adapters/claude.d.ts +13 -0
- package/dist/core/command-generation/adapters/claude.js +50 -0
- package/dist/core/command-generation/adapters/cline.d.ts +14 -0
- package/dist/core/command-generation/adapters/cline.js +27 -0
- package/dist/core/command-generation/adapters/codebuddy.d.ts +13 -0
- package/dist/core/command-generation/adapters/codebuddy.js +28 -0
- package/dist/core/command-generation/adapters/codex.d.ts +16 -0
- package/dist/core/command-generation/adapters/codex.js +39 -0
- package/dist/core/command-generation/adapters/continue.d.ts +13 -0
- package/dist/core/command-generation/adapters/continue.js +28 -0
- package/dist/core/command-generation/adapters/costrict.d.ts +13 -0
- package/dist/core/command-generation/adapters/costrict.js +27 -0
- package/dist/core/command-generation/adapters/crush.d.ts +13 -0
- package/dist/core/command-generation/adapters/crush.js +30 -0
- package/dist/core/command-generation/adapters/cursor.d.ts +14 -0
- package/dist/core/command-generation/adapters/cursor.js +44 -0
- package/dist/core/command-generation/adapters/factory.d.ts +13 -0
- package/dist/core/command-generation/adapters/factory.js +27 -0
- package/dist/core/command-generation/adapters/gemini.d.ts +13 -0
- package/dist/core/command-generation/adapters/gemini.js +26 -0
- package/dist/core/command-generation/adapters/github-copilot.d.ts +13 -0
- package/dist/core/command-generation/adapters/github-copilot.js +26 -0
- package/dist/core/command-generation/adapters/iflow.d.ts +13 -0
- package/dist/core/command-generation/adapters/iflow.js +29 -0
- package/dist/core/command-generation/adapters/index.d.ts +29 -0
- package/dist/core/command-generation/adapters/index.js +29 -0
- package/dist/core/command-generation/adapters/kilocode.d.ts +14 -0
- package/dist/core/command-generation/adapters/kilocode.js +23 -0
- package/dist/core/command-generation/adapters/kiro.d.ts +13 -0
- package/dist/core/command-generation/adapters/kiro.js +26 -0
- package/dist/core/command-generation/adapters/opencode.d.ts +13 -0
- package/dist/core/command-generation/adapters/opencode.js +29 -0
- package/dist/core/command-generation/adapters/pi.d.ts +14 -0
- package/dist/core/command-generation/adapters/pi.js +41 -0
- package/dist/core/command-generation/adapters/qoder.d.ts +13 -0
- package/dist/core/command-generation/adapters/qoder.js +30 -0
- package/dist/core/command-generation/adapters/qwen.d.ts +13 -0
- package/dist/core/command-generation/adapters/qwen.js +26 -0
- package/dist/core/command-generation/adapters/roocode.d.ts +14 -0
- package/dist/core/command-generation/adapters/roocode.js +27 -0
- package/dist/core/command-generation/adapters/windsurf.d.ts +14 -0
- package/dist/core/command-generation/adapters/windsurf.js +51 -0
- package/dist/core/command-generation/generator.d.ts +21 -0
- package/dist/core/command-generation/generator.js +27 -0
- package/dist/core/command-generation/index.d.ts +22 -0
- package/dist/core/command-generation/index.js +24 -0
- package/dist/core/command-generation/registry.d.ts +36 -0
- package/dist/core/command-generation/registry.js +92 -0
- package/dist/core/command-generation/types.d.ts +56 -0
- package/dist/core/command-generation/types.js +8 -0
- package/dist/core/completions/command-registry.d.ts +7 -0
- package/dist/core/completions/command-registry.js +461 -0
- package/dist/core/completions/completion-provider.d.ts +60 -0
- package/dist/core/completions/completion-provider.js +102 -0
- package/dist/core/completions/factory.d.ts +64 -0
- package/dist/core/completions/factory.js +75 -0
- package/dist/core/completions/generators/bash-generator.d.ts +32 -0
- package/dist/core/completions/generators/bash-generator.js +174 -0
- package/dist/core/completions/generators/fish-generator.d.ts +32 -0
- package/dist/core/completions/generators/fish-generator.js +157 -0
- package/dist/core/completions/generators/powershell-generator.d.ts +33 -0
- package/dist/core/completions/generators/powershell-generator.js +207 -0
- package/dist/core/completions/generators/zsh-generator.d.ts +44 -0
- package/dist/core/completions/generators/zsh-generator.js +250 -0
- package/dist/core/completions/installers/bash-installer.d.ts +87 -0
- package/dist/core/completions/installers/bash-installer.js +318 -0
- package/dist/core/completions/installers/fish-installer.d.ts +43 -0
- package/dist/core/completions/installers/fish-installer.js +143 -0
- package/dist/core/completions/installers/powershell-installer.d.ts +88 -0
- package/dist/core/completions/installers/powershell-installer.js +327 -0
- package/dist/core/completions/installers/zsh-installer.d.ts +125 -0
- package/dist/core/completions/installers/zsh-installer.js +452 -0
- package/dist/core/completions/templates/bash-templates.d.ts +6 -0
- package/dist/core/completions/templates/bash-templates.js +24 -0
- package/dist/core/completions/templates/fish-templates.d.ts +7 -0
- package/dist/core/completions/templates/fish-templates.js +39 -0
- package/dist/core/completions/templates/powershell-templates.d.ts +6 -0
- package/dist/core/completions/templates/powershell-templates.js +25 -0
- package/dist/core/completions/templates/zsh-templates.d.ts +6 -0
- package/dist/core/completions/templates/zsh-templates.js +36 -0
- package/dist/core/completions/types.d.ts +79 -0
- package/dist/core/completions/types.js +2 -0
- package/dist/core/config-prompts.d.ts +9 -0
- package/dist/core/config-prompts.js +34 -0
- package/dist/core/config-schema.d.ts +86 -0
- package/dist/core/config-schema.js +213 -0
- package/dist/core/config.d.ts +17 -0
- package/dist/core/config.js +33 -0
- package/dist/core/converters/json-converter.d.ts +6 -0
- package/dist/core/converters/json-converter.js +51 -0
- package/dist/core/global-config.d.ts +44 -0
- package/dist/core/global-config.js +125 -0
- package/dist/core/index.d.ts +2 -0
- package/dist/core/index.js +3 -0
- package/dist/core/init.d.ts +36 -0
- package/dist/core/init.js +576 -0
- package/dist/core/legacy-cleanup.d.ts +162 -0
- package/dist/core/legacy-cleanup.js +512 -0
- package/dist/core/list.d.ts +9 -0
- package/dist/core/list.js +173 -0
- package/dist/core/migration.d.ts +23 -0
- package/dist/core/migration.js +108 -0
- package/dist/core/parsers/change-parser.d.ts +13 -0
- package/dist/core/parsers/change-parser.js +193 -0
- package/dist/core/parsers/markdown-parser.d.ts +22 -0
- package/dist/core/parsers/markdown-parser.js +187 -0
- package/dist/core/parsers/requirement-blocks.d.ts +37 -0
- package/dist/core/parsers/requirement-blocks.js +201 -0
- package/dist/core/profile-sync-drift.d.ts +38 -0
- package/dist/core/profile-sync-drift.js +201 -0
- package/dist/core/profiles.d.ts +26 -0
- package/dist/core/profiles.js +41 -0
- package/dist/core/project-config.d.ts +64 -0
- package/dist/core/project-config.js +223 -0
- package/dist/core/schemas/base.schema.d.ts +13 -0
- package/dist/core/schemas/base.schema.js +13 -0
- package/dist/core/schemas/change.schema.d.ts +73 -0
- package/dist/core/schemas/change.schema.js +31 -0
- package/dist/core/schemas/index.d.ts +4 -0
- package/dist/core/schemas/index.js +4 -0
- package/dist/core/schemas/spec.schema.d.ts +18 -0
- package/dist/core/schemas/spec.schema.js +15 -0
- package/dist/core/sdd/adr-policy.d.ts +7 -0
- package/dist/core/sdd/adr-policy.js +47 -0
- package/dist/core/sdd/adr.d.ts +4 -0
- package/dist/core/sdd/adr.js +27 -0
- package/dist/core/sdd/bootstrap.d.ts +28 -0
- package/dist/core/sdd/bootstrap.js +353 -0
- package/dist/core/sdd/check.d.ts +51 -0
- package/dist/core/sdd/check.js +831 -0
- package/dist/core/sdd/coordination/coordination-adapters.d.ts +73 -0
- package/dist/core/sdd/coordination/coordination-adapters.js +87 -0
- package/dist/core/sdd/coordination/index.d.ts +2 -0
- package/dist/core/sdd/coordination/index.js +2 -0
- package/dist/core/sdd/dedup.d.ts +23 -0
- package/dist/core/sdd/dedup.js +62 -0
- package/dist/core/sdd/default-bootstrap-files.d.ts +23 -0
- package/dist/core/sdd/default-bootstrap-files.js +385 -0
- package/dist/core/sdd/default-skills.d.ts +16 -0
- package/dist/core/sdd/default-skills.js +427 -0
- package/dist/core/sdd/diagnose.d.ts +25 -0
- package/dist/core/sdd/diagnose.js +1312 -0
- package/dist/core/sdd/docs-sync.d.ts +21 -0
- package/dist/core/sdd/docs-sync.js +231 -0
- package/dist/core/sdd/domain/helpers.d.ts +6 -0
- package/dist/core/sdd/domain/helpers.js +37 -0
- package/dist/core/sdd/domain/lifecycle-guardrails.d.ts +22 -0
- package/dist/core/sdd/domain/lifecycle-guardrails.js +31 -0
- package/dist/core/sdd/domain/lifecycle-hooks.d.ts +16 -0
- package/dist/core/sdd/domain/lifecycle-hooks.js +27 -0
- package/dist/core/sdd/domain/post-active-validation.d.ts +15 -0
- package/dist/core/sdd/domain/post-active-validation.js +71 -0
- package/dist/core/sdd/domain/traceability.d.ts +8 -0
- package/dist/core/sdd/domain/traceability.js +83 -0
- package/dist/core/sdd/domain/transition-engine.d.ts +49 -0
- package/dist/core/sdd/domain/transition-engine.js +120 -0
- package/dist/core/sdd/fingerprint.d.ts +23 -0
- package/dist/core/sdd/fingerprint.js +146 -0
- package/dist/core/sdd/import-openspec.d.ts +31 -0
- package/dist/core/sdd/import-openspec.js +232 -0
- package/dist/core/sdd/init.d.ts +36 -0
- package/dist/core/sdd/init.js +65 -0
- package/dist/core/sdd/json-schema.d.ts +6 -0
- package/dist/core/sdd/json-schema.js +59 -0
- package/dist/core/sdd/legacy-operations.d.ts +286 -0
- package/dist/core/sdd/legacy-operations.js +2175 -0
- package/dist/core/sdd/lenses.d.ts +14 -0
- package/dist/core/sdd/lenses.js +97 -0
- package/dist/core/sdd/merge-catalog.d.ts +9 -0
- package/dist/core/sdd/merge-catalog.js +70 -0
- package/dist/core/sdd/migrate-workspace.d.ts +36 -0
- package/dist/core/sdd/migrate-workspace.js +344 -0
- package/dist/core/sdd/migrate.d.ts +24 -0
- package/dist/core/sdd/migrate.js +385 -0
- package/dist/core/sdd/resolve-project-root.d.ts +15 -0
- package/dist/core/sdd/resolve-project-root.js +46 -0
- package/dist/core/sdd/root-resolver.d.ts +16 -0
- package/dist/core/sdd/root-resolver.js +62 -0
- package/dist/core/sdd/sanitize.d.ts +35 -0
- package/dist/core/sdd/sanitize.js +750 -0
- package/dist/core/sdd/services/approve.service.d.ts +20 -0
- package/dist/core/sdd/services/approve.service.js +82 -0
- package/dist/core/sdd/services/audit.service.d.ts +53 -0
- package/dist/core/sdd/services/audit.service.js +136 -0
- package/dist/core/sdd/services/breakdown.service.d.ts +35 -0
- package/dist/core/sdd/services/breakdown.service.js +185 -0
- package/dist/core/sdd/services/context.service.d.ts +346 -0
- package/dist/core/sdd/services/context.service.js +278 -0
- package/dist/core/sdd/services/debate.service.d.ts +16 -0
- package/dist/core/sdd/services/debate.service.js +73 -0
- package/dist/core/sdd/services/decide.service.d.ts +23 -0
- package/dist/core/sdd/services/decide.service.js +81 -0
- package/dist/core/sdd/services/dedup-apply.service.d.ts +39 -0
- package/dist/core/sdd/services/dedup-apply.service.js +259 -0
- package/dist/core/sdd/services/feature-lint.service.d.ts +29 -0
- package/dist/core/sdd/services/feature-lint.service.js +146 -0
- package/dist/core/sdd/services/finalize.service.d.ts +33 -0
- package/dist/core/sdd/services/finalize.service.js +707 -0
- package/dist/core/sdd/services/frontend-gap.service.d.ts +23 -0
- package/dist/core/sdd/services/frontend-gap.service.js +117 -0
- package/dist/core/sdd/services/frontend-impact.service.d.ts +19 -0
- package/dist/core/sdd/services/frontend-impact.service.js +46 -0
- package/dist/core/sdd/services/ingest-deposito.service.d.ts +32 -0
- package/dist/core/sdd/services/ingest-deposito.service.js +231 -0
- package/dist/core/sdd/services/insight.service.d.ts +21 -0
- package/dist/core/sdd/services/insight.service.js +81 -0
- package/dist/core/sdd/services/legacy-capability.service.d.ts +24 -0
- package/dist/core/sdd/services/legacy-capability.service.js +59 -0
- package/dist/core/sdd/services/mcp-runtime.service.d.ts +42 -0
- package/dist/core/sdd/services/mcp-runtime.service.js +144 -0
- package/dist/core/sdd/services/metrics.service.d.ts +49 -0
- package/dist/core/sdd/services/metrics.service.js +181 -0
- package/dist/core/sdd/services/next.service.d.ts +35 -0
- package/dist/core/sdd/services/next.service.js +54 -0
- package/dist/core/sdd/services/onboard.service.d.ts +9 -0
- package/dist/core/sdd/services/onboard.service.js +165 -0
- package/dist/core/sdd/services/rebuild.service.d.ts +31 -0
- package/dist/core/sdd/services/rebuild.service.js +482 -0
- package/dist/core/sdd/services/scan-naming.service.d.ts +43 -0
- package/dist/core/sdd/services/scan-naming.service.js +246 -0
- package/dist/core/sdd/services/skills-invoke.service.d.ts +24 -0
- package/dist/core/sdd/services/skills-invoke.service.js +63 -0
- package/dist/core/sdd/services/skills-sync.service.d.ts +15 -0
- package/dist/core/sdd/services/skills-sync.service.js +117 -0
- package/dist/core/sdd/services/start.service.d.ts +26 -0
- package/dist/core/sdd/services/start.service.js +237 -0
- package/dist/core/sdd/skills.d.ts +15 -0
- package/dist/core/sdd/skills.js +46 -0
- package/dist/core/sdd/state-lock.d.ts +19 -0
- package/dist/core/sdd/state-lock.js +144 -0
- package/dist/core/sdd/state.d.ts +155 -0
- package/dist/core/sdd/state.js +1000 -0
- package/dist/core/sdd/store/in-memory-adapter.d.ts +12 -0
- package/dist/core/sdd/store/in-memory-adapter.js +27 -0
- package/dist/core/sdd/store/index.d.ts +5 -0
- package/dist/core/sdd/store/index.js +5 -0
- package/dist/core/sdd/store/sdd-stores.d.ts +25 -0
- package/dist/core/sdd/store/sdd-stores.js +59 -0
- package/dist/core/sdd/store/state-store.d.ts +32 -0
- package/dist/core/sdd/store/state-store.js +2 -0
- package/dist/core/sdd/store/yaml-file-adapter.d.ts +12 -0
- package/dist/core/sdd/store/yaml-file-adapter.js +43 -0
- package/dist/core/sdd/structural-health.d.ts +557 -0
- package/dist/core/sdd/structural-health.js +187 -0
- package/dist/core/sdd/transaction.d.ts +14 -0
- package/dist/core/sdd/transaction.js +100 -0
- package/dist/core/sdd/types.d.ts +1570 -0
- package/dist/core/sdd/types.js +617 -0
- package/dist/core/sdd/views.d.ts +3 -0
- package/dist/core/sdd/views.js +560 -0
- package/dist/core/sdd/workspace-schemas.d.ts +620 -0
- package/dist/core/sdd/workspace-schemas.js +254 -0
- package/dist/core/sdd/write-manifest.d.ts +25 -0
- package/dist/core/sdd/write-manifest.js +353 -0
- package/dist/core/shared/index.d.ts +8 -0
- package/dist/core/shared/index.js +8 -0
- package/dist/core/shared/skill-generation.d.ts +49 -0
- package/dist/core/shared/skill-generation.js +106 -0
- package/dist/core/shared/tool-detection.d.ts +71 -0
- package/dist/core/shared/tool-detection.js +158 -0
- package/dist/core/specs-apply.d.ts +73 -0
- package/dist/core/specs-apply.js +385 -0
- package/dist/core/styles/palette.d.ts +7 -0
- package/dist/core/styles/palette.js +8 -0
- package/dist/core/templates/index.d.ts +8 -0
- package/dist/core/templates/index.js +9 -0
- package/dist/core/templates/skill-templates.d.ts +20 -0
- package/dist/core/templates/skill-templates.js +19 -0
- package/dist/core/templates/types.d.ts +19 -0
- package/dist/core/templates/types.js +5 -0
- package/dist/core/templates/workflows/apply-change.d.ts +10 -0
- package/dist/core/templates/workflows/apply-change.js +308 -0
- package/dist/core/templates/workflows/archive-change.d.ts +10 -0
- package/dist/core/templates/workflows/archive-change.js +277 -0
- package/dist/core/templates/workflows/bulk-archive-change.d.ts +10 -0
- package/dist/core/templates/workflows/bulk-archive-change.js +502 -0
- package/dist/core/templates/workflows/continue-change.d.ts +10 -0
- package/dist/core/templates/workflows/continue-change.js +232 -0
- package/dist/core/templates/workflows/explore.d.ts +10 -0
- package/dist/core/templates/workflows/explore.js +475 -0
- package/dist/core/templates/workflows/feedback.d.ts +9 -0
- package/dist/core/templates/workflows/feedback.js +108 -0
- package/dist/core/templates/workflows/ff-change.d.ts +10 -0
- package/dist/core/templates/workflows/ff-change.js +206 -0
- package/dist/core/templates/workflows/new-change.d.ts +10 -0
- package/dist/core/templates/workflows/new-change.js +151 -0
- package/dist/core/templates/workflows/onboard.d.ts +10 -0
- package/dist/core/templates/workflows/onboard.js +573 -0
- package/dist/core/templates/workflows/propose.d.ts +10 -0
- package/dist/core/templates/workflows/propose.js +224 -0
- package/dist/core/templates/workflows/sdd.d.ts +10 -0
- package/dist/core/templates/workflows/sdd.js +107 -0
- package/dist/core/templates/workflows/sync-specs.d.ts +10 -0
- package/dist/core/templates/workflows/sync-specs.js +286 -0
- package/dist/core/templates/workflows/verify-change.d.ts +10 -0
- package/dist/core/templates/workflows/verify-change.js +346 -0
- package/dist/core/update.d.ts +77 -0
- package/dist/core/update.js +538 -0
- package/dist/core/validation/constants.d.ts +34 -0
- package/dist/core/validation/constants.js +40 -0
- package/dist/core/validation/types.d.ts +18 -0
- package/dist/core/validation/types.js +2 -0
- package/dist/core/validation/validator.d.ts +33 -0
- package/dist/core/validation/validator.js +409 -0
- package/dist/core/view.d.ts +8 -0
- package/dist/core/view.js +170 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +3 -0
- package/dist/prompts/searchable-multi-select.d.ts +28 -0
- package/dist/prompts/searchable-multi-select.js +159 -0
- package/dist/telemetry/config.d.ts +32 -0
- package/dist/telemetry/config.js +68 -0
- package/dist/telemetry/index.d.ts +44 -0
- package/dist/telemetry/index.js +207 -0
- package/dist/ui/ascii-patterns.d.ts +16 -0
- package/dist/ui/ascii-patterns.js +133 -0
- package/dist/ui/welcome-screen.d.ts +10 -0
- package/dist/ui/welcome-screen.js +146 -0
- package/dist/utils/change-metadata.d.ts +51 -0
- package/dist/utils/change-metadata.js +147 -0
- package/dist/utils/change-utils.d.ts +62 -0
- package/dist/utils/change-utils.js +121 -0
- package/dist/utils/command-references.d.ts +18 -0
- package/dist/utils/command-references.js +20 -0
- package/dist/utils/file-system.d.ts +36 -0
- package/dist/utils/file-system.js +281 -0
- package/dist/utils/index.d.ts +6 -0
- package/dist/utils/index.js +9 -0
- package/dist/utils/interactive.d.ts +18 -0
- package/dist/utils/interactive.js +21 -0
- package/dist/utils/item-discovery.d.ts +4 -0
- package/dist/utils/item-discovery.js +73 -0
- package/dist/utils/match.d.ts +3 -0
- package/dist/utils/match.js +22 -0
- package/dist/utils/openspec-compat.d.ts +2 -0
- package/dist/utils/openspec-compat.js +2 -0
- package/dist/utils/shell-detection.d.ts +20 -0
- package/dist/utils/shell-detection.js +41 -0
- package/dist/utils/task-progress.d.ts +8 -0
- package/dist/utils/task-progress.js +36 -0
- package/package.json +111 -0
- package/schemas/sdd/1-spec.schema.json +221 -0
- package/schemas/sdd/2-plan.schema.json +199 -0
- package/schemas/sdd/3-tasks.schema.json +102 -0
- package/schemas/sdd/4-changelog.schema.json +55 -0
- package/schemas/sdd/5-quality.schema.json +427 -0
- package/schemas/sdd/workspace-catalog.schema.json +1012 -0
- package/schemas/spec-driven/schema.yaml +153 -0
- package/schemas/spec-driven/templates/design.md +19 -0
- package/schemas/spec-driven/templates/proposal.md +23 -0
- package/schemas/spec-driven/templates/spec.md +8 -0
- package/schemas/spec-driven/templates/tasks.md +9 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { SkillCatalogState } from './types.js';
|
|
2
|
+
export interface BuiltInSkillSourceTree {
|
|
3
|
+
kind: 'source-tree';
|
|
4
|
+
sourceRoot: string;
|
|
5
|
+
}
|
|
6
|
+
export type BuiltInSkillTree = Record<string, string>;
|
|
7
|
+
export type BuiltInSkillDefinition = string | BuiltInSkillTree | BuiltInSkillSourceTree;
|
|
8
|
+
export declare const DEFAULT_CURATED_SKILL_CATALOG: SkillCatalogState;
|
|
9
|
+
export declare const SOURCE_INTAKE_SDD_SKILL_MD = "---\nname: source-intake-sdd\ndescription: Reads the .sdd/sources folder, indexes raw sources, and classifies project intake material.\n---\n\n# Source Intake SDD\n\nUse this skill when the project has raw material in `.sdd/sources/`.\n\n## Objective\n\nTurn a heterogeneous document set into a traceable operational inventory.\n\n## Where To Look\n\n- `.sdd/sources/prds/`\n- `.sdd/sources/rfcs/`\n- `.sdd/sources/briefings/`\n- `.sdd/sources/stories/`\n- `.sdd/sources/wireframes/`\n- `.sdd/sources/html-mocks/`\n- `.sdd/sources/visual-references/`\n- `.sdd/sources/interviews/`\n- `.sdd/sources/attachments/`\n- `.sdd/sources/legacy/`\n\n## Required Flow\n\n1. List existing sources.\n2. Classify each source by type.\n3. Register/update `.sdd/state/source-index.yaml`.\n4. Fill for each item:\n - `type`\n - `path`\n - `title`\n - `status`\n - `summary`\n - `used_by`\n - `consolidation_targets`\n5. Do not generate backlog directly in this step.\n\n## Golden Rule\n\n- Raw source is not canonical source.\n- The goal here is inventory and classification.\n- Backlog is created only after semantic normalization.\n";
|
|
10
|
+
export declare const BUSINESS_EXTRACTOR_SDD_SKILL_MD = "---\nname: business-extractor-sdd\ndescription: Extracts stories, business rules, actors, integrations, and constraints from source material.\n---\n\n# Business Extractor SDD\n\nUse this skill when the repository already has PRDs, briefings, stories, or consolidated documents.\n\n## Expected Outputs\n\n- canonical context updates:\n - `.sdd/state/architecture.yaml`\n - `.sdd/state/service-catalog.yaml`\n - `.sdd/state/tech-stack.yaml`\n - `.sdd/state/integration-contracts.yaml`\n- suggestions for:\n - EPICs\n - FEATs\n - INSIGHTs only when real ambiguity exists\n\n## How To Decide The Destination\n\n- If the excerpt describes system structure, consolidate it into context.\n- If the excerpt is a large approved decision, normalize it into an EPIC.\n- If the excerpt is already clear and executable, normalize it into a FEAT.\n- If the excerpt is ambiguous, contradictory, or incomplete, normalize it into an INSIGHT.\n\n## Do Not\n\n- Do not turn an entire PRD into a direct task list.\n- Do not invent technical details that are not present in the source.\n";
|
|
11
|
+
export declare const FRONTEND_EXTRACTOR_SDD_SKILL_MD = "---\nname: frontend-extractor-sdd\ndescription: Extracts frontend surfaces, routes, components, gaps, and decisions from images, HTML, wireframes, and references.\n---\n\n# Frontend Extractor SDD\n\nUse this skill when visual inspiration or UI/UX definitions exist in `.sdd/sources/`.\n\n## Accepted Sources\n\n- wireframes\n- screenshots\n- reference images\n- mocked HTML\n- stories with interface impact\n\n## Expected Outputs\n\n- `.sdd/state/frontend-map.yaml`\n- `.sdd/state/frontend-gaps.yaml`\n- `.sdd/state/frontend-decisions.yaml`\n\n## Classification Criteria\n\n- What is clearly defined as a screen/route goes into frontend-map.\n- What is missing but necessary to cover the journey goes into frontend-gaps.\n- UX rationale, navigation, layout, patterns, and inspiration go into frontend-decisions.\n- If a surface is well-defined and executable, it can become a FEAT.\n";
|
|
12
|
+
export declare const PLANNING_NORMALIZER_SDD_SKILL_MD = "---\nname: planning-normalizer-sdd\ndescription: Converts extracted source material into the SDD operational backlog, prioritizing context, EPICs, and FEATs.\n---\n\n# Planning Normalizer SDD\n\nUse this skill after inventorying sources and extracting business/frontend context.\n\n## Mission\n\nTurn consolidated knowledge into operational SDD artifacts.\n\n## Normalization Order\n\n1. canonical context\n2. EPICs\n3. FEATs\n4. INSIGHTs only for exceptions\n\n## Rules\n\n- Do not force debate when the source is already consolidated and unambiguous.\n- Use debate only for uncertainty, conflict, ambiguity, or open architecture options.\n- Connect FEATs with `blocked_by`, `lock_domains`, `produces`, and `consumes` when enough evidence exists.\n- Record in `.sdd/state/source-index.yaml` which sources generated each EPIC/FEAT.\n\n## Minimum Result\n\nAt the end, the agent must be able to answer:\n- what is system context;\n- what is already approved for planning;\n- what can enter execution now.\n";
|
|
13
|
+
export declare function buildCuratedBundlesMarkdown(): string;
|
|
14
|
+
export declare const REPO_CONTEXT_BOOTSTRAP_SKILL_MD: string;
|
|
15
|
+
export declare const BUILT_IN_SDD_SKILLS: Record<string, BuiltInSkillDefinition>;
|
|
16
|
+
//# sourceMappingURL=default-skills.d.ts.map
|
|
@@ -0,0 +1,427 @@
|
|
|
1
|
+
import { CLI_NAME } from '../branding.js';
|
|
2
|
+
const DEFAULT_TOOLS = ['codex', 'cursor', 'claude', 'gemini'];
|
|
3
|
+
const DEFAULT_SOURCE_REPO = 'https://github.com/sickn33/antigravity-awesome-skills';
|
|
4
|
+
const LOCAL_SDD_SKILL_PATHS = {
|
|
5
|
+
'api-clean-flask-langgraph': '.sdd/skills/curated/api-clean-flask-langgraph/SKILL.md',
|
|
6
|
+
'devtrack-api': '.sdd/skills/curated/devtrack-api/SKILL.md',
|
|
7
|
+
'source-intake-sdd': '.sdd/skills/curated/source-intake-sdd/SKILL.md',
|
|
8
|
+
'business-extractor-sdd': '.sdd/skills/curated/business-extractor-sdd/SKILL.md',
|
|
9
|
+
'frontend-extractor-sdd': '.sdd/skills/curated/frontend-extractor-sdd/SKILL.md',
|
|
10
|
+
'planning-normalizer-sdd': '.sdd/skills/curated/planning-normalizer-sdd/SKILL.md',
|
|
11
|
+
'mobile-design': '.sdd/skills/curated/sdd-curated-mobile-design/SKILL.md',
|
|
12
|
+
};
|
|
13
|
+
const SKILL_METADATA_OVERRIDES = {
|
|
14
|
+
'api-clean-flask-langgraph': {
|
|
15
|
+
title: 'API Clean Flask LangGraph',
|
|
16
|
+
description: 'Canonical Python/Flask agentic backend skill with Clean Architecture boundaries, tenant/security authority-source rules, OpenSDD decision support (runtime-safe), production-readiness guidance, and maintainable quality gates.',
|
|
17
|
+
},
|
|
18
|
+
'devtrack-api': {
|
|
19
|
+
title: 'DevTrack API',
|
|
20
|
+
description: 'Model-agnostic backend engineering and governance skill for DevTrack APIs using NestJS, TypeORM, DDD/Clean Architecture boundaries, evidence-based validation, and safe operational delivery.',
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
const CURATED_BUNDLES = [
|
|
24
|
+
{
|
|
25
|
+
id: 'source-intake',
|
|
26
|
+
title: 'Source Intake',
|
|
27
|
+
domains: ['intake', 'planning', 'frontend'],
|
|
28
|
+
phases: ['discover', 'plan'],
|
|
29
|
+
skillIds: [
|
|
30
|
+
'source-intake-sdd',
|
|
31
|
+
'business-extractor-sdd',
|
|
32
|
+
'frontend-extractor-sdd',
|
|
33
|
+
'planning-normalizer-sdd',
|
|
34
|
+
],
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
id: 'essentials-core',
|
|
38
|
+
title: 'Essentials Core',
|
|
39
|
+
domains: ['general', 'process'],
|
|
40
|
+
phases: ['discover', 'plan', 'execute', 'verify', 'finalize'],
|
|
41
|
+
skillIds: [
|
|
42
|
+
'concise-planning',
|
|
43
|
+
'brainstorming',
|
|
44
|
+
'lint-and-validate',
|
|
45
|
+
'systematic-debugging',
|
|
46
|
+
'test-driven-development',
|
|
47
|
+
'doc-coauthoring',
|
|
48
|
+
'create-pr',
|
|
49
|
+
'git-pushing',
|
|
50
|
+
'kaizen',
|
|
51
|
+
'code-review-checklist',
|
|
52
|
+
],
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
id: 'architecture-backend',
|
|
56
|
+
title: 'Architecture Backend',
|
|
57
|
+
domains: ['architecture', 'backend'],
|
|
58
|
+
phases: ['discover', 'plan', 'execute', 'verify'],
|
|
59
|
+
skillIds: [
|
|
60
|
+
'architecture',
|
|
61
|
+
'senior-architect',
|
|
62
|
+
'architecture-patterns',
|
|
63
|
+
'microservices-patterns',
|
|
64
|
+
'domain-driven-design',
|
|
65
|
+
'ddd-context-mapping',
|
|
66
|
+
'ddd-tactical-patterns',
|
|
67
|
+
'api-design-principles',
|
|
68
|
+
'database-design',
|
|
69
|
+
'devtrack-api',
|
|
70
|
+
'typescript-expert',
|
|
71
|
+
],
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
id: 'python-agentic-backend',
|
|
75
|
+
title: 'Python Agentic Backend',
|
|
76
|
+
domains: ['backend', 'api', 'python', 'flask', 'websocket', 'ai', 'agent', 'saas'],
|
|
77
|
+
phases: ['plan', 'execute', 'verify', 'finalize'],
|
|
78
|
+
skillIds: ['api-clean-flask-langgraph'],
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
id: 'frontend-product',
|
|
82
|
+
title: 'Frontend Product',
|
|
83
|
+
domains: ['frontend', 'product'],
|
|
84
|
+
phases: ['plan', 'execute', 'verify'],
|
|
85
|
+
skillIds: [
|
|
86
|
+
'frontend-design',
|
|
87
|
+
'react-best-practices',
|
|
88
|
+
'react-patterns',
|
|
89
|
+
'nextjs-best-practices',
|
|
90
|
+
'nextjs-app-router-patterns',
|
|
91
|
+
'tailwind-patterns',
|
|
92
|
+
'ui-ux-pro-max',
|
|
93
|
+
'mobile-design',
|
|
94
|
+
'form-cro',
|
|
95
|
+
'frontend-developer',
|
|
96
|
+
],
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
id: 'security-quality',
|
|
100
|
+
title: 'Security Quality',
|
|
101
|
+
domains: ['security', 'quality'],
|
|
102
|
+
phases: ['plan', 'execute', 'verify'],
|
|
103
|
+
skillIds: [
|
|
104
|
+
'security-auditor',
|
|
105
|
+
'api-security-best-practices',
|
|
106
|
+
'backend-security-coder',
|
|
107
|
+
'frontend-security-coder',
|
|
108
|
+
'cc-skill-security-review',
|
|
109
|
+
'top-web-vulnerabilities',
|
|
110
|
+
'vulnerability-scanner',
|
|
111
|
+
'ethical-hacking-methodology',
|
|
112
|
+
'cloud-penetration-testing',
|
|
113
|
+
'pci-compliance',
|
|
114
|
+
],
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
id: 'ai-agentic',
|
|
118
|
+
title: 'AI Agentic',
|
|
119
|
+
domains: ['ai', 'agent'],
|
|
120
|
+
phases: ['discover', 'plan', 'execute', 'verify', 'finalize'],
|
|
121
|
+
skillIds: [
|
|
122
|
+
'prompt-engineering',
|
|
123
|
+
'context-window-management',
|
|
124
|
+
'ai-agents-architect',
|
|
125
|
+
'agent-evaluation',
|
|
126
|
+
'mcp-builder',
|
|
127
|
+
'rag-engineer',
|
|
128
|
+
'rag-implementation',
|
|
129
|
+
'prompt-caching',
|
|
130
|
+
'langgraph',
|
|
131
|
+
'langfuse',
|
|
132
|
+
],
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
id: 'devops-integration',
|
|
136
|
+
title: 'DevOps Integration',
|
|
137
|
+
domains: ['devops', 'integration'],
|
|
138
|
+
phases: ['plan', 'execute', 'verify', 'finalize'],
|
|
139
|
+
skillIds: [
|
|
140
|
+
'docker-expert',
|
|
141
|
+
'aws-serverless',
|
|
142
|
+
'kubernetes-architect',
|
|
143
|
+
'terraform-specialist',
|
|
144
|
+
'environment-setup-guide',
|
|
145
|
+
'deployment-procedures',
|
|
146
|
+
'observability-engineer',
|
|
147
|
+
'distributed-tracing',
|
|
148
|
+
'performance-engineer',
|
|
149
|
+
'incident-responder',
|
|
150
|
+
],
|
|
151
|
+
},
|
|
152
|
+
];
|
|
153
|
+
function titleFromSkillId(skillId) {
|
|
154
|
+
return skillId
|
|
155
|
+
.split('-')
|
|
156
|
+
.map((part) => (part.length > 0 ? part[0].toUpperCase() + part.slice(1) : part))
|
|
157
|
+
.join(' ');
|
|
158
|
+
}
|
|
159
|
+
function priorityForIndex(index) {
|
|
160
|
+
const priority = 10 - index;
|
|
161
|
+
return priority < 6 ? 6 : priority;
|
|
162
|
+
}
|
|
163
|
+
function buildSkillEntry(bundle, skillId, index) {
|
|
164
|
+
const localSourcePath = LOCAL_SDD_SKILL_PATHS[skillId];
|
|
165
|
+
const isLocalSkill = Boolean(localSourcePath);
|
|
166
|
+
const metadata = SKILL_METADATA_OVERRIDES[skillId] || {};
|
|
167
|
+
return {
|
|
168
|
+
id: skillId,
|
|
169
|
+
source_repo: isLocalSkill ? 'local://opensdd/sdd' : DEFAULT_SOURCE_REPO,
|
|
170
|
+
source_path: isLocalSkill ? localSourcePath : `skills/${skillId}/SKILL.md`,
|
|
171
|
+
title: metadata.title || titleFromSkillId(skillId),
|
|
172
|
+
description: metadata.description || (isLocalSkill
|
|
173
|
+
? `Native SDD skill for ${bundle.title.toLowerCase()}.`
|
|
174
|
+
: `Curated skill for ${bundle.title.toLowerCase()} in the SDD flow.`),
|
|
175
|
+
phases: bundle.phases,
|
|
176
|
+
domains: bundle.domains,
|
|
177
|
+
tools: DEFAULT_TOOLS,
|
|
178
|
+
bundle_ids: [bundle.id],
|
|
179
|
+
priority: priorityForIndex(index),
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
export const DEFAULT_CURATED_SKILL_CATALOG = {
|
|
183
|
+
version: 1,
|
|
184
|
+
skills: CURATED_BUNDLES.flatMap((bundle) => bundle.skillIds.map((skillId, index) => buildSkillEntry(bundle, skillId, index))),
|
|
185
|
+
bundles: CURATED_BUNDLES.map((bundle) => ({
|
|
186
|
+
id: bundle.id,
|
|
187
|
+
title: bundle.title,
|
|
188
|
+
skill_ids: [...bundle.skillIds],
|
|
189
|
+
})),
|
|
190
|
+
};
|
|
191
|
+
export const SOURCE_INTAKE_SDD_SKILL_MD = `---
|
|
192
|
+
name: source-intake-sdd
|
|
193
|
+
description: Reads the .sdd/sources folder, indexes raw sources, and classifies project intake material.
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
# Source Intake SDD
|
|
197
|
+
|
|
198
|
+
Use this skill when the project has raw material in \`.sdd/sources/\`.
|
|
199
|
+
|
|
200
|
+
## Objective
|
|
201
|
+
|
|
202
|
+
Turn a heterogeneous document set into a traceable operational inventory.
|
|
203
|
+
|
|
204
|
+
## Where To Look
|
|
205
|
+
|
|
206
|
+
- \`.sdd/sources/prds/\`
|
|
207
|
+
- \`.sdd/sources/rfcs/\`
|
|
208
|
+
- \`.sdd/sources/briefings/\`
|
|
209
|
+
- \`.sdd/sources/stories/\`
|
|
210
|
+
- \`.sdd/sources/wireframes/\`
|
|
211
|
+
- \`.sdd/sources/html-mocks/\`
|
|
212
|
+
- \`.sdd/sources/visual-references/\`
|
|
213
|
+
- \`.sdd/sources/interviews/\`
|
|
214
|
+
- \`.sdd/sources/attachments/\`
|
|
215
|
+
- \`.sdd/sources/legacy/\`
|
|
216
|
+
|
|
217
|
+
## Required Flow
|
|
218
|
+
|
|
219
|
+
1. List existing sources.
|
|
220
|
+
2. Classify each source by type.
|
|
221
|
+
3. Register/update \`.sdd/state/source-index.yaml\`.
|
|
222
|
+
4. Fill for each item:
|
|
223
|
+
- \`type\`
|
|
224
|
+
- \`path\`
|
|
225
|
+
- \`title\`
|
|
226
|
+
- \`status\`
|
|
227
|
+
- \`summary\`
|
|
228
|
+
- \`used_by\`
|
|
229
|
+
- \`consolidation_targets\`
|
|
230
|
+
5. Do not generate backlog directly in this step.
|
|
231
|
+
|
|
232
|
+
## Golden Rule
|
|
233
|
+
|
|
234
|
+
- Raw source is not canonical source.
|
|
235
|
+
- The goal here is inventory and classification.
|
|
236
|
+
- Backlog is created only after semantic normalization.
|
|
237
|
+
`;
|
|
238
|
+
export const BUSINESS_EXTRACTOR_SDD_SKILL_MD = `---
|
|
239
|
+
name: business-extractor-sdd
|
|
240
|
+
description: Extracts stories, business rules, actors, integrations, and constraints from source material.
|
|
241
|
+
---
|
|
242
|
+
|
|
243
|
+
# Business Extractor SDD
|
|
244
|
+
|
|
245
|
+
Use this skill when the repository already has PRDs, briefings, stories, or consolidated documents.
|
|
246
|
+
|
|
247
|
+
## Expected Outputs
|
|
248
|
+
|
|
249
|
+
- canonical context updates:
|
|
250
|
+
- \`.sdd/state/architecture.yaml\`
|
|
251
|
+
- \`.sdd/state/service-catalog.yaml\`
|
|
252
|
+
- \`.sdd/state/tech-stack.yaml\`
|
|
253
|
+
- \`.sdd/state/integration-contracts.yaml\`
|
|
254
|
+
- suggestions for:
|
|
255
|
+
- EPICs
|
|
256
|
+
- FEATs
|
|
257
|
+
- INSIGHTs only when real ambiguity exists
|
|
258
|
+
|
|
259
|
+
## How To Decide The Destination
|
|
260
|
+
|
|
261
|
+
- If the excerpt describes system structure, consolidate it into context.
|
|
262
|
+
- If the excerpt is a large approved decision, normalize it into an EPIC.
|
|
263
|
+
- If the excerpt is already clear and executable, normalize it into a FEAT.
|
|
264
|
+
- If the excerpt is ambiguous, contradictory, or incomplete, normalize it into an INSIGHT.
|
|
265
|
+
|
|
266
|
+
## Do Not
|
|
267
|
+
|
|
268
|
+
- Do not turn an entire PRD into a direct task list.
|
|
269
|
+
- Do not invent technical details that are not present in the source.
|
|
270
|
+
`;
|
|
271
|
+
export const FRONTEND_EXTRACTOR_SDD_SKILL_MD = `---
|
|
272
|
+
name: frontend-extractor-sdd
|
|
273
|
+
description: Extracts frontend surfaces, routes, components, gaps, and decisions from images, HTML, wireframes, and references.
|
|
274
|
+
---
|
|
275
|
+
|
|
276
|
+
# Frontend Extractor SDD
|
|
277
|
+
|
|
278
|
+
Use this skill when visual inspiration or UI/UX definitions exist in \`.sdd/sources/\`.
|
|
279
|
+
|
|
280
|
+
## Accepted Sources
|
|
281
|
+
|
|
282
|
+
- wireframes
|
|
283
|
+
- screenshots
|
|
284
|
+
- reference images
|
|
285
|
+
- mocked HTML
|
|
286
|
+
- stories with interface impact
|
|
287
|
+
|
|
288
|
+
## Expected Outputs
|
|
289
|
+
|
|
290
|
+
- \`.sdd/state/frontend-map.yaml\`
|
|
291
|
+
- \`.sdd/state/frontend-gaps.yaml\`
|
|
292
|
+
- \`.sdd/state/frontend-decisions.yaml\`
|
|
293
|
+
|
|
294
|
+
## Classification Criteria
|
|
295
|
+
|
|
296
|
+
- What is clearly defined as a screen/route goes into frontend-map.
|
|
297
|
+
- What is missing but necessary to cover the journey goes into frontend-gaps.
|
|
298
|
+
- UX rationale, navigation, layout, patterns, and inspiration go into frontend-decisions.
|
|
299
|
+
- If a surface is well-defined and executable, it can become a FEAT.
|
|
300
|
+
`;
|
|
301
|
+
export const PLANNING_NORMALIZER_SDD_SKILL_MD = `---
|
|
302
|
+
name: planning-normalizer-sdd
|
|
303
|
+
description: Converts extracted source material into the SDD operational backlog, prioritizing context, EPICs, and FEATs.
|
|
304
|
+
---
|
|
305
|
+
|
|
306
|
+
# Planning Normalizer SDD
|
|
307
|
+
|
|
308
|
+
Use this skill after inventorying sources and extracting business/frontend context.
|
|
309
|
+
|
|
310
|
+
## Mission
|
|
311
|
+
|
|
312
|
+
Turn consolidated knowledge into operational SDD artifacts.
|
|
313
|
+
|
|
314
|
+
## Normalization Order
|
|
315
|
+
|
|
316
|
+
1. canonical context
|
|
317
|
+
2. EPICs
|
|
318
|
+
3. FEATs
|
|
319
|
+
4. INSIGHTs only for exceptions
|
|
320
|
+
|
|
321
|
+
## Rules
|
|
322
|
+
|
|
323
|
+
- Do not force debate when the source is already consolidated and unambiguous.
|
|
324
|
+
- Use debate only for uncertainty, conflict, ambiguity, or open architecture options.
|
|
325
|
+
- Connect FEATs with \`blocked_by\`, \`lock_domains\`, \`produces\`, and \`consumes\` when enough evidence exists.
|
|
326
|
+
- Record in \`.sdd/state/source-index.yaml\` which sources generated each EPIC/FEAT.
|
|
327
|
+
|
|
328
|
+
## Minimum Result
|
|
329
|
+
|
|
330
|
+
At the end, the agent must be able to answer:
|
|
331
|
+
- what is system context;
|
|
332
|
+
- what is already approved for planning;
|
|
333
|
+
- what can enter execution now.
|
|
334
|
+
`;
|
|
335
|
+
export function buildCuratedBundlesMarkdown() {
|
|
336
|
+
const lines = [
|
|
337
|
+
'# Skill Curation (en-US)',
|
|
338
|
+
'',
|
|
339
|
+
`This file describes the initial curation of ${DEFAULT_CURATED_SKILL_CATALOG.skills.length} skills for SDD usage.`,
|
|
340
|
+
'',
|
|
341
|
+
'## Objective',
|
|
342
|
+
'- Reduce the 900+ skill universe to a practical set.',
|
|
343
|
+
'- Accelerate planning, execution, and validation.',
|
|
344
|
+
'- Make delegation between agents easier in English.',
|
|
345
|
+
'',
|
|
346
|
+
];
|
|
347
|
+
CURATED_BUNDLES.forEach((bundle, index) => {
|
|
348
|
+
lines.push(`## Bundle ${index + 1}: ${bundle.title} (${bundle.skillIds.length})`);
|
|
349
|
+
bundle.skillIds.forEach((skillId) => lines.push(`- ${skillId}`));
|
|
350
|
+
lines.push('');
|
|
351
|
+
});
|
|
352
|
+
lines.push('## Highlighted Local Skill');
|
|
353
|
+
lines.push('- `api-clean-flask-langgraph` belongs to bundle `python-agentic-backend`.');
|
|
354
|
+
lines.push('- It is the canonical local reference for Python/Flask Clean Architecture, OpenSDD decision support (without runtime dependency), production-readiness guidance, and quality gates.');
|
|
355
|
+
lines.push('- Canonical file: `.sdd/skills/curated/api-clean-flask-langgraph/SKILL.md`.');
|
|
356
|
+
lines.push('- `devtrack-api` belongs to bundle `architecture-backend`.');
|
|
357
|
+
lines.push('- Canonical directory: `.sdd/skills/curated/devtrack-api/` (includes `agents/` and `references/`).');
|
|
358
|
+
lines.push('');
|
|
359
|
+
lines.push('## Canonical Source');
|
|
360
|
+
lines.push('- `.sdd/state/skill-catalog.yaml`');
|
|
361
|
+
lines.push('');
|
|
362
|
+
lines.push('## Operational Rule');
|
|
363
|
+
lines.push('- The skills in this document are a curation reference.');
|
|
364
|
+
lines.push('- Official skills and bundles state must be edited only in canonical YAML.');
|
|
365
|
+
lines.push('');
|
|
366
|
+
return lines.join('\n');
|
|
367
|
+
}
|
|
368
|
+
export const REPO_CONTEXT_BOOTSTRAP_SKILL_MD = `---
|
|
369
|
+
name: repo-context-bootstrap
|
|
370
|
+
description: Inspects an existing repository to fill initial SDD context with evidence and avoid fragile inference.
|
|
371
|
+
---
|
|
372
|
+
|
|
373
|
+
# Repo Context Bootstrap
|
|
374
|
+
|
|
375
|
+
Use this skill when the project already exists and you need reliable initial SDD context.
|
|
376
|
+
|
|
377
|
+
## Objective
|
|
378
|
+
|
|
379
|
+
Map and document, based on repository evidence:
|
|
380
|
+
- technology stack;
|
|
381
|
+
- service catalog;
|
|
382
|
+
- initial architecture;
|
|
383
|
+
- integrations/contracts;
|
|
384
|
+
- relevant directory map.
|
|
385
|
+
|
|
386
|
+
## Required Flow
|
|
387
|
+
|
|
388
|
+
1. Run \`${CLI_NAME} sdd init --frontend --lang en-US --layout en-US\` if the SDD structure does not exist yet.
|
|
389
|
+
2. Execute \`${CLI_NAME} sdd init-context --mode merge\`.
|
|
390
|
+
3. Read the generated files:
|
|
391
|
+
- \`.sdd/core/spec-tecnologica.md\`
|
|
392
|
+
- \`.sdd/core/servicos.md\`
|
|
393
|
+
- \`.sdd/core/arquitetura.md\`
|
|
394
|
+
- \`.sdd/core/repo-map.md\`
|
|
395
|
+
4. Validate with \`${CLI_NAME} sdd check --render\`.
|
|
396
|
+
5. Register any doubt or low confidence as a review item in \`.sdd/planning/tech-debt.md\`.
|
|
397
|
+
|
|
398
|
+
## Quality Rules
|
|
399
|
+
|
|
400
|
+
- Do not invent services that do not appear in directories or manifests.
|
|
401
|
+
- Do not invent integrations without concrete signals in dependencies or configs.
|
|
402
|
+
- Prioritize evidence in:
|
|
403
|
+
- \`package.json\`, \`pnpm-workspace.yaml\`, \`docker-compose.yml\`;
|
|
404
|
+
- directories \`apps/\`, \`services/\`, \`packages/\`, \`src/\`;
|
|
405
|
+
- framework configuration files.
|
|
406
|
+
- When uncertain, record it as "needs human review".
|
|
407
|
+
|
|
408
|
+
## Expected Result
|
|
409
|
+
|
|
410
|
+
After execution, the project should have enough useful initial context for a new agent to continue without broad code inspection.
|
|
411
|
+
`;
|
|
412
|
+
export const BUILT_IN_SDD_SKILLS = {
|
|
413
|
+
'repo-context-bootstrap': REPO_CONTEXT_BOOTSTRAP_SKILL_MD,
|
|
414
|
+
'source-intake-sdd': SOURCE_INTAKE_SDD_SKILL_MD,
|
|
415
|
+
'business-extractor-sdd': BUSINESS_EXTRACTOR_SDD_SKILL_MD,
|
|
416
|
+
'frontend-extractor-sdd': FRONTEND_EXTRACTOR_SDD_SKILL_MD,
|
|
417
|
+
'planning-normalizer-sdd': PLANNING_NORMALIZER_SDD_SKILL_MD,
|
|
418
|
+
'api-clean-flask-langgraph': {
|
|
419
|
+
kind: 'source-tree',
|
|
420
|
+
sourceRoot: '.sdd/skills/curated/api-clean-flask-langgraph',
|
|
421
|
+
},
|
|
422
|
+
'devtrack-api': {
|
|
423
|
+
kind: 'source-tree',
|
|
424
|
+
sourceRoot: '.sdd/skills/curated/devtrack-api',
|
|
425
|
+
},
|
|
426
|
+
};
|
|
427
|
+
//# sourceMappingURL=default-skills.js.map
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type StructuralDiagnosticReport } from './structural-health.js';
|
|
2
|
+
export interface SddDiagnoseOptions {
|
|
3
|
+
strict?: boolean;
|
|
4
|
+
}
|
|
5
|
+
export interface SddDiagnoseCommandOptions extends SddDiagnoseOptions {
|
|
6
|
+
output?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface SddDiagnoseResult {
|
|
9
|
+
report: StructuralDiagnosticReport;
|
|
10
|
+
exitCode: number;
|
|
11
|
+
health: 'HEALTHY' | 'WARNING' | 'ERROR' | 'BLOCKED';
|
|
12
|
+
outputPath?: string;
|
|
13
|
+
}
|
|
14
|
+
export declare class SddDiagnosticOptionsError extends Error {
|
|
15
|
+
constructor(message: string);
|
|
16
|
+
}
|
|
17
|
+
export declare function getDiagnosticExitCode(report: StructuralDiagnosticReport): number;
|
|
18
|
+
export declare function getDiagnosticHealth(report: StructuralDiagnosticReport): SddDiagnoseResult['health'];
|
|
19
|
+
export declare function diagnoseSddRoot(projectRoot: string, options?: SddDiagnoseOptions): Promise<StructuralDiagnosticReport>;
|
|
20
|
+
export declare function writeDiagnosticReport(projectRoot: string, outputPath: string, report: StructuralDiagnosticReport): Promise<string>;
|
|
21
|
+
export declare function formatDiagnosticText(report: StructuralDiagnosticReport): string;
|
|
22
|
+
export declare class SddDiagnoseCommand {
|
|
23
|
+
execute(projectRoot: string, options?: SddDiagnoseCommandOptions): Promise<SddDiagnoseResult>;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=diagnose.d.ts.map
|