@devtrack-solution/codesdd 1.2.2 → 1.2.4-rc3
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 +17 -17
- package/.sdd/skills/curated/devtrack-api/SKILL.md +170 -31
- package/.sdd/skills/curated/devtrack-api/agents/claude-code.yaml +8 -0
- package/.sdd/skills/curated/devtrack-api/agents/codex.yaml +8 -0
- package/.sdd/skills/curated/devtrack-api/agents/cursor.yaml +8 -0
- package/.sdd/skills/curated/devtrack-api/agents/gemini.yaml +8 -0
- package/.sdd/skills/curated/devtrack-api/agents/kimi.yaml +8 -0
- package/.sdd/skills/curated/devtrack-api/agents/openai.yaml +4 -2
- package/.sdd/skills/curated/devtrack-api/agents/opencode.yaml +10 -0
- package/.sdd/skills/curated/devtrack-api/references/application-presentation.md +2 -2
- package/.sdd/skills/curated/devtrack-api/references/architecture-governance.md +8 -7
- package/.sdd/skills/curated/devtrack-api/references/consumer-sync-policy.md +93 -0
- package/.sdd/skills/curated/devtrack-api/references/contract-pack.yaml +372 -0
- package/.sdd/skills/curated/devtrack-api/references/domain-modeling.md +13 -13
- package/.sdd/skills/curated/devtrack-api/references/field-validation-protocol.md +95 -0
- package/.sdd/skills/curated/devtrack-api/references/foundation-layout.md +294 -0
- package/.sdd/skills/curated/devtrack-api/references/implementation-checklist.md +5 -5
- package/.sdd/skills/curated/devtrack-api/references/imports-lint.md +4 -0
- package/.sdd/skills/curated/devtrack-api/references/portable-agent-contract.md +41 -0
- package/.sdd/skills/curated/devtrack-api/references/testing-validation.md +2 -2
- package/.sdd/skills/curated/devtrack-api/references/typeorm-infrastructure.md +7 -9
- package/LICENSE +1 -1
- package/README.md +399 -53
- package/bin/codesdd.js +3 -2
- package/dist/applications/sdd/index.d.ts +16 -0
- package/dist/applications/sdd/index.js +16 -0
- package/dist/cli/index.d.ts +2 -2
- package/dist/cli/index.js +11 -558
- package/dist/cli/program.d.ts +14 -0
- package/dist/cli/program.js +645 -0
- package/dist/commands/change.js +5 -5
- package/dist/commands/completion.d.ts +1 -1
- package/dist/commands/completion.js +9 -2
- package/dist/commands/config.js +320 -20
- package/dist/commands/feedback.js +1 -1
- package/dist/commands/schema.d.ts +63 -0
- package/dist/commands/schema.js +12 -12
- package/dist/commands/sdd/backlog.d.ts +3 -0
- package/dist/commands/sdd/backlog.js +54 -0
- package/dist/commands/sdd/execution.js +489 -28
- package/dist/commands/sdd/plugin.d.ts +3 -0
- package/dist/commands/sdd/plugin.js +158 -0
- package/dist/commands/sdd/shared.d.ts +1 -0
- package/dist/commands/sdd/shared.js +11 -22
- package/dist/commands/sdd/skills.js +7 -0
- package/dist/commands/sdd.js +107 -15
- package/dist/commands/spec.js +9 -9
- package/dist/commands/validate.js +6 -6
- package/dist/commands/workflow/instructions.js +6 -6
- package/dist/commands/workflow/new-change.js +3 -3
- package/dist/commands/workflow/shared.d.ts +1 -1
- package/dist/commands/workflow/shared.js +4 -4
- package/dist/core/archive.js +15 -5
- package/dist/core/artifact-graph/instruction-loader.d.ts +1 -1
- package/dist/core/artifact-graph/instruction-loader.js +3 -3
- package/dist/core/artifact-graph/resolver.d.ts +4 -4
- package/dist/core/artifact-graph/resolver.js +6 -6
- package/dist/core/branding.js +3 -3
- package/dist/core/cli/command-matrix.js +19 -1
- package/dist/core/cli-command-quality.d.ts +27 -0
- package/dist/core/cli-command-quality.js +180 -0
- package/dist/core/command-generation/adapters/costrict.d.ts +1 -1
- package/dist/core/command-generation/adapters/costrict.js +2 -2
- package/dist/core/command-generation/types.d.ts +1 -1
- package/dist/core/completions/command-registry.d.ts +1 -1
- package/dist/core/completions/command-registry.js +200 -12
- package/dist/core/completions/completion-provider.d.ts +14 -1
- package/dist/core/completions/completion-provider.js +29 -1
- package/dist/core/completions/generators/bash-generator.d.ts +1 -1
- package/dist/core/completions/generators/bash-generator.js +20 -12
- package/dist/core/completions/generators/fish-generator.d.ts +9 -1
- package/dist/core/completions/generators/fish-generator.js +39 -25
- package/dist/core/completions/generators/powershell-generator.d.ts +1 -1
- package/dist/core/completions/generators/powershell-generator.js +21 -11
- package/dist/core/completions/generators/zsh-generator.d.ts +3 -6
- package/dist/core/completions/generators/zsh-generator.js +21 -42
- package/dist/core/completions/installers/bash-installer.js +6 -6
- package/dist/core/completions/installers/fish-installer.js +1 -1
- package/dist/core/completions/installers/powershell-installer.js +14 -14
- package/dist/core/completions/installers/zsh-installer.d.ts +7 -1
- package/dist/core/completions/installers/zsh-installer.js +36 -8
- package/dist/core/completions/templates/bash-templates.d.ts +1 -1
- package/dist/core/completions/templates/bash-templates.js +12 -6
- package/dist/core/completions/templates/fish-templates.d.ts +2 -2
- package/dist/core/completions/templates/fish-templates.js +20 -9
- package/dist/core/completions/templates/powershell-templates.d.ts +1 -1
- package/dist/core/completions/templates/powershell-templates.js +13 -4
- package/dist/core/completions/templates/zsh-templates.d.ts +1 -1
- package/dist/core/completions/templates/zsh-templates.js +18 -9
- package/dist/core/config-schema.d.ts +20 -1
- package/dist/core/config-schema.js +70 -2
- package/dist/core/config.d.ts +3 -3
- package/dist/core/config.js +4 -4
- package/dist/core/global-config.d.ts +57 -12
- package/dist/core/global-config.js +344 -27
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.js +2 -2
- package/dist/core/init.d.ts +6 -1
- package/dist/core/init.js +99 -77
- package/dist/core/legacy-cleanup.d.ts +17 -17
- package/dist/core/legacy-cleanup.js +96 -79
- package/dist/core/list.js +18 -4
- package/dist/core/migration.d.ts +3 -1
- package/dist/core/migration.js +7 -8
- package/dist/core/parsers/change-parser.js +1 -1
- package/dist/core/parsers/markdown-parser.js +2 -2
- package/dist/core/profile-sync-drift.d.ts +1 -1
- package/dist/core/profile-sync-drift.js +13 -13
- package/dist/core/project-config.d.ts +4 -4
- package/dist/core/project-config.js +11 -11
- package/dist/core/schemas/change.schema.d.ts +1 -1
- package/dist/core/schemas/change.schema.js +1 -1
- package/dist/core/schemas/spec.schema.d.ts +1 -1
- package/dist/core/schemas/spec.schema.js +1 -1
- package/dist/core/sdd/adr.js +23 -1
- package/dist/core/sdd/agent-binding.d.ts +346 -0
- package/dist/core/sdd/agent-binding.js +343 -0
- package/dist/core/sdd/agent-runtime-contract.d.ts +204 -0
- package/dist/core/sdd/agent-runtime-contract.js +200 -0
- package/dist/core/sdd/backlog-cli.d.ts +16 -0
- package/dist/core/sdd/backlog-cli.js +146 -0
- package/dist/core/sdd/backlog-conflict-policy.d.ts +58 -0
- package/dist/core/sdd/backlog-conflict-policy.js +230 -0
- package/dist/core/sdd/backlog-projection.d.ts +8 -0
- package/dist/core/sdd/backlog-projection.js +89 -0
- package/dist/core/sdd/backlog-provider-contract.d.ts +252 -0
- package/dist/core/sdd/backlog-provider-contract.js +158 -0
- package/dist/core/sdd/bootstrap.js +2 -2
- package/dist/core/sdd/check.d.ts +44 -0
- package/dist/core/sdd/check.js +62 -24
- package/dist/core/sdd/contract.d.ts +13 -0
- package/dist/core/sdd/contract.js +36 -0
- package/dist/core/sdd/coordination/coordination-adapters.d.ts +53 -8
- package/dist/core/sdd/coordination/coordination-adapters.js +182 -16
- package/dist/core/sdd/coordination/index.d.ts +1 -0
- package/dist/core/sdd/coordination/index.js +1 -0
- package/dist/core/sdd/coordination/redis-runtime.d.ts +131 -0
- package/dist/core/sdd/coordination/redis-runtime.js +698 -0
- package/dist/core/sdd/deepagent-contracts.d.ts +370 -0
- package/dist/core/sdd/deepagent-contracts.js +235 -0
- package/dist/core/sdd/deepagents/adr-governor.d.ts +2 -0
- package/dist/core/sdd/deepagents/adr-governor.js +30 -0
- package/dist/core/sdd/deepagents/backend.d.ts +63 -0
- package/dist/core/sdd/deepagents/backend.js +174 -0
- package/dist/core/sdd/deepagents/codesdd-tools.d.ts +39 -0
- package/dist/core/sdd/deepagents/codesdd-tools.js +83 -0
- package/dist/core/sdd/deepagents/evidence-mapper.d.ts +86 -0
- package/dist/core/sdd/deepagents/evidence-mapper.js +178 -0
- package/dist/core/sdd/deepagents/model-provider.d.ts +53 -0
- package/dist/core/sdd/deepagents/model-provider.js +379 -0
- package/dist/core/sdd/deepagents/policy-enforcement.d.ts +30 -0
- package/dist/core/sdd/deepagents/policy-enforcement.js +90 -0
- package/dist/core/sdd/deepagents/policy.d.ts +75 -0
- package/dist/core/sdd/deepagents/policy.js +358 -0
- package/dist/core/sdd/deepagents/quality-witness.d.ts +3 -0
- package/dist/core/sdd/deepagents/quality-witness.js +77 -0
- package/dist/core/sdd/deepagents/reversa-subagents.d.ts +75 -0
- package/dist/core/sdd/deepagents/reversa-subagents.js +182 -0
- package/dist/core/sdd/deepagents/runtime-factory.d.ts +90 -0
- package/dist/core/sdd/deepagents/runtime-factory.js +231 -0
- package/dist/core/sdd/deepagents/runtime-loader.d.ts +16 -0
- package/dist/core/sdd/deepagents/runtime-loader.js +65 -0
- package/dist/core/sdd/default-bootstrap-files.d.ts +3 -3
- package/dist/core/sdd/default-bootstrap-files.js +50 -10
- package/dist/core/sdd/default-skills.d.ts +30 -0
- package/dist/core/sdd/default-skills.js +288 -8
- package/dist/core/sdd/devtrack-api-appliance.d.ts +91 -0
- package/dist/core/sdd/devtrack-api-appliance.js +280 -0
- package/dist/core/sdd/devtrack-api-architecture.d.ts +31 -0
- package/dist/core/sdd/devtrack-api-architecture.js +608 -0
- package/dist/core/sdd/devtrack-api-import-boundary.d.ts +19 -0
- package/dist/core/sdd/devtrack-api-import-boundary.js +32 -0
- package/dist/core/sdd/diagnose.d.ts +59 -0
- package/dist/core/sdd/diagnose.js +37 -37
- package/dist/core/sdd/docs-sync.js +54 -20
- package/dist/core/sdd/domain/capability-diff.d.ts +63 -0
- package/dist/core/sdd/domain/capability-diff.js +200 -0
- package/dist/core/sdd/domain/change-safety-guardrails.d.ts +74 -0
- package/dist/core/sdd/domain/change-safety-guardrails.js +333 -0
- package/dist/core/sdd/domain/post-active-validation.d.ts +7 -0
- package/dist/core/sdd/domain/post-active-validation.js +61 -0
- package/dist/core/sdd/domain/semantic-intent-classifier.d.ts +29 -0
- package/dist/core/sdd/domain/semantic-intent-classifier.js +117 -0
- package/dist/core/sdd/domain/transition-engine.js +1 -0
- package/dist/core/sdd/entity-reference.d.ts +5 -0
- package/dist/core/sdd/entity-reference.js +22 -0
- package/dist/core/sdd/foundation-artifact-map-validator.d.ts +16 -0
- package/dist/core/sdd/foundation-artifact-map-validator.js +71 -0
- package/dist/core/sdd/foundation-layer-manifest.d.ts +24 -0
- package/dist/core/sdd/foundation-layer-manifest.js +117 -0
- package/dist/core/sdd/governance-backfill.d.ts +31 -0
- package/dist/core/sdd/governance-backfill.js +359 -0
- package/dist/core/sdd/governance-parser.d.ts +21 -0
- package/dist/core/sdd/governance-parser.js +91 -0
- package/dist/core/sdd/governance-schemas.d.ts +245 -0
- package/dist/core/sdd/governance-schemas.js +143 -0
- package/dist/core/sdd/{import-openspec.d.ts → import-legacy-spec.d.ts} +7 -7
- package/dist/core/sdd/{import-openspec.js → import-legacy-spec.js} +21 -29
- package/dist/core/sdd/init.d.ts +3 -0
- package/dist/core/sdd/init.js +6 -3
- package/dist/core/sdd/intent-guard.d.ts +22 -0
- package/dist/core/sdd/intent-guard.js +67 -0
- package/dist/core/sdd/json-schema.js +108 -6
- package/dist/core/sdd/knowledge-graph.d.ts +45 -0
- package/dist/core/sdd/knowledge-graph.js +288 -0
- package/dist/core/sdd/legacy-operations.js +507 -44
- package/dist/core/sdd/lenses.d.ts +1 -0
- package/dist/core/sdd/lenses.js +29 -1
- package/dist/core/sdd/migrate-workspace.js +95 -2
- package/dist/core/sdd/migrate.d.ts +1 -1
- package/dist/core/sdd/migrate.js +36 -2
- package/dist/core/sdd/package-security-gates.d.ts +21 -0
- package/dist/core/sdd/package-security-gates.js +119 -0
- package/dist/core/sdd/package-structure-gate.d.ts +83 -0
- package/dist/core/sdd/package-structure-gate.js +357 -0
- package/dist/core/sdd/parallel-feat-automation.d.ts +330 -0
- package/dist/core/sdd/parallel-feat-automation.js +424 -0
- package/dist/core/sdd/plugin-broker.d.ts +777 -0
- package/dist/core/sdd/plugin-broker.js +492 -0
- package/dist/core/sdd/plugin-certification.d.ts +79 -0
- package/dist/core/sdd/plugin-certification.js +453 -0
- package/dist/core/sdd/plugin-cli.d.ts +139 -0
- package/dist/core/sdd/plugin-cli.js +265 -0
- package/dist/core/sdd/plugin-evidence.d.ts +348 -0
- package/dist/core/sdd/plugin-evidence.js +307 -0
- package/dist/core/sdd/plugin-manifest.d.ts +232 -0
- package/dist/core/sdd/plugin-manifest.js +225 -0
- package/dist/core/sdd/plugin-policy-pack.d.ts +88 -0
- package/dist/core/sdd/plugin-policy-pack.js +236 -0
- package/dist/core/sdd/plugin-policy.d.ts +68 -0
- package/dist/core/sdd/plugin-policy.js +212 -0
- package/dist/core/sdd/plugin-registry.d.ts +447 -0
- package/dist/core/sdd/plugin-registry.js +138 -0
- package/dist/core/sdd/plugin-sdk-contract.d.ts +363 -0
- package/dist/core/sdd/plugin-sdk-contract.js +268 -0
- package/dist/core/sdd/plugin-skill-binding.d.ts +151 -0
- package/dist/core/sdd/plugin-skill-binding.js +339 -0
- package/dist/core/sdd/quality-artifact-manifest-validator.d.ts +28 -0
- package/dist/core/sdd/quality-artifact-manifest-validator.js +167 -0
- package/dist/core/sdd/quality-evidence-renderer.d.ts +65 -0
- package/dist/core/sdd/quality-evidence-renderer.js +218 -0
- package/dist/core/sdd/quality-scenario-runner.d.ts +42 -0
- package/dist/core/sdd/quality-scenario-runner.js +613 -0
- package/dist/core/sdd/quality-validation.d.ts +620 -0
- package/dist/core/sdd/quality-validation.js +239 -0
- package/dist/core/sdd/release-readiness.d.ts +19 -0
- package/dist/core/sdd/release-readiness.js +472 -0
- package/dist/core/sdd/resolve-project-root.d.ts +2 -2
- package/dist/core/sdd/resolve-project-root.js +11 -5
- package/dist/core/sdd/runtime-boundary-contract.d.ts +45 -0
- package/dist/core/sdd/runtime-boundary-contract.js +90 -0
- package/dist/core/sdd/sanitize.d.ts +30 -1
- package/dist/core/sdd/sanitize.js +23 -23
- package/dist/core/sdd/sdk-agent-plugin-quality-gates.d.ts +150 -0
- package/dist/core/sdd/sdk-agent-plugin-quality-gates.js +258 -0
- package/dist/core/sdd/services/agent-run.service.d.ts +97 -0
- package/dist/core/sdd/services/agent-run.service.js +261 -0
- package/dist/core/sdd/services/breakdown.service.js +2 -1
- package/dist/core/sdd/services/capability-diff.service.d.ts +18 -0
- package/dist/core/sdd/services/capability-diff.service.js +26 -0
- package/dist/core/sdd/services/change-safety-preflight.service.d.ts +17 -0
- package/dist/core/sdd/services/change-safety-preflight.service.js +17 -0
- package/dist/core/sdd/services/context.service.d.ts +43 -340
- package/dist/core/sdd/services/context.service.js +341 -25
- package/dist/core/sdd/services/debate.service.js +15 -2
- package/dist/core/sdd/services/feature-lint.service.d.ts +22 -0
- package/dist/core/sdd/services/feature-lint.service.js +105 -5
- package/dist/core/sdd/services/finalize.service.d.ts +105 -0
- package/dist/core/sdd/services/finalize.service.js +499 -38
- package/dist/core/sdd/services/frontend-gap.service.js +22 -7
- package/dist/core/sdd/services/frontend-impact.service.d.ts +1 -1
- package/dist/core/sdd/services/governance-control-plane-runtime-adapters.d.ts +17 -0
- package/dist/core/sdd/services/governance-control-plane-runtime-adapters.js +38 -0
- package/dist/core/sdd/services/governance-control-plane.service.d.ts +66 -0
- package/dist/core/sdd/services/governance-control-plane.service.js +134 -0
- package/dist/core/sdd/services/ingest-deposito.service.js +1 -1
- package/dist/core/sdd/services/legacy-capability.service.d.ts +10 -7
- package/dist/core/sdd/services/legacy-capability.service.js +38 -21
- package/dist/core/sdd/services/mcp-runtime.service.d.ts +123 -8
- package/dist/core/sdd/services/mcp-runtime.service.js +1085 -33
- package/dist/core/sdd/services/onboard.service.js +2 -1
- package/dist/core/sdd/services/rebuild.service.js +6 -1
- package/dist/core/sdd/services/semantic-intent-classifier.service.d.ts +6 -0
- package/dist/core/sdd/services/semantic-intent-classifier.service.js +7 -0
- package/dist/core/sdd/services/skills-sync.service.d.ts +17 -5
- package/dist/core/sdd/services/skills-sync.service.js +55 -2
- package/dist/core/sdd/services/start.service.js +6 -4
- package/dist/core/sdd/skill-bundles-curation-schema.d.ts +66 -0
- package/dist/core/sdd/skill-bundles-curation-schema.js +52 -0
- package/dist/core/sdd/skill-evidence.d.ts +19 -0
- package/dist/core/sdd/skill-evidence.js +38 -0
- package/dist/core/sdd/skill-policy-pool.d.ts +46 -0
- package/dist/core/sdd/skill-policy-pool.js +185 -0
- package/dist/core/sdd/state.d.ts +23 -0
- package/dist/core/sdd/state.js +313 -66
- package/dist/core/sdd/store/sdd-stores.js +2 -2
- package/dist/core/sdd/structural-health.d.ts +55 -55
- package/dist/core/sdd/types.d.ts +60 -19
- package/dist/core/sdd/types.js +21 -0
- package/dist/core/sdd/upgrade-to-codesdd.d.ts +45 -0
- package/dist/core/sdd/upgrade-to-codesdd.js +179 -0
- package/dist/core/sdd/views.js +17 -0
- package/dist/core/sdd/workspace-schemas.d.ts +670 -19
- package/dist/core/sdd/workspace-schemas.js +285 -5
- package/dist/core/sdd/write-manifest.js +22 -4
- package/dist/core/shared/skill-generation.d.ts +1 -1
- package/dist/core/shared/skill-generation.js +15 -15
- package/dist/core/shared/tool-detection.d.ts +3 -3
- package/dist/core/shared/tool-detection.js +14 -14
- package/dist/core/specs-apply.js +6 -6
- package/dist/core/templates/index.d.ts +1 -1
- package/dist/core/templates/index.js +1 -1
- package/dist/core/templates/workflows/apply-change.js +14 -14
- package/dist/core/templates/workflows/archive-change.js +32 -32
- package/dist/core/templates/workflows/bulk-archive-change.js +25 -25
- package/dist/core/templates/workflows/continue-change.js +12 -12
- package/dist/core/templates/workflows/explore.js +29 -29
- package/dist/core/templates/workflows/feedback.js +6 -6
- package/dist/core/templates/workflows/ff-change.js +24 -24
- package/dist/core/templates/workflows/new-change.js +20 -20
- package/dist/core/templates/workflows/onboard.js +33 -33
- package/dist/core/templates/workflows/propose.js +23 -23
- package/dist/core/templates/workflows/sdd.js +8 -8
- package/dist/core/templates/workflows/sync-specs.js +19 -19
- package/dist/core/templates/workflows/verify-change.js +17 -17
- package/dist/core/update.d.ts +2 -2
- package/dist/core/update.js +16 -15
- package/dist/core/validation/constants.d.ts +1 -1
- package/dist/core/validation/constants.js +1 -1
- package/dist/core/view.js +11 -11
- package/dist/domains/sdd/index.d.ts +6 -0
- package/dist/domains/sdd/index.js +6 -0
- package/dist/infrastructures/sdd/index.d.ts +7 -0
- package/dist/infrastructures/sdd/index.js +6 -0
- package/dist/presentations/cli/sdd/index.d.ts +3 -0
- package/dist/presentations/cli/sdd/index.js +3 -0
- package/dist/shared/sdd/index.d.ts +3 -0
- package/dist/shared/sdd/index.js +2 -0
- package/dist/telemetry/config.d.ts +2 -1
- package/dist/telemetry/config.js +17 -8
- package/dist/telemetry/index.d.ts +10 -2
- package/dist/telemetry/index.js +40 -7
- package/dist/ui/ascii-patterns.d.ts +2 -2
- package/dist/ui/ascii-patterns.js +2 -2
- package/dist/ui/welcome-screen.js +2 -2
- package/dist/utils/change-metadata.d.ts +4 -4
- package/dist/utils/change-metadata.js +6 -6
- package/dist/utils/change-utils.d.ts +3 -3
- package/dist/utils/change-utils.js +5 -5
- package/dist/utils/file-system.js +1 -1
- package/dist/utils/interactive.js +1 -1
- package/dist/utils/item-discovery.js +4 -4
- package/dist/utils/legacy-spec-compat.d.ts +2 -0
- package/dist/utils/legacy-spec-compat.js +2 -0
- package/dist/utils/shell-detection.d.ts +1 -0
- package/dist/utils/shell-detection.js +16 -0
- package/package.json +34 -21
- package/schemas/sdd/1-spec.schema.json +1 -1
- package/schemas/sdd/2-plan.schema.json +280 -3
- package/schemas/sdd/3-tasks.schema.json +73 -1
- package/schemas/sdd/4-changelog.schema.json +1 -1
- package/schemas/sdd/5-quality.schema.json +701 -5
- package/schemas/sdd/adr.schema.json +148 -0
- package/schemas/sdd/agent-binding-adapter.schema.json +210 -0
- package/schemas/sdd/agent-binding-resolution.schema.json +338 -0
- package/schemas/sdd/agent-runtime-command-plan.schema.json +212 -0
- package/schemas/sdd/agent-runtime-opencode-run-evidence.schema.json +270 -0
- package/schemas/sdd/backlog-projection-plan.schema.json +180 -0
- package/schemas/sdd/backlog-provider-contract.schema.json +260 -0
- package/schemas/sdd/codesdd-plugin.schema.json +645 -0
- package/schemas/sdd/debate.schema.json +244 -0
- package/schemas/sdd/deepagent-decision-evidence.schema.json +58 -0
- package/schemas/sdd/deepagent-env-contract.schema.json +143 -0
- package/schemas/sdd/deepagent-quality-evidence.schema.json +108 -0
- package/schemas/sdd/deepagent-run-evidence.schema.json +192 -0
- package/schemas/sdd/deepagent-run-plan.schema.json +197 -0
- package/schemas/sdd/deepagent-run-request.schema.json +637 -0
- package/schemas/sdd/deepagent-subagent-evidence.schema.json +110 -0
- package/schemas/sdd/deepagent-tool-call-evidence.schema.json +78 -0
- package/schemas/sdd/discarded.schema.json +127 -0
- package/schemas/sdd/epic.schema.json +147 -0
- package/schemas/sdd/insight.schema.json +136 -0
- package/schemas/sdd/parallel-feat-automation-plan.schema.json +304 -0
- package/schemas/sdd/parallel-feat-automation-request.schema.json +109 -0
- package/schemas/sdd/parallel-feat-scheduler-request.schema.json +116 -0
- package/schemas/sdd/parallel-feat-scheduler-result.schema.json +404 -0
- package/schemas/sdd/plugin-artifact-manifest.schema.json +259 -0
- package/schemas/sdd/plugin-artifact-map.schema.json +223 -0
- package/schemas/sdd/plugin-compliance-index.schema.json +136 -0
- package/schemas/sdd/plugin-dry-run-plan.schema.json +260 -0
- package/schemas/sdd/plugin-evidence-manifest.schema.json +678 -0
- package/schemas/sdd/plugin-language-runtime.schema.json +103 -0
- package/schemas/sdd/plugin-package-governance.schema.json +74 -0
- package/schemas/sdd/plugin-policy-evaluation.schema.json +92 -0
- package/schemas/sdd/plugin-policy-pack-evaluation.schema.json +94 -0
- package/schemas/sdd/plugin-policy-pack.schema.json +196 -0
- package/schemas/sdd/plugin-registry.schema.json +729 -0
- package/schemas/sdd/plugin-rollback-manifest.schema.json +87 -0
- package/schemas/sdd/plugin-runtime-invocation-plan.schema.json +954 -0
- package/schemas/sdd/plugin-skill-binding-resolution.schema.json +305 -0
- package/schemas/sdd/plugin-skill-binding.schema.json +88 -0
- package/schemas/sdd/plugin-validation-manifest.schema.json +123 -0
- package/schemas/sdd/quality-architecture-schema.schema.json +216 -0
- package/schemas/sdd/quality-evidence-bundle.schema.json +1337 -0
- package/schemas/sdd/quality-run.schema.json +197 -0
- package/schemas/sdd/quality-scenario.schema.json +252 -0
- package/schemas/sdd/sdk-agent-plugin-quality-gate-input.schema.json +168 -0
- package/schemas/sdd/sdk-agent-plugin-quality-gate-report.schema.json +160 -0
- package/schemas/sdd/workspace-catalog.schema.json +13232 -35
- package/schemas/spec-driven/schema.yaml +4 -4
- package/schemas/spec-driven/templates/proposal.md +1 -1
- package/dist/utils/openspec-compat.d.ts +0 -2
- package/dist/utils/openspec-compat.js +0 -2
|
@@ -25,6 +25,8 @@ This directory stores the project's operational memory.
|
|
|
25
25
|
10. \`${memoryDir}/core/frontend-decisions.md\` (when frontend is enabled)
|
|
26
26
|
|
|
27
27
|
## How To Operate
|
|
28
|
+
CodeSDD is the official planner for initialized repositories. Any request that implies implementation, file edits, validation, execution, or finalize implicitly requires the CodeSDD flow unless the user explicitly marks it as read-only or outside CodeSDD.
|
|
29
|
+
|
|
28
30
|
1. Run \`${CLI_NAME} sdd onboard system\` to understand current state.
|
|
29
31
|
2. Run \`${CLI_NAME} sdd next\` to see what can start now.
|
|
30
32
|
3. Run \`${CLI_NAME} sdd start <FEAT-ID>\` only when the item is not already active.
|
|
@@ -40,7 +42,7 @@ This directory stores the project's operational memory.
|
|
|
40
42
|
- \`${planning}/frontend-auditoria.md\`: frontend coverage audit by FEAT.
|
|
41
43
|
- \`state/\`: canonical YAML source of truth.
|
|
42
44
|
- \`${skills}/\`: local curation and bundles.
|
|
43
|
-
- \`${templates}/\`: base templates for spec, plan, quality, tasks, and changelog.
|
|
45
|
+
- \`${templates}/\`: base YAML templates for spec, plan, quality, tasks, and changelog.
|
|
44
46
|
- \`${prompts}/\`: recommended prompts for common workflows.
|
|
45
47
|
- \`${active}/\`: active FEAT workspaces.
|
|
46
48
|
- \`${archived}/\`: finalized frozen workspaces.
|
|
@@ -50,6 +52,7 @@ This directory stores the project's operational memory.
|
|
|
50
52
|
- \`state/*.yaml\` is the only canonical operational state for planning, dependencies, blockers, progress, quality, and handoff.
|
|
51
53
|
- \`core/*.md\` and \`${planning}/*.md\` are operational views derived from canonical state.
|
|
52
54
|
- External context, memory, workflow, backlog, scratchpad, or handoff stores are not authoritative.
|
|
55
|
+
- Agent-native plans and other planners may only refine execution after \`${CLI_NAME} sdd next\` and \`${CLI_NAME} sdd context <FEAT-ID>\` bind the request to a CodeSDD FEAT.
|
|
53
56
|
|
|
54
57
|
## Operational Rule
|
|
55
58
|
Every completed feature must update relevant documentation before \`finalize\`.
|
|
@@ -80,11 +83,12 @@ In the terminal, from your project directory:
|
|
|
80
83
|
\`\`\`bash
|
|
81
84
|
codesdd install --tools none --lang en-US --layout en-US
|
|
82
85
|
codesdd sdd init --frontend --lang en-US --layout en-US
|
|
83
|
-
codesdd sdd init-context
|
|
86
|
+
codesdd sdd init-context --frontend --lang en-US --layout en-US
|
|
84
87
|
codesdd sdd check --render
|
|
85
88
|
codesdd sdd rebuild --from-disk --dry-run
|
|
86
89
|
codesdd sdd dedup --apply --dry-run
|
|
87
90
|
codesdd sdd onboard system
|
|
91
|
+
codesdd reload --tools none --lang en-US --layout en-US
|
|
88
92
|
\`\`\`
|
|
89
93
|
|
|
90
94
|
## 2) Understand The Main Folders
|
|
@@ -97,6 +101,7 @@ codesdd sdd onboard system
|
|
|
97
101
|
- \`.sdd/archived/\`: finalized workspaces.
|
|
98
102
|
|
|
99
103
|
CodeSDD is the only operational memory for the project. Do not use external context, memory, workflow, backlog, scratchpad, or handoff stores as active project state.
|
|
104
|
+
In initialized CodeSDD repositories, requests that imply implementation, edits, validation, execution, or finalize implicitly require CodeSDD planning unless explicitly marked read-only or outside CodeSDD.
|
|
100
105
|
|
|
101
106
|
## 3) I Have PRDs, Wireframes, Or Stories. What Now?
|
|
102
107
|
|
|
@@ -207,14 +212,16 @@ Objective:
|
|
|
207
212
|
Execute a FEAT without losing traceability.
|
|
208
213
|
|
|
209
214
|
Instructions:
|
|
210
|
-
1.
|
|
211
|
-
2.
|
|
212
|
-
3.
|
|
213
|
-
4. Update \`.sdd/active/FEAT-0001
|
|
214
|
-
5.
|
|
215
|
-
6.
|
|
216
|
-
7.
|
|
217
|
-
8.
|
|
215
|
+
1. Treat implementation, edit, validation, execution, and finalize requests as requiring CodeSDD planning unless the user explicitly marks the request as read-only or outside CodeSDD.
|
|
216
|
+
2. Run \`codesdd sdd next\` and bind the work to the active or ready FEAT returned by CodeSDD.
|
|
217
|
+
3. Run \`codesdd sdd context FEAT-0001\`.
|
|
218
|
+
4. Update \`.sdd/active/FEAT-0001/\` (spec, plan, tasks, changelog).
|
|
219
|
+
5. Implement.
|
|
220
|
+
6. Update \`.sdd/active/FEAT-0001/5-quality.yaml\` with evidence or a formal exception; quality contracts are blocking by default.
|
|
221
|
+
7. Update affected canonical docs.
|
|
222
|
+
8. Declare frontend impact with \`codesdd sdd frontend-impact FEAT-0001 ...\`.
|
|
223
|
+
9. Ensure architectural-impact FEATs have an ADR before finalize.
|
|
224
|
+
10. Finish with \`codesdd sdd finalize --ref FEAT-0001\`.
|
|
218
225
|
`;
|
|
219
226
|
export const PROMPT_04_CONSOLIDACAO_FINALIZE_MD = `# Prompt: Consolidation And Finalize
|
|
220
227
|
|
|
@@ -314,6 +321,39 @@ traceability:
|
|
|
314
321
|
spec_updated_at: ""
|
|
315
322
|
changelog_refs: []
|
|
316
323
|
requirements: []
|
|
324
|
+
q95_ledger:
|
|
325
|
+
threshold: 95
|
|
326
|
+
score: 0
|
|
327
|
+
status: pending
|
|
328
|
+
computed_at: ""
|
|
329
|
+
weights:
|
|
330
|
+
coverage: 30
|
|
331
|
+
traceability: 20
|
|
332
|
+
integrity: 20
|
|
333
|
+
naming: 10
|
|
334
|
+
token: 20
|
|
335
|
+
axes:
|
|
336
|
+
coverage:
|
|
337
|
+
raw_score: 0
|
|
338
|
+
weighted_score: 0
|
|
339
|
+
rationale: Computed during finalize.
|
|
340
|
+
traceability:
|
|
341
|
+
raw_score: 0
|
|
342
|
+
weighted_score: 0
|
|
343
|
+
rationale: Computed during finalize.
|
|
344
|
+
integrity:
|
|
345
|
+
raw_score: 0
|
|
346
|
+
weighted_score: 0
|
|
347
|
+
rationale: Computed during finalize.
|
|
348
|
+
naming:
|
|
349
|
+
raw_score: 0
|
|
350
|
+
weighted_score: 0
|
|
351
|
+
rationale: Computed during finalize.
|
|
352
|
+
token:
|
|
353
|
+
raw_score: 0
|
|
354
|
+
weighted_score: 0
|
|
355
|
+
rationale: Computed during finalize.
|
|
356
|
+
next_best_action: Record missing evidence to raise the lowest weighted axis.
|
|
317
357
|
security_integrity:
|
|
318
358
|
endpoint_auth_review: pending
|
|
319
359
|
sensitive_data_exposure_review: pending
|
|
@@ -5,11 +5,41 @@ export interface BuiltInSkillSourceTree {
|
|
|
5
5
|
}
|
|
6
6
|
export type BuiltInSkillTree = Record<string, string>;
|
|
7
7
|
export type BuiltInSkillDefinition = string | BuiltInSkillTree | BuiltInSkillSourceTree;
|
|
8
|
+
export declare function normalizeSkillManifestContent(content: string): string;
|
|
9
|
+
export declare function computeSkillManifestSha256(content: string): string;
|
|
8
10
|
export declare const DEFAULT_CURATED_SKILL_CATALOG: SkillCatalogState;
|
|
9
11
|
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
12
|
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
13
|
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
14
|
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";
|
|
15
|
+
/**
|
|
16
|
+
* Build the structured YAML form of the curated bundles document.
|
|
17
|
+
* Mirrors the data shown by `buildCuratedBundlesMarkdown` but emits a
|
|
18
|
+
* schema-validated object suitable for programmatic consumption.
|
|
19
|
+
*
|
|
20
|
+
* Introduced by EPIC-0072 wave 1 (FEAT-0284) as the toolchain precursor
|
|
21
|
+
* for the broader frontmatter migration. The shape is governed by
|
|
22
|
+
* `src/core/sdd/skill-bundles-curation-schema.ts`.
|
|
23
|
+
*/
|
|
24
|
+
export declare function buildCuratedBundlesCurationData(layout?: 'en-US' | 'pt-BR'): {
|
|
25
|
+
schema_version: 1;
|
|
26
|
+
layout: 'en-US' | 'pt-BR';
|
|
27
|
+
generated_from: 'CURATED_BUNDLES';
|
|
28
|
+
objective: string[];
|
|
29
|
+
bundles: Array<{
|
|
30
|
+
id: string;
|
|
31
|
+
title: string;
|
|
32
|
+
skill_ids: string[];
|
|
33
|
+
}>;
|
|
34
|
+
highlighted: Array<{
|
|
35
|
+
skill_id: string;
|
|
36
|
+
bundle_id: string;
|
|
37
|
+
canonical_path: string;
|
|
38
|
+
notes: string[];
|
|
39
|
+
}>;
|
|
40
|
+
canonical_source: string;
|
|
41
|
+
operational_rule: string[];
|
|
42
|
+
};
|
|
13
43
|
export declare function buildCuratedBundlesMarkdown(): string;
|
|
14
44
|
export declare const REPO_CONTEXT_BOOTSTRAP_SKILL_MD: string;
|
|
15
45
|
export declare const BUILT_IN_SDD_SKILLS: Record<string, BuiltInSkillDefinition>;
|
|
@@ -1,24 +1,89 @@
|
|
|
1
|
+
import { createHash } from 'node:crypto';
|
|
2
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
import { fileURLToPath } from 'node:url';
|
|
1
5
|
import { CLI_NAME } from '../branding.js';
|
|
6
|
+
import { DEVTRACK_API_APPLIANCE_PLUGIN_ID } from './devtrack-api-appliance.js';
|
|
2
7
|
const DEFAULT_TOOLS = ['codex', 'cursor', 'claude', 'gemini'];
|
|
8
|
+
const DEVTRACK_PORTABLE_TOOLS = ['codex', 'cursor', 'claude', 'gemini', 'kimi', 'opencode'];
|
|
9
|
+
const DEVTRACK_API_DOMAINS = ['architecture', 'backend', 'api', 'nestjs', 'typeorm', 'devtrack', 'foundation'];
|
|
10
|
+
const DEVTRACK_ANGULAR_DOMAINS = [
|
|
11
|
+
'admin',
|
|
12
|
+
'angular-admin',
|
|
13
|
+
'backoffice',
|
|
14
|
+
'operational-ui',
|
|
15
|
+
'dashboard',
|
|
16
|
+
'crud',
|
|
17
|
+
'data-grid',
|
|
18
|
+
'admin-forms',
|
|
19
|
+
'admin-formly',
|
|
20
|
+
'admin-state',
|
|
21
|
+
'ngxs-admin',
|
|
22
|
+
'permissions',
|
|
23
|
+
'reports',
|
|
24
|
+
'workflow',
|
|
25
|
+
'admin-realtime',
|
|
26
|
+
'admin-chat',
|
|
27
|
+
];
|
|
28
|
+
const DEVTRACK_FLUTTER_DOMAINS = [
|
|
29
|
+
'flutter',
|
|
30
|
+
'dart',
|
|
31
|
+
'cross-platform',
|
|
32
|
+
'flutter-ui',
|
|
33
|
+
'flutter-layout',
|
|
34
|
+
'flutter-routing',
|
|
35
|
+
'flutter-l10n',
|
|
36
|
+
'flutter-http',
|
|
37
|
+
'flutter-json',
|
|
38
|
+
'widget-preview',
|
|
39
|
+
'widget-test',
|
|
40
|
+
'integration-test',
|
|
41
|
+
'go-router',
|
|
42
|
+
'arb',
|
|
43
|
+
'l10n',
|
|
44
|
+
];
|
|
3
45
|
const DEFAULT_SOURCE_REPO = 'https://github.com/sickn33/antigravity-awesome-skills';
|
|
46
|
+
const PACKAGE_ROOT = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '../../../');
|
|
4
47
|
const LOCAL_SDD_SKILL_PATHS = {
|
|
5
48
|
'api-clean-flask-langgraph': '.sdd/skills/curated/api-clean-flask-langgraph/SKILL.md',
|
|
6
49
|
'devtrack-api': '.sdd/skills/curated/devtrack-api/SKILL.md',
|
|
50
|
+
'devtrack-angular': '.sdd/skills/curated/devtrack-angular/SKILL.md',
|
|
51
|
+
'devtrack-flutter': '.sdd/skills/curated/devtrack-flutter/SKILL.md',
|
|
7
52
|
'source-intake-sdd': '.sdd/skills/curated/source-intake-sdd/SKILL.md',
|
|
8
53
|
'business-extractor-sdd': '.sdd/skills/curated/business-extractor-sdd/SKILL.md',
|
|
9
54
|
'frontend-extractor-sdd': '.sdd/skills/curated/frontend-extractor-sdd/SKILL.md',
|
|
10
55
|
'planning-normalizer-sdd': '.sdd/skills/curated/planning-normalizer-sdd/SKILL.md',
|
|
11
56
|
'mobile-design': '.sdd/skills/curated/sdd-curated-mobile-design/SKILL.md',
|
|
57
|
+
'sdd-reverse-orchestrator': '.sdd/skills/curated/sdd-reverse-orchestrator/SKILL.md',
|
|
58
|
+
'sdd-reverse-surface-scout': '.sdd/skills/curated/sdd-reverse-surface-scout/SKILL.md',
|
|
59
|
+
'sdd-reverse-module-archaeologist': '.sdd/skills/curated/sdd-reverse-module-archaeologist/SKILL.md',
|
|
60
|
+
'sdd-reverse-business-rules-detective': '.sdd/skills/curated/sdd-reverse-business-rules-detective/SKILL.md',
|
|
61
|
+
'sdd-reverse-spec-writer': '.sdd/skills/curated/sdd-reverse-spec-writer/SKILL.md',
|
|
62
|
+
'sdd-reverse-domain-essence-extractor': '.sdd/skills/curated/sdd-reverse-domain-essence-extractor/SKILL.md',
|
|
63
|
+
'sdd-offdev-docs-orchestrator': '.sdd/skills/curated/sdd-offdev-docs-orchestrator/SKILL.md',
|
|
64
|
+
'sdd-offdev-docs-mapper': '.sdd/skills/curated/sdd-offdev-docs-mapper/SKILL.md',
|
|
65
|
+
'sdd-offdev-docs-analyst': '.sdd/skills/curated/sdd-offdev-docs-analyst/SKILL.md',
|
|
66
|
+
'sdd-reverse-forward-planner': '.sdd/skills/curated/sdd-reverse-forward-planner/SKILL.md',
|
|
67
|
+
'sdd-reverse-migration-planner': '.sdd/skills/curated/sdd-reverse-migration-planner/SKILL.md',
|
|
68
|
+
'sdd-reverse-reconstructor': '.sdd/skills/curated/sdd-reverse-reconstructor/SKILL.md',
|
|
12
69
|
};
|
|
13
70
|
const SKILL_METADATA_OVERRIDES = {
|
|
14
71
|
'api-clean-flask-langgraph': {
|
|
15
72
|
title: 'API Clean Flask LangGraph',
|
|
16
|
-
description: 'Canonical Python/Flask agentic backend skill with Clean Architecture boundaries, tenant/security authority-source rules,
|
|
73
|
+
description: 'Canonical Python/Flask agentic backend skill with Clean Architecture boundaries, tenant/security authority-source rules, CodeSDD decision support (runtime-safe), production-readiness guidance, and maintainable quality gates.',
|
|
17
74
|
},
|
|
18
75
|
'devtrack-api': {
|
|
19
76
|
title: 'DevTrack API',
|
|
20
77
|
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
78
|
},
|
|
79
|
+
'devtrack-angular': {
|
|
80
|
+
title: 'DevTrack Angular Admin',
|
|
81
|
+
description: 'Portable Angular Admin engineering and governance skill for DevTrack backoffice surfaces using pages-first architecture, standalone components, lazy admin routes, official Angular skills mapping, Formly, NGXS, data grids, permissions, adapters, accessibility, and multi-agent delivery.',
|
|
82
|
+
},
|
|
83
|
+
'devtrack-flutter': {
|
|
84
|
+
title: 'DevTrack Flutter',
|
|
85
|
+
description: 'Portable Flutter/Dart engineering and governance skill for DevTrack apps using layered architecture, MVVM/ViewModels, repositories, services, go_router, ARB/l10n, http, JSON mapping, responsive layout, previews, tests, and multi-agent delivery.',
|
|
86
|
+
},
|
|
22
87
|
};
|
|
23
88
|
const CURATED_BUNDLES = [
|
|
24
89
|
{
|
|
@@ -83,6 +148,8 @@ const CURATED_BUNDLES = [
|
|
|
83
148
|
domains: ['frontend', 'product'],
|
|
84
149
|
phases: ['plan', 'execute', 'verify'],
|
|
85
150
|
skillIds: [
|
|
151
|
+
'devtrack-angular',
|
|
152
|
+
'devtrack-flutter',
|
|
86
153
|
'frontend-design',
|
|
87
154
|
'react-best-practices',
|
|
88
155
|
'react-patterns',
|
|
@@ -149,6 +216,42 @@ const CURATED_BUNDLES = [
|
|
|
149
216
|
'incident-responder',
|
|
150
217
|
],
|
|
151
218
|
},
|
|
219
|
+
{
|
|
220
|
+
id: 'reverse-engineering',
|
|
221
|
+
title: 'Reverse Engineering',
|
|
222
|
+
domains: ['reverse-engineering', 'legacy', 'discovery'],
|
|
223
|
+
phases: ['discover', 'plan', 'execute', 'verify'],
|
|
224
|
+
skillIds: [
|
|
225
|
+
'sdd-reverse-orchestrator',
|
|
226
|
+
'sdd-reverse-surface-scout',
|
|
227
|
+
'sdd-reverse-module-archaeologist',
|
|
228
|
+
'sdd-reverse-business-rules-detective',
|
|
229
|
+
'sdd-reverse-spec-writer',
|
|
230
|
+
'sdd-reverse-domain-essence-extractor',
|
|
231
|
+
],
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
id: 'off-development-docs',
|
|
235
|
+
title: 'Off-Development Docs',
|
|
236
|
+
domains: ['documentation', 'legacy', 'discovery'],
|
|
237
|
+
phases: ['discover', 'plan', 'verify', 'finalize'],
|
|
238
|
+
skillIds: [
|
|
239
|
+
'sdd-offdev-docs-orchestrator',
|
|
240
|
+
'sdd-offdev-docs-mapper',
|
|
241
|
+
'sdd-offdev-docs-analyst',
|
|
242
|
+
],
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
id: 'migration-and-forward',
|
|
246
|
+
title: 'Migration and Forward',
|
|
247
|
+
domains: ['migration', 'legacy', 'architecture'],
|
|
248
|
+
phases: ['plan', 'execute', 'verify', 'finalize'],
|
|
249
|
+
skillIds: [
|
|
250
|
+
'sdd-reverse-forward-planner',
|
|
251
|
+
'sdd-reverse-migration-planner',
|
|
252
|
+
'sdd-reverse-reconstructor',
|
|
253
|
+
],
|
|
254
|
+
},
|
|
152
255
|
];
|
|
153
256
|
function titleFromSkillId(skillId) {
|
|
154
257
|
return skillId
|
|
@@ -160,23 +263,102 @@ function priorityForIndex(index) {
|
|
|
160
263
|
const priority = 10 - index;
|
|
161
264
|
return priority < 6 ? 6 : priority;
|
|
162
265
|
}
|
|
266
|
+
function priorityForSkill(skillId, index) {
|
|
267
|
+
if (skillId === 'devtrack-api' || skillId === 'devtrack-angular' || skillId === 'devtrack-flutter') {
|
|
268
|
+
return 10;
|
|
269
|
+
}
|
|
270
|
+
return priorityForIndex(index);
|
|
271
|
+
}
|
|
272
|
+
export function normalizeSkillManifestContent(content) {
|
|
273
|
+
return content
|
|
274
|
+
.replaceAll('.sdd/deposito', '.sdd/sources')
|
|
275
|
+
.replaceAll('/historias/', '/stories/')
|
|
276
|
+
.replaceAll('/referencias-visuais/', '/visual-references/')
|
|
277
|
+
.replaceAll('/entrevistas/', '/interviews/')
|
|
278
|
+
.replaceAll('/anexos/', '/attachments/')
|
|
279
|
+
.replaceAll('/legado/', '/legacy/');
|
|
280
|
+
}
|
|
281
|
+
export function computeSkillManifestSha256(content) {
|
|
282
|
+
return createHash('sha256').update(normalizeSkillManifestContent(content), 'utf-8').digest('hex');
|
|
283
|
+
}
|
|
284
|
+
function fallbackSkillMarkdown(entry) {
|
|
285
|
+
const domainLine = entry.domains.length > 0 ? entry.domains.join(', ') : 'geral';
|
|
286
|
+
const phaseLine = entry.phases.length > 0 ? entry.phases.join(', ') : 'all';
|
|
287
|
+
return `---
|
|
288
|
+
name: ${entry.id}
|
|
289
|
+
description: ${entry.description || entry.title}
|
|
290
|
+
---
|
|
291
|
+
|
|
292
|
+
# ${entry.title}
|
|
293
|
+
|
|
294
|
+
## Contexto
|
|
295
|
+
- Dominios: ${domainLine}
|
|
296
|
+
- Fases: ${phaseLine}
|
|
297
|
+
|
|
298
|
+
## Instrucoes
|
|
299
|
+
${entry.description || 'Aplicar esta skill como apoio especializado durante o planejamento e execucao.'}
|
|
300
|
+
`;
|
|
301
|
+
}
|
|
302
|
+
function seedIntegrityHash(entry) {
|
|
303
|
+
if (entry.source_path?.startsWith('.sdd/skills/')) {
|
|
304
|
+
const sourceFile = path.resolve(PACKAGE_ROOT, entry.source_path);
|
|
305
|
+
if (existsSync(sourceFile)) {
|
|
306
|
+
return computeSkillManifestSha256(readFileSync(sourceFile, 'utf-8'));
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
return computeSkillManifestSha256(fallbackSkillMarkdown(entry));
|
|
310
|
+
}
|
|
311
|
+
function toolsForSkill(skillId) {
|
|
312
|
+
return skillId === 'devtrack-api' || skillId === 'devtrack-angular' || skillId === 'devtrack-flutter'
|
|
313
|
+
? DEVTRACK_PORTABLE_TOOLS
|
|
314
|
+
: DEFAULT_TOOLS;
|
|
315
|
+
}
|
|
316
|
+
function domainsForSkill(bundle, skillId) {
|
|
317
|
+
if (skillId === 'devtrack-api') {
|
|
318
|
+
return DEVTRACK_API_DOMAINS;
|
|
319
|
+
}
|
|
320
|
+
if (skillId === 'devtrack-angular') {
|
|
321
|
+
return DEVTRACK_ANGULAR_DOMAINS;
|
|
322
|
+
}
|
|
323
|
+
if (skillId === 'devtrack-flutter') {
|
|
324
|
+
return DEVTRACK_FLUTTER_DOMAINS;
|
|
325
|
+
}
|
|
326
|
+
return bundle.domains;
|
|
327
|
+
}
|
|
163
328
|
function buildSkillEntry(bundle, skillId, index) {
|
|
164
329
|
const localSourcePath = LOCAL_SDD_SKILL_PATHS[skillId];
|
|
165
330
|
const isLocalSkill = Boolean(localSourcePath);
|
|
166
331
|
const metadata = SKILL_METADATA_OVERRIDES[skillId] || {};
|
|
167
|
-
|
|
332
|
+
const sourceRepo = isLocalSkill ? 'local://CodeSDD/sdd' : DEFAULT_SOURCE_REPO;
|
|
333
|
+
const sourcePath = isLocalSkill ? localSourcePath : `skills/${skillId}/SKILL.md`;
|
|
334
|
+
const deterministicPair = skillId === 'devtrack-api'
|
|
335
|
+
? { plugin_id: DEVTRACK_API_APPLIANCE_PLUGIN_ID, capability: 'scaffold.project' }
|
|
336
|
+
: undefined;
|
|
337
|
+
const baseEntry = {
|
|
168
338
|
id: skillId,
|
|
169
|
-
source_repo:
|
|
170
|
-
source_path:
|
|
339
|
+
source_repo: sourceRepo,
|
|
340
|
+
source_path: sourcePath,
|
|
171
341
|
title: metadata.title || titleFromSkillId(skillId),
|
|
172
342
|
description: metadata.description || (isLocalSkill
|
|
173
343
|
? `Native SDD skill for ${bundle.title.toLowerCase()}.`
|
|
174
344
|
: `Curated skill for ${bundle.title.toLowerCase()} in the SDD flow.`),
|
|
175
345
|
phases: bundle.phases,
|
|
176
|
-
domains: bundle
|
|
177
|
-
tools:
|
|
346
|
+
domains: domainsForSkill(bundle, skillId),
|
|
347
|
+
tools: toolsForSkill(skillId),
|
|
178
348
|
bundle_ids: [bundle.id],
|
|
179
|
-
priority:
|
|
349
|
+
priority: priorityForSkill(skillId, index),
|
|
350
|
+
token_budget: {
|
|
351
|
+
input_max: 12000,
|
|
352
|
+
output_max: 4000,
|
|
353
|
+
thinking_max: 2000,
|
|
354
|
+
},
|
|
355
|
+
deterministic_pair: deterministicPair,
|
|
356
|
+
deprecated_at: undefined,
|
|
357
|
+
superseded_by: undefined,
|
|
358
|
+
};
|
|
359
|
+
return {
|
|
360
|
+
...baseEntry,
|
|
361
|
+
integrity_hash: seedIntegrityHash(baseEntry),
|
|
180
362
|
};
|
|
181
363
|
}
|
|
182
364
|
export const DEFAULT_CURATED_SKILL_CATALOG = {
|
|
@@ -332,6 +514,89 @@ At the end, the agent must be able to answer:
|
|
|
332
514
|
- what is already approved for planning;
|
|
333
515
|
- what can enter execution now.
|
|
334
516
|
`;
|
|
517
|
+
/**
|
|
518
|
+
* Build the structured YAML form of the curated bundles document.
|
|
519
|
+
* Mirrors the data shown by `buildCuratedBundlesMarkdown` but emits a
|
|
520
|
+
* schema-validated object suitable for programmatic consumption.
|
|
521
|
+
*
|
|
522
|
+
* Introduced by EPIC-0072 wave 1 (FEAT-0284) as the toolchain precursor
|
|
523
|
+
* for the broader frontmatter migration. The shape is governed by
|
|
524
|
+
* `src/core/sdd/skill-bundles-curation-schema.ts`.
|
|
525
|
+
*/
|
|
526
|
+
export function buildCuratedBundlesCurationData(layout = 'en-US') {
|
|
527
|
+
const objective = layout === 'en-US'
|
|
528
|
+
? [
|
|
529
|
+
'Reduce the 900+ skill universe to a practical set.',
|
|
530
|
+
'Accelerate planning, execution, and validation.',
|
|
531
|
+
'Make delegation between agents easier in English.',
|
|
532
|
+
]
|
|
533
|
+
: [
|
|
534
|
+
'Reduzir o universo de 900+ skills para um conjunto pratico.',
|
|
535
|
+
'Acelerar planejamento, execucao e validacao.',
|
|
536
|
+
'Facilitar a delegacao entre agentes em portugues.',
|
|
537
|
+
];
|
|
538
|
+
const bundles = CURATED_BUNDLES.map((bundle) => ({
|
|
539
|
+
id: bundle.id,
|
|
540
|
+
title: bundle.title,
|
|
541
|
+
skill_ids: [...bundle.skillIds],
|
|
542
|
+
}));
|
|
543
|
+
const highlighted = [
|
|
544
|
+
{
|
|
545
|
+
skill_id: 'api-clean-flask-langgraph',
|
|
546
|
+
bundle_id: 'python-agentic-backend',
|
|
547
|
+
canonical_path: '.sdd/skills/curated/api-clean-flask-langgraph/SKILL.md',
|
|
548
|
+
notes: [
|
|
549
|
+
'Canonical local reference for Python/Flask Clean Architecture, CodeSDD decision support (without runtime dependency), production-readiness guidance, and quality gates.',
|
|
550
|
+
],
|
|
551
|
+
},
|
|
552
|
+
{
|
|
553
|
+
skill_id: 'devtrack-api',
|
|
554
|
+
bundle_id: 'architecture-backend',
|
|
555
|
+
canonical_path: '.sdd/skills/curated/devtrack-api/',
|
|
556
|
+
notes: [
|
|
557
|
+
'Canonical directory for the DevTrack API skill; includes agents/ and references/.',
|
|
558
|
+
'Operational default: API/backend work uses devtrack-api unless an explicit skill/profile overrides it; Python/Flask API work uses api-clean-flask-langgraph.',
|
|
559
|
+
],
|
|
560
|
+
},
|
|
561
|
+
{
|
|
562
|
+
skill_id: 'devtrack-angular',
|
|
563
|
+
bundle_id: 'frontend-product',
|
|
564
|
+
canonical_path: '.sdd/skills/curated/devtrack-angular/',
|
|
565
|
+
notes: [
|
|
566
|
+
'Canonical directory for the DevTrack Angular Admin skill; includes agents/ and references/.',
|
|
567
|
+
'Operational default: Angular Admin/backoffice work that names admin pages, dashboards, CRUD, data grids, admin Formly, admin NGXS/state, official Angular framework patterns, permissions, reports, workflow, admin realtime, or admin chat should use devtrack-angular unless an explicit skill/profile overrides it.',
|
|
568
|
+
],
|
|
569
|
+
},
|
|
570
|
+
{
|
|
571
|
+
skill_id: 'devtrack-flutter',
|
|
572
|
+
bundle_id: 'frontend-product',
|
|
573
|
+
canonical_path: '.sdd/skills/curated/devtrack-flutter/',
|
|
574
|
+
notes: [
|
|
575
|
+
'Canonical directory for the DevTrack Flutter skill; includes agents/ and references/.',
|
|
576
|
+
'Operational default: Flutter/Dart work that names Flutter apps, widgets, routing, localization, responsive layout, JSON, HTTP, previews, widget tests, integration tests, go_router, ARB, or l10n should use devtrack-flutter unless an explicit skill/profile overrides it.',
|
|
577
|
+
],
|
|
578
|
+
},
|
|
579
|
+
];
|
|
580
|
+
const operational_rule = layout === 'en-US'
|
|
581
|
+
? [
|
|
582
|
+
'The skills in this document are a curation reference.',
|
|
583
|
+
'Official skills and bundles state must be edited only in canonical YAML.',
|
|
584
|
+
]
|
|
585
|
+
: [
|
|
586
|
+
'As skills neste documento sao uma referencia de curadoria.',
|
|
587
|
+
'O estado oficial de skills e bundles deve ser editado apenas no YAML canonico.',
|
|
588
|
+
];
|
|
589
|
+
return {
|
|
590
|
+
schema_version: 1,
|
|
591
|
+
layout,
|
|
592
|
+
generated_from: 'CURATED_BUNDLES',
|
|
593
|
+
objective,
|
|
594
|
+
bundles,
|
|
595
|
+
highlighted,
|
|
596
|
+
canonical_source: '.sdd/state/skill-catalog.yaml',
|
|
597
|
+
operational_rule,
|
|
598
|
+
};
|
|
599
|
+
}
|
|
335
600
|
export function buildCuratedBundlesMarkdown() {
|
|
336
601
|
const lines = [
|
|
337
602
|
'# Skill Curation (en-US)',
|
|
@@ -351,10 +616,17 @@ export function buildCuratedBundlesMarkdown() {
|
|
|
351
616
|
});
|
|
352
617
|
lines.push('## Highlighted Local Skill');
|
|
353
618
|
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,
|
|
619
|
+
lines.push('- It is the canonical local reference for Python/Flask Clean Architecture, CodeSDD decision support (without runtime dependency), production-readiness guidance, and quality gates.');
|
|
355
620
|
lines.push('- Canonical file: `.sdd/skills/curated/api-clean-flask-langgraph/SKILL.md`.');
|
|
356
621
|
lines.push('- `devtrack-api` belongs to bundle `architecture-backend`.');
|
|
357
622
|
lines.push('- Canonical directory: `.sdd/skills/curated/devtrack-api/` (includes `agents/` and `references/`).');
|
|
623
|
+
lines.push('- Operational default: API/backend work uses `devtrack-api` unless an explicit skill/profile overrides it; Python/Flask API work uses `api-clean-flask-langgraph`.');
|
|
624
|
+
lines.push('- `devtrack-angular` belongs to bundle `frontend-product` as the Angular Admin/backoffice skill.');
|
|
625
|
+
lines.push('- Canonical directory: `.sdd/skills/curated/devtrack-angular/` (includes `agents/` and `references/`).');
|
|
626
|
+
lines.push('- Operational default: Angular Admin/backoffice work that names admin pages, dashboards, CRUD, data grids, admin Formly, admin NGXS/state, official Angular framework patterns, permissions, reports, workflow, admin realtime, or admin chat should use `devtrack-angular` unless an explicit skill/profile overrides it.');
|
|
627
|
+
lines.push('- `devtrack-flutter` belongs to bundle `frontend-product` as the Flutter/Dart product skill.');
|
|
628
|
+
lines.push('- Canonical directory: `.sdd/skills/curated/devtrack-flutter/` (includes `agents/` and `references/`).');
|
|
629
|
+
lines.push('- Operational default: Flutter/Dart work that names Flutter apps, widgets, routing, localization, responsive layout, JSON, HTTP, previews, widget tests, integration tests, go_router, ARB, or l10n should use `devtrack-flutter` unless an explicit skill/profile overrides it.');
|
|
358
630
|
lines.push('');
|
|
359
631
|
lines.push('## Canonical Source');
|
|
360
632
|
lines.push('- `.sdd/state/skill-catalog.yaml`');
|
|
@@ -423,5 +695,13 @@ export const BUILT_IN_SDD_SKILLS = {
|
|
|
423
695
|
kind: 'source-tree',
|
|
424
696
|
sourceRoot: '.sdd/skills/curated/devtrack-api',
|
|
425
697
|
},
|
|
698
|
+
'devtrack-angular': {
|
|
699
|
+
kind: 'source-tree',
|
|
700
|
+
sourceRoot: '.sdd/skills/curated/devtrack-angular',
|
|
701
|
+
},
|
|
702
|
+
'devtrack-flutter': {
|
|
703
|
+
kind: 'source-tree',
|
|
704
|
+
sourceRoot: '.sdd/skills/curated/devtrack-flutter',
|
|
705
|
+
},
|
|
426
706
|
};
|
|
427
707
|
//# sourceMappingURL=default-skills.js.map
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { type PluginArtifactManifest, type PluginRuntimeInvocationPlan } from './plugin-broker.js';
|
|
2
|
+
import { type PluginManifest } from './plugin-manifest.js';
|
|
3
|
+
import type { PluginArtifactKind, PluginArtifactMapEntry, PluginArtifactRole } from './plugin-sdk-contract.js';
|
|
4
|
+
export declare const DEVTRACK_API_APPLIANCE_PLUGIN_ID = "codesdd-plugin-devtrack-api";
|
|
5
|
+
export declare const DEVTRACK_API_APPLIANCE_CAPABILITIES: readonly ["scaffold.project", "generate.domain", "generate.crud", "validate.structure", "evidence.emit"];
|
|
6
|
+
declare const DEVTRACK_API_SCAFFOLD_CAPABILITY = "scaffold.project";
|
|
7
|
+
type DevTrackApiScaffoldLayer = 'root' | 'application' | 'domain' | 'infrastructure' | 'presentation' | 'shared' | 'tests' | 'docs' | 'config' | 'sdd' | 'assets';
|
|
8
|
+
export interface DevTrackApiScaffoldArtifact {
|
|
9
|
+
path: string;
|
|
10
|
+
layer: DevTrackApiScaffoldLayer;
|
|
11
|
+
operation: 'planned';
|
|
12
|
+
artifact_kind: PluginArtifactKind;
|
|
13
|
+
role: PluginArtifactRole;
|
|
14
|
+
content_type: string;
|
|
15
|
+
reason: string;
|
|
16
|
+
source_reference: string;
|
|
17
|
+
language?: PluginArtifactMapEntry['language'];
|
|
18
|
+
implementation: PluginArtifactMapEntry['implementation'];
|
|
19
|
+
decision_refs: string[];
|
|
20
|
+
tags: string[];
|
|
21
|
+
}
|
|
22
|
+
export interface DevTrackApiScaffoldDryRunInput {
|
|
23
|
+
feature_ref: string;
|
|
24
|
+
project_name: string;
|
|
25
|
+
package_name?: string;
|
|
26
|
+
created_at?: string;
|
|
27
|
+
operation_id?: string;
|
|
28
|
+
requested_write_scope?: string[];
|
|
29
|
+
}
|
|
30
|
+
export interface DevTrackApiScaffoldEvidenceManifest {
|
|
31
|
+
schema_version: 1;
|
|
32
|
+
operation_id: string;
|
|
33
|
+
generated_at: string;
|
|
34
|
+
feature_ref: string;
|
|
35
|
+
plugin_ref: {
|
|
36
|
+
id: string;
|
|
37
|
+
version: string;
|
|
38
|
+
};
|
|
39
|
+
capability: typeof DEVTRACK_API_SCAFFOLD_CAPABILITY;
|
|
40
|
+
status: 'planned';
|
|
41
|
+
project_name: string;
|
|
42
|
+
package_name: string;
|
|
43
|
+
foundation_reference: {
|
|
44
|
+
repository: string;
|
|
45
|
+
architecture_doc: string;
|
|
46
|
+
derived_structure_doc: string;
|
|
47
|
+
skill_ref: string;
|
|
48
|
+
};
|
|
49
|
+
validation_commands: Array<{
|
|
50
|
+
command: string;
|
|
51
|
+
status: 'pending';
|
|
52
|
+
}>;
|
|
53
|
+
quality_gates: string[];
|
|
54
|
+
}
|
|
55
|
+
export type DevTrackApiScaffoldDryRunPlan = {
|
|
56
|
+
schema_version: 1;
|
|
57
|
+
status: 'planned';
|
|
58
|
+
created_at: string;
|
|
59
|
+
operation_id: string;
|
|
60
|
+
project_name: string;
|
|
61
|
+
package_name: string;
|
|
62
|
+
runtime_plan: PluginRuntimeInvocationPlan;
|
|
63
|
+
artifacts: DevTrackApiScaffoldArtifact[];
|
|
64
|
+
artifact_manifest: PluginArtifactManifest;
|
|
65
|
+
evidence_manifest: DevTrackApiScaffoldEvidenceManifest;
|
|
66
|
+
issues: [];
|
|
67
|
+
} | {
|
|
68
|
+
schema_version: 1;
|
|
69
|
+
status: 'invalid' | 'blocked' | 'unresolved';
|
|
70
|
+
created_at: string;
|
|
71
|
+
operation_id?: string;
|
|
72
|
+
project_name: string;
|
|
73
|
+
package_name: string;
|
|
74
|
+
runtime_plan?: PluginRuntimeInvocationPlan;
|
|
75
|
+
artifacts: [];
|
|
76
|
+
issues: string[];
|
|
77
|
+
};
|
|
78
|
+
export interface DevTrackApiApplianceConformance {
|
|
79
|
+
valid: boolean;
|
|
80
|
+
plugin_id: string;
|
|
81
|
+
capability_names: string[];
|
|
82
|
+
missing_capabilities: string[];
|
|
83
|
+
missing_artifact_writes: string[];
|
|
84
|
+
missing_forbidden_writes: string[];
|
|
85
|
+
typeorm_only: boolean;
|
|
86
|
+
issues: string[];
|
|
87
|
+
}
|
|
88
|
+
export declare function evaluateDevTrackApiApplianceConformance(manifest: PluginManifest): DevTrackApiApplianceConformance;
|
|
89
|
+
export declare function buildDevTrackApiScaffoldDryRunPlan(manifest: PluginManifest, input: DevTrackApiScaffoldDryRunInput): DevTrackApiScaffoldDryRunPlan;
|
|
90
|
+
export {};
|
|
91
|
+
//# sourceMappingURL=devtrack-api-appliance.d.ts.map
|