specweave 0.33.4 → 0.33.6
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/.claude-plugin/README.md +13 -13
- package/.claude-plugin/marketplace.json +26 -37
- package/CLAUDE.md +445 -80
- package/README.md +34 -31
- package/bin/fix-marketplace-errors.sh +1 -1
- package/bin/install-commands.sh +2 -2
- package/bin/specweave.js +58 -1
- package/dist/plugins/specweave-github/lib/ThreeLayerSyncManager.d.ts +5 -0
- package/dist/plugins/specweave-github/lib/ThreeLayerSyncManager.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/ThreeLayerSyncManager.js +14 -4
- package/dist/plugins/specweave-github/lib/ThreeLayerSyncManager.js.map +1 -1
- package/dist/plugins/specweave-github/lib/completion-calculator.d.ts +1 -0
- package/dist/plugins/specweave-github/lib/completion-calculator.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/completion-calculator.js +2 -0
- package/dist/plugins/specweave-github/lib/completion-calculator.js.map +1 -1
- package/dist/plugins/specweave-github/lib/duplicate-detector.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/duplicate-detector.js +20 -6
- package/dist/plugins/specweave-github/lib/duplicate-detector.js.map +1 -1
- package/dist/plugins/specweave-github/lib/github-client-v2.d.ts +9 -0
- package/dist/plugins/specweave-github/lib/github-client-v2.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/github-client-v2.js +31 -18
- package/dist/plugins/specweave-github/lib/github-client-v2.js.map +1 -1
- package/dist/plugins/specweave-github/lib/github-feature-sync.d.ts +7 -0
- package/dist/plugins/specweave-github/lib/github-feature-sync.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/github-feature-sync.js +47 -11
- package/dist/plugins/specweave-github/lib/github-feature-sync.js.map +1 -1
- package/dist/plugins/specweave-github/lib/github-increment-sync-cli.js +39 -13
- package/dist/plugins/specweave-github/lib/github-increment-sync-cli.js.map +1 -1
- package/dist/plugins/specweave-github/lib/github-issue-updater.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/github-issue-updater.js +15 -3
- package/dist/plugins/specweave-github/lib/github-issue-updater.js.map +1 -1
- package/dist/plugins/specweave-github/lib/github-spec-sync.d.ts +7 -0
- package/dist/plugins/specweave-github/lib/github-spec-sync.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/github-spec-sync.js +17 -4
- package/dist/plugins/specweave-github/lib/github-spec-sync.js.map +1 -1
- package/dist/plugins/specweave-github/lib/github-sync-bidirectional.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/github-sync-bidirectional.js +13 -3
- package/dist/plugins/specweave-github/lib/github-sync-bidirectional.js.map +1 -1
- package/dist/plugins/specweave-github/lib/github-sync-increment-changes.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/github-sync-increment-changes.js +14 -4
- package/dist/plugins/specweave-github/lib/github-sync-increment-changes.js.map +1 -1
- package/dist/plugins/specweave-github/lib/increment-issue-builder.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/increment-issue-builder.js +24 -8
- package/dist/plugins/specweave-github/lib/increment-issue-builder.js.map +1 -1
- package/dist/plugins/specweave-github/lib/user-story-content-builder.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/user-story-content-builder.js +21 -18
- package/dist/plugins/specweave-github/lib/user-story-content-builder.js.map +1 -1
- package/dist/plugins/specweave-github/lib/user-story-issue-builder.d.ts +3 -0
- package/dist/plugins/specweave-github/lib/user-story-issue-builder.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/user-story-issue-builder.js +20 -19
- package/dist/plugins/specweave-github/lib/user-story-issue-builder.js.map +1 -1
- package/dist/src/cli/cleanup-zombies.js +34 -18
- package/dist/src/cli/cleanup-zombies.js.map +1 -1
- package/dist/src/cli/commands/discrepancies.js +6 -6
- package/dist/src/cli/commands/discrepancies.js.map +1 -1
- package/dist/src/cli/commands/docs.js +1 -1
- package/dist/src/cli/commands/docs.js.map +1 -1
- package/dist/src/cli/commands/import-docs.d.ts +1 -1
- package/dist/src/cli/commands/import-docs.js +2 -2
- package/dist/src/cli/commands/import-docs.js.map +1 -1
- package/dist/src/cli/commands/import-external.d.ts +1 -1
- package/dist/src/cli/commands/import-external.js +1 -1
- package/dist/src/cli/commands/init-multiproject.d.ts +1 -1
- package/dist/src/cli/commands/init-multiproject.js +3 -3
- package/dist/src/cli/commands/init-multiproject.js.map +1 -1
- package/dist/src/cli/commands/init.js +2 -2
- package/dist/src/cli/commands/init.js.map +1 -1
- package/dist/src/cli/commands/jobs.js +19 -2
- package/dist/src/cli/commands/jobs.js.map +1 -1
- package/dist/src/cli/commands/living-docs.d.ts +1 -0
- package/dist/src/cli/commands/living-docs.d.ts.map +1 -1
- package/dist/src/cli/commands/living-docs.js +19 -3
- package/dist/src/cli/commands/living-docs.js.map +1 -1
- package/dist/src/cli/commands/migrate-to-multiproject.js +1 -1
- package/dist/src/cli/commands/migrate-to-multiproject.js.map +1 -1
- package/dist/src/cli/commands/migrate-to-profiles.js +1 -1
- package/dist/src/cli/commands/migrate-to-profiles.js.map +1 -1
- package/dist/src/cli/commands/next-command.d.ts +1 -1
- package/dist/src/cli/commands/next-command.js +9 -9
- package/dist/src/cli/commands/next-command.js.map +1 -1
- package/dist/src/cli/commands/notifications.js +3 -3
- package/dist/src/cli/commands/notifications.js.map +1 -1
- package/dist/src/cli/commands/plan/increment-detector.js +2 -2
- package/dist/src/cli/commands/plan/increment-detector.js.map +1 -1
- package/dist/src/cli/commands/plan/plan-orchestrator.d.ts +2 -2
- package/dist/src/cli/commands/plan/plan-orchestrator.js +2 -2
- package/dist/src/cli/commands/plan/plan-validator.js +2 -2
- package/dist/src/cli/commands/plan/plan-validator.js.map +1 -1
- package/dist/src/cli/commands/plan/types.d.ts +1 -1
- package/dist/src/cli/commands/plan/types.js +1 -1
- package/dist/src/cli/commands/plan-command.d.ts +3 -3
- package/dist/src/cli/commands/plan-command.js +12 -12
- package/dist/src/cli/commands/plan-command.js.map +1 -1
- package/dist/src/cli/commands/project.d.ts +77 -0
- package/dist/src/cli/commands/project.d.ts.map +1 -0
- package/dist/src/cli/commands/project.js +526 -0
- package/dist/src/cli/commands/project.js.map +1 -0
- package/dist/src/cli/commands/save.d.ts +49 -0
- package/dist/src/cli/commands/save.d.ts.map +1 -0
- package/dist/src/cli/commands/save.js +583 -0
- package/dist/src/cli/commands/save.js.map +1 -0
- package/dist/src/cli/commands/sync-spec-commits.js +15 -6
- package/dist/src/cli/commands/sync-spec-commits.js.map +1 -1
- package/dist/src/cli/commands/sync-spec-content.js +15 -6
- package/dist/src/cli/commands/sync-spec-content.js.map +1 -1
- package/dist/src/cli/helpers/init/ado-repo-cloning.js +2 -2
- package/dist/src/cli/helpers/init/ado-repo-cloning.js.map +1 -1
- package/dist/src/cli/helpers/init/bitbucket-repo-cloning.d.ts +1 -1
- package/dist/src/cli/helpers/init/bitbucket-repo-cloning.js +3 -3
- package/dist/src/cli/helpers/init/bitbucket-repo-cloning.js.map +1 -1
- package/dist/src/cli/helpers/init/brownfield-analysis.js +18 -18
- package/dist/src/cli/helpers/init/brownfield-analysis.js.map +1 -1
- package/dist/src/cli/helpers/init/directory-structure.d.ts.map +1 -1
- package/dist/src/cli/helpers/init/directory-structure.js +3 -0
- package/dist/src/cli/helpers/init/directory-structure.js.map +1 -1
- package/dist/src/cli/helpers/init/external-import-grouping.d.ts.map +1 -1
- package/dist/src/cli/helpers/init/external-import-grouping.js +11 -7
- package/dist/src/cli/helpers/init/external-import-grouping.js.map +1 -1
- package/dist/src/cli/helpers/init/external-import.js +18 -18
- package/dist/src/cli/helpers/init/external-import.js.map +1 -1
- package/dist/src/cli/helpers/init/github-repo-cloning.d.ts +1 -1
- package/dist/src/cli/helpers/init/github-repo-cloning.js +3 -3
- package/dist/src/cli/helpers/init/github-repo-cloning.js.map +1 -1
- package/dist/src/cli/helpers/init/initial-increment-generator.js +12 -12
- package/dist/src/cli/helpers/init/living-docs-preflight.js +5 -5
- package/dist/src/cli/helpers/init/living-docs-preflight.js.map +1 -1
- package/dist/src/cli/helpers/init/next-steps.js +9 -9
- package/dist/src/cli/helpers/init/next-steps.js.map +1 -1
- package/dist/src/cli/helpers/init/plugin-installer.js +3 -3
- package/dist/src/cli/helpers/init/plugin-installer.js.map +1 -1
- package/dist/src/cli/helpers/init/translation-config.js +9 -9
- package/dist/src/cli/helpers/init/translation-config.js.map +1 -1
- package/dist/src/cli/helpers/init/types.d.ts +1 -1
- package/dist/src/cli/helpers/init/types.d.ts.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/ado.js +1 -1
- package/dist/src/cli/helpers/issue-tracker/ado.js.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/github.js +1 -1
- package/dist/src/cli/helpers/issue-tracker/github.js.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/index.js +2 -2
- package/dist/src/cli/helpers/issue-tracker/index.js.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/jira.js +1 -1
- package/dist/src/cli/helpers/issue-tracker/jira.js.map +1 -1
- package/dist/src/cli/update-status-line.js +1 -1
- package/dist/src/cli/update-status-line.js.map +1 -1
- package/dist/src/cli/workers/brownfield-worker.js +1 -1
- package/dist/src/cli/workers/brownfield-worker.js.map +1 -1
- package/dist/src/cli/workers/clone-worker.js +22 -5
- package/dist/src/cli/workers/clone-worker.js.map +1 -1
- package/dist/src/cli/workers/import-worker.js +1 -1
- package/dist/src/cli/workers/import-worker.js.map +1 -1
- package/dist/src/core/background/brownfield-launcher.js +4 -4
- package/dist/src/core/background/brownfield-launcher.js.map +1 -1
- package/dist/src/core/background/index.d.ts +3 -3
- package/dist/src/core/background/index.js +3 -3
- package/dist/src/core/background/job-dependency.d.ts.map +1 -1
- package/dist/src/core/background/job-dependency.js +1 -0
- package/dist/src/core/background/job-dependency.js.map +1 -1
- package/dist/src/core/background/job-launcher.d.ts +1 -1
- package/dist/src/core/background/job-launcher.js +5 -5
- package/dist/src/core/background/job-launcher.js.map +1 -1
- package/dist/src/core/background/job-manager.d.ts +8 -0
- package/dist/src/core/background/job-manager.d.ts.map +1 -1
- package/dist/src/core/background/job-manager.js +19 -1
- package/dist/src/core/background/job-manager.js.map +1 -1
- package/dist/src/core/background/types.d.ts +9 -1
- package/dist/src/core/background/types.d.ts.map +1 -1
- package/dist/src/core/background/types.js +8 -1
- package/dist/src/core/background/types.js.map +1 -1
- package/dist/src/core/brownfield/importer.js +1 -1
- package/dist/src/core/brownfield/importer.js.map +1 -1
- package/dist/src/core/config/config-manager.d.ts +7 -1
- package/dist/src/core/config/config-manager.d.ts.map +1 -1
- package/dist/src/core/config/config-manager.js +24 -2
- package/dist/src/core/config/config-manager.js.map +1 -1
- package/dist/src/core/config/single-project-migrator.d.ts +110 -0
- package/dist/src/core/config/single-project-migrator.d.ts.map +1 -0
- package/dist/src/core/config/single-project-migrator.js +179 -0
- package/dist/src/core/config/single-project-migrator.js.map +1 -0
- package/dist/src/core/config/types.d.ts +3 -3
- package/dist/src/core/credentials/credentials-manager.d.ts +25 -4
- package/dist/src/core/credentials/credentials-manager.d.ts.map +1 -1
- package/dist/src/core/credentials/credentials-manager.js +54 -15
- package/dist/src/core/credentials/credentials-manager.js.map +1 -1
- package/dist/src/core/deduplication/command-deduplicator.d.ts +4 -4
- package/dist/src/core/deduplication/command-deduplicator.d.ts.map +1 -1
- package/dist/src/core/deduplication/command-deduplicator.js +3 -3
- package/dist/src/core/external-tools/external-items-counter.d.ts +4 -4
- package/dist/src/core/external-tools/external-items-counter.js +4 -4
- package/dist/src/core/external-tools/external-items-display.js +4 -4
- package/dist/src/core/external-tools/external-items-display.js.map +1 -1
- package/dist/src/core/increment/completion-validator.js +3 -3
- package/dist/src/core/increment/completion-validator.js.map +1 -1
- package/dist/src/core/increment/conflict-resolver.js +2 -2
- package/dist/src/core/increment/conflict-resolver.js.map +1 -1
- package/dist/src/core/increment/desync-detector.d.ts +1 -1
- package/dist/src/core/increment/desync-detector.js +3 -3
- package/dist/src/core/increment/desync-detector.js.map +1 -1
- package/dist/src/core/increment/discipline-checker.js +2 -2
- package/dist/src/core/increment/discipline-checker.js.map +1 -1
- package/dist/src/core/increment/increment-archiver.js +4 -4
- package/dist/src/core/increment/increment-archiver.js.map +1 -1
- package/dist/src/core/increment/increment-utils.d.ts +53 -2
- package/dist/src/core/increment/increment-utils.d.ts.map +1 -1
- package/dist/src/core/increment/increment-utils.js +78 -7
- package/dist/src/core/increment/increment-utils.js.map +1 -1
- package/dist/src/core/increment/metadata-manager.js +6 -6
- package/dist/src/core/increment/metadata-manager.js.map +1 -1
- package/dist/src/core/increment/metadata-validator.js +1 -1
- package/dist/src/core/increment/metadata-validator.js.map +1 -1
- package/dist/src/core/increment/recent-work-scanner.js +2 -2
- package/dist/src/core/increment/recent-work-scanner.js.map +1 -1
- package/dist/src/core/increment/spec-sync-manager.js +1 -1
- package/dist/src/core/increment/spec-sync-manager.js.map +1 -1
- package/dist/src/core/increment/status-auto-transition.d.ts +68 -1
- package/dist/src/core/increment/status-auto-transition.d.ts.map +1 -1
- package/dist/src/core/increment/status-auto-transition.js +141 -1
- package/dist/src/core/increment/status-auto-transition.js.map +1 -1
- package/dist/src/core/increment/status-change-sync-trigger.d.ts +1 -1
- package/dist/src/core/increment/status-change-sync-trigger.js +3 -3
- package/dist/src/core/increment/status-change-sync-trigger.js.map +1 -1
- package/dist/src/core/living-docs/cross-project-sync.d.ts +12 -0
- package/dist/src/core/living-docs/cross-project-sync.d.ts.map +1 -1
- package/dist/src/core/living-docs/cross-project-sync.js +33 -0
- package/dist/src/core/living-docs/cross-project-sync.js.map +1 -1
- package/dist/src/core/living-docs/feature-archiver.d.ts +3 -3
- package/dist/src/core/living-docs/feature-archiver.js +3 -3
- package/dist/src/core/living-docs/feature-consistency-validator.js +1 -1
- package/dist/src/core/living-docs/feature-consistency-validator.js.map +1 -1
- package/dist/src/core/living-docs/feature-id-manager.d.ts +5 -0
- package/dist/src/core/living-docs/feature-id-manager.d.ts.map +1 -1
- package/dist/src/core/living-docs/feature-id-manager.js +19 -1
- package/dist/src/core/living-docs/feature-id-manager.js.map +1 -1
- package/dist/src/core/living-docs/governance/standards-generator.js +1 -1
- package/dist/src/core/living-docs/governance/standards-generator.js.map +1 -1
- package/dist/src/core/living-docs/hierarchy-mapper.d.ts +5 -0
- package/dist/src/core/living-docs/hierarchy-mapper.d.ts.map +1 -1
- package/dist/src/core/living-docs/hierarchy-mapper.js +22 -2
- package/dist/src/core/living-docs/hierarchy-mapper.js.map +1 -1
- package/dist/src/core/living-docs/living-docs-sync.d.ts +1 -0
- package/dist/src/core/living-docs/living-docs-sync.d.ts.map +1 -1
- package/dist/src/core/living-docs/living-docs-sync.js +77 -8
- package/dist/src/core/living-docs/living-docs-sync.js.map +1 -1
- package/dist/src/core/living-docs/project-detector.d.ts +9 -0
- package/dist/src/core/living-docs/project-detector.d.ts.map +1 -1
- package/dist/src/core/living-docs/project-detector.js +38 -3
- package/dist/src/core/living-docs/project-detector.js.map +1 -1
- package/dist/src/core/living-docs/suggestions-generator.js +1 -1
- package/dist/src/core/living-docs/suggestions-generator.js.map +1 -1
- package/dist/src/core/notifications/command-integration.js +1 -1
- package/dist/src/core/notifications/command-integration.js.map +1 -1
- package/dist/src/core/project/adapters/ado-project-adapter.d.ts +73 -0
- package/dist/src/core/project/adapters/ado-project-adapter.d.ts.map +1 -0
- package/dist/src/core/project/adapters/ado-project-adapter.js +304 -0
- package/dist/src/core/project/adapters/ado-project-adapter.js.map +1 -0
- package/dist/src/core/project/adapters/github-project-adapter.d.ts +76 -0
- package/dist/src/core/project/adapters/github-project-adapter.d.ts.map +1 -0
- package/dist/src/core/project/adapters/github-project-adapter.js +315 -0
- package/dist/src/core/project/adapters/github-project-adapter.js.map +1 -0
- package/dist/src/core/project/adapters/jira-project-adapter.d.ts +69 -0
- package/dist/src/core/project/adapters/jira-project-adapter.d.ts.map +1 -0
- package/dist/src/core/project/adapters/jira-project-adapter.js +241 -0
- package/dist/src/core/project/adapters/jira-project-adapter.js.map +1 -0
- package/dist/src/core/project/project-event-bus.d.ts +72 -0
- package/dist/src/core/project/project-event-bus.d.ts.map +1 -0
- package/dist/src/core/project/project-event-bus.js +150 -0
- package/dist/src/core/project/project-event-bus.js.map +1 -0
- package/dist/src/core/project/project-manager.d.ts +0 -22
- package/dist/src/core/project/project-manager.d.ts.map +1 -1
- package/dist/src/core/project/project-manager.js +5 -275
- package/dist/src/core/project/project-manager.js.map +1 -1
- package/dist/src/core/project/project-registry.d.ts +93 -0
- package/dist/src/core/project/project-registry.d.ts.map +1 -0
- package/dist/src/core/project/project-registry.js +448 -0
- package/dist/src/core/project/project-registry.js.map +1 -0
- package/dist/src/core/project/project-resolution.d.ts +229 -0
- package/dist/src/core/project/project-resolution.d.ts.map +1 -0
- package/dist/src/core/project/project-resolution.js +633 -0
- package/dist/src/core/project/project-resolution.js.map +1 -0
- package/dist/src/core/project/types/project-types.d.ts +214 -0
- package/dist/src/core/project/types/project-types.d.ts.map +1 -0
- package/dist/src/core/project/types/project-types.js +9 -0
- package/dist/src/core/project/types/project-types.js.map +1 -0
- package/dist/src/core/repo-structure/setup-summary.js +2 -2
- package/dist/src/core/repo-structure/setup-summary.js.map +1 -1
- package/dist/src/core/specs/spec-identifier-detector.d.ts.map +1 -1
- package/dist/src/core/specs/spec-identifier-detector.js +8 -5
- package/dist/src/core/specs/spec-identifier-detector.js.map +1 -1
- package/dist/src/core/status-line/status-line-updater.js +1 -1
- package/dist/src/core/status-line/status-line-updater.js.map +1 -1
- package/dist/src/core/types/increment-metadata.d.ts +3 -3
- package/dist/src/core/types/increment-metadata.js +3 -3
- package/dist/src/core/types/increment-metadata.js.map +1 -1
- package/dist/src/core/types/sync-profile.d.ts +1 -0
- package/dist/src/core/types/sync-profile.d.ts.map +1 -1
- package/dist/src/core/types/sync-profile.js.map +1 -1
- package/dist/src/core/validators/ac-presence-validator.d.ts +4 -4
- package/dist/src/core/validators/ac-presence-validator.js +3 -3
- package/dist/src/core/validators/ac-presence-validator.js.map +1 -1
- package/dist/src/core/workflow/backlog-scanner.d.ts +5 -0
- package/dist/src/core/workflow/backlog-scanner.d.ts.map +1 -1
- package/dist/src/core/workflow/backlog-scanner.js +14 -2
- package/dist/src/core/workflow/backlog-scanner.js.map +1 -1
- package/dist/src/core/workflow/phase-detector.js +17 -17
- package/dist/src/core/workflow/phase-detector.js.map +1 -1
- package/dist/src/core/workflow/types.d.ts +1 -1
- package/dist/src/core/workflow/types.d.ts.map +1 -1
- package/dist/src/core/workflow/workflow-orchestrator.d.ts +1 -1
- package/dist/src/core/workflow/workflow-orchestrator.js +9 -9
- package/dist/src/core/workflow/workflow-orchestrator.js.map +1 -1
- package/dist/src/hooks/scheduler-startup.js +1 -1
- package/dist/src/hooks/scheduler-startup.js.map +1 -1
- package/dist/src/importers/external-importer.d.ts +26 -5
- package/dist/src/importers/external-importer.d.ts.map +1 -1
- package/dist/src/importers/item-converter.d.ts.map +1 -1
- package/dist/src/importers/item-converter.js +19 -2
- package/dist/src/importers/item-converter.js.map +1 -1
- package/dist/src/importers/jira-importer.d.ts.map +1 -1
- package/dist/src/importers/jira-importer.js +15 -1
- package/dist/src/importers/jira-importer.js.map +1 -1
- package/dist/src/integrations/jira/jira-incremental-mapper.d.ts +17 -1
- package/dist/src/integrations/jira/jira-incremental-mapper.d.ts.map +1 -1
- package/dist/src/integrations/jira/jira-incremental-mapper.js +20 -12
- package/dist/src/integrations/jira/jira-incremental-mapper.js.map +1 -1
- package/dist/src/integrations/jira/jira-mapper.d.ts +17 -1
- package/dist/src/integrations/jira/jira-mapper.d.ts.map +1 -1
- package/dist/src/integrations/jira/jira-mapper.js +13 -5
- package/dist/src/integrations/jira/jira-mapper.js.map +1 -1
- package/dist/src/living-docs/enterprise-analyzer.js +1 -1
- package/dist/src/living-docs/enterprise-analyzer.js.map +1 -1
- package/dist/src/living-docs/smart-doc-organizer.js +1 -1
- package/dist/src/living-docs/smart-doc-organizer.js.map +1 -1
- package/dist/src/sync/ado-reconciler.d.ts +5 -0
- package/dist/src/sync/ado-reconciler.d.ts.map +1 -1
- package/dist/src/sync/ado-reconciler.js +16 -4
- package/dist/src/sync/ado-reconciler.js.map +1 -1
- package/dist/src/sync/jira-reconciler.d.ts +3 -0
- package/dist/src/sync/jira-reconciler.d.ts.map +1 -1
- package/dist/src/sync/jira-reconciler.js +12 -5
- package/dist/src/sync/jira-reconciler.js.map +1 -1
- package/dist/src/types/dashboard-cache.d.ts +4 -2
- package/dist/src/types/dashboard-cache.d.ts.map +1 -1
- package/dist/src/types/dashboard-cache.js +1 -1
- package/dist/src/types/dashboard-cache.js.map +1 -1
- package/dist/src/utils/ac-embedder.d.ts +1 -1
- package/dist/src/utils/docs-preview/config-generator.d.ts.map +1 -1
- package/dist/src/utils/docs-preview/config-generator.js +4 -0
- package/dist/src/utils/docs-preview/config-generator.js.map +1 -1
- package/dist/src/utils/docs-preview/docusaurus-setup.js +2 -2
- package/dist/src/utils/docs-preview/docusaurus-setup.js.map +1 -1
- package/dist/src/utils/docs-preview/sidebar-builder.js +1 -1
- package/dist/src/utils/env-multi-project-parser.d.ts +17 -0
- package/dist/src/utils/env-multi-project-parser.d.ts.map +1 -1
- package/dist/src/utils/env-multi-project-parser.js +26 -1
- package/dist/src/utils/env-multi-project-parser.js.map +1 -1
- package/dist/src/utils/external-tool-drift-detector.d.ts +2 -2
- package/dist/src/utils/external-tool-drift-detector.js +6 -6
- package/dist/src/utils/external-tool-drift-detector.js.map +1 -1
- package/dist/src/utils/notification-constants.d.ts +8 -6
- package/dist/src/utils/notification-constants.d.ts.map +1 -1
- package/dist/src/utils/notification-constants.js +10 -8
- package/dist/src/utils/notification-constants.js.map +1 -1
- package/dist/src/utils/notification-manager.d.ts +36 -3
- package/dist/src/utils/notification-manager.d.ts.map +1 -1
- package/dist/src/utils/notification-manager.js +80 -49
- package/dist/src/utils/notification-manager.js.map +1 -1
- package/dist/src/utils/platform-utils.d.ts +12 -3
- package/dist/src/utils/platform-utils.d.ts.map +1 -1
- package/dist/src/utils/platform-utils.js +35 -16
- package/dist/src/utils/platform-utils.js.map +1 -1
- package/dist/src/utils/plugin-validator.js +11 -11
- package/dist/src/utils/plugin-validator.js.map +1 -1
- package/dist/src/validators/ac-coverage-validator.d.ts +1 -1
- package/dist/src/validators/ac-coverage-validator.js +1 -1
- package/package.json +3 -1
- package/plugins/PLUGINS-INDEX.md +1 -2
- package/plugins/specweave/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave/COMMANDS.md +49 -49
- package/plugins/specweave/agents/pm/AGENT.md +18 -18
- package/plugins/specweave/agents/test-aware-planner/AGENT.md +7 -7
- package/plugins/specweave/agents/translator/AGENT.md +2 -2
- package/plugins/specweave/commands/{specweave-abandon.md → abandon.md} +20 -20
- package/plugins/specweave/commands/{specweave-analyze-standards.sh → analyze-standards.sh} +4 -4
- package/plugins/specweave/commands/{specweave-archive-features.md → archive-features.md} +7 -7
- package/plugins/specweave/commands/{specweave-archive.md → archive.md} +36 -36
- package/plugins/specweave/commands/{specweave-backlog.md → backlog.md} +24 -24
- package/plugins/specweave/commands/{specweave-check-hooks.md → check-hooks.md} +10 -10
- package/plugins/specweave/commands/{specweave-check-tests.md → check-tests.md} +14 -14
- package/plugins/specweave/commands/{specweave-costs.md → costs.md} +8 -8
- package/plugins/specweave/commands/{specweave-discrepancies.md → discrepancies.md} +15 -15
- package/plugins/specweave/commands/{specweave-discrepancy-to-increment.md → discrepancy-to-increment.md} +10 -10
- package/plugins/specweave/commands/{specweave-do.md → do.md} +37 -39
- package/plugins/specweave/commands/{specweave-done.md → done.md} +23 -23
- package/plugins/specweave/commands/{specweave-embed-acs.md → embed-acs.md} +21 -21
- package/plugins/specweave/commands/{specweave-external.md → external.md} +11 -11
- package/plugins/specweave/commands/{specweave-fix-duplicates.md → fix-duplicates.md} +16 -16
- package/plugins/specweave/commands/{specweave-import-docs.md → import-docs.md} +7 -7
- package/plugins/specweave/commands/{specweave-import-external.md → import-external.md} +9 -9
- package/plugins/specweave/commands/{specweave-increment.md → increment.md} +17 -17
- package/plugins/specweave/commands/{specweave-jobs.md → jobs.md} +28 -28
- package/plugins/specweave/commands/judge-llm.md +296 -0
- package/plugins/specweave/commands/{specweave-living-docs.md → living-docs.md} +72 -29
- package/plugins/specweave/commands/migrate-config.md +2 -2
- package/plugins/specweave/commands/{specweave-next.md → next.md} +20 -20
- package/plugins/specweave/commands/{specweave-notifications.md → notifications.md} +11 -11
- package/plugins/specweave/commands/{specweave-organize-docs.md → organize-docs.md} +9 -9
- package/plugins/specweave/commands/{specweave-pause.md → pause.md} +19 -19
- package/plugins/specweave/commands/{specweave-plan.md → plan.md} +19 -19
- package/plugins/specweave/commands/{specweave-progress.md → progress.md} +6 -6
- package/plugins/specweave/commands/{specweave-qa.md → qa.md} +15 -15
- package/plugins/specweave/commands/{specweave-reopen.md → reopen.md} +41 -41
- package/plugins/specweave/commands/{specweave-restore-feature.md → restore-feature.md} +6 -6
- package/plugins/specweave/commands/{specweave-restore.md → restore.md} +26 -26
- package/plugins/specweave/commands/{specweave-resume.md → resume.md} +33 -33
- package/plugins/specweave/commands/revert-wip-limit.md +4 -4
- package/plugins/specweave/commands/{specweave-save.md → save.md} +34 -34
- package/plugins/specweave/commands/{specweave-status.md → status.md} +29 -29
- package/plugins/specweave/commands/{specweave.md → sw.md} +28 -28
- package/plugins/specweave/commands/{specweave-sync-acs.md → sync-acs.md} +12 -12
- package/plugins/specweave/commands/sync-diagnostics.md +5 -5
- package/plugins/specweave/commands/{specweave-sync-docs.md → sync-docs.md} +7 -7
- package/plugins/specweave/commands/{specweave-sync-logs.md → sync-logs.md} +14 -14
- package/plugins/specweave/commands/{specweave-sync-monitor.md → sync-monitor.md} +5 -5
- package/plugins/specweave/commands/{specweave-sync-progress.md → sync-progress.md} +38 -38
- package/plugins/specweave/commands/{specweave-sync-specs.md → sync-specs.md} +17 -17
- package/plugins/specweave/commands/{specweave-sync-status.md → sync-status.md} +16 -16
- package/plugins/specweave/commands/{specweave-sync-tasks.md → sync-tasks.md} +13 -13
- package/plugins/specweave/commands/{specweave-tdd-cycle.md → tdd-cycle.md} +1 -1
- package/plugins/specweave/commands/{specweave-tdd-green.md → tdd-green.md} +1 -1
- package/plugins/specweave/commands/{specweave-tdd-red.md → tdd-red.md} +1 -1
- package/plugins/specweave/commands/{specweave-tdd-refactor.md → tdd-refactor.md} +1 -1
- package/plugins/specweave/commands/{specweave-translate.md → translate.md} +17 -17
- package/plugins/specweave/commands/{specweave-update-scope.md → update-scope.md} +8 -8
- package/plugins/specweave/commands/{specweave-update-status.md → update-status.md} +6 -6
- package/plugins/specweave/commands/{specweave-validate-features.md → validate-features.md} +8 -8
- package/plugins/specweave/commands/{specweave-validate.md → validate.md} +20 -20
- package/plugins/specweave/commands/{specweave-workflow.md → workflow.md} +40 -40
- package/plugins/specweave/hooks/README.md +5 -5
- package/plugins/specweave/hooks/config-env-separator.sh +99 -0
- package/plugins/specweave/hooks/github-metadata-guard.sh +73 -0
- package/plugins/specweave/hooks/hooks.json +41 -1
- package/plugins/specweave/hooks/post-first-increment.sh +2 -2
- package/plugins/specweave/hooks/post-increment-completion.sh +7 -7
- package/plugins/specweave/hooks/post-increment-planning.sh +11 -11
- package/plugins/specweave/hooks/post-increment-status-change.sh +1 -1
- package/plugins/specweave/hooks/post-metadata-change.sh +1 -1
- package/plugins/specweave/hooks/post-spec-update.sh +2 -2
- package/plugins/specweave/hooks/post-task-completion.sh +2 -2
- package/plugins/specweave/hooks/pre-increment-start.sh +7 -7
- package/plugins/specweave/hooks/project-folder-guard.sh +272 -0
- package/plugins/specweave/hooks/spec-project-validator.sh +68 -47
- package/plugins/specweave/hooks/user-prompt-submit.sh +27 -27
- package/plugins/specweave/hooks/v2/guards/completion-guard.sh +2 -2
- package/plugins/specweave/hooks/v2/guards/metadata-json-guard.sh +87 -0
- package/plugins/specweave/hooks/v2/guards/metadata-json-guard.test.sh +302 -0
- package/plugins/specweave/hooks/v2/guards/per-us-project-validator.sh +72 -18
- package/plugins/specweave/hooks/v2/guards/per-us-project-validator.test.sh +406 -0
- package/plugins/specweave/hooks/v2/handlers/github-sync-handler.sh +1 -1
- package/plugins/specweave/lib/hooks/consolidated-sync.js +35 -5
- package/plugins/specweave/lib/hooks/invoke-translator-skill.js +2 -2
- package/plugins/specweave/lib/hooks/invoke-translator-skill.ts +2 -2
- package/plugins/specweave/lib/hooks/prepare-reflection-context.js +1 -1
- package/plugins/specweave/lib/hooks/prepare-reflection-context.ts +1 -1
- package/plugins/specweave/lib/hooks/sync-living-docs.js +5 -5
- package/plugins/specweave/lib/hooks/translate-file.d.ts +1 -1
- package/plugins/specweave/lib/hooks/translate-file.js +2 -2
- package/plugins/specweave/lib/hooks/translate-file.ts +3 -3
- package/plugins/specweave/lib/hooks/us-completion-orchestrator.js +1 -1
- package/plugins/specweave/lib/hooks/us-completion-orchestrator.ts +2 -2
- package/plugins/specweave/lib/vendor/core/increment/metadata-manager.js +6 -6
- package/plugins/specweave/lib/vendor/core/increment/metadata-manager.js.map +1 -1
- package/plugins/specweave/lib/vendor/core/increment/status-auto-transition.d.ts +113 -0
- package/plugins/specweave/lib/vendor/core/increment/status-auto-transition.js +318 -0
- package/plugins/specweave/lib/vendor/core/increment/status-auto-transition.js.map +1 -0
- package/plugins/specweave/lib/vendor/core/types/increment-metadata.d.ts +3 -3
- package/plugins/specweave/lib/vendor/core/types/increment-metadata.js +3 -3
- package/plugins/specweave/lib/vendor/core/types/increment-metadata.js.map +1 -1
- package/plugins/specweave/scripts/README.md +9 -9
- package/plugins/specweave/scripts/cleanup-state.sh +1 -1
- package/plugins/specweave/scripts/jobs.js +2 -2
- package/plugins/specweave/scripts/progress.js +6 -6
- package/plugins/specweave/scripts/read-costs.sh +3 -3
- package/plugins/specweave/scripts/read-jobs.sh +8 -8
- package/plugins/specweave/scripts/read-progress.sh +17 -10
- package/plugins/specweave/scripts/read-status.sh +7 -7
- package/plugins/specweave/scripts/read-workflow.sh +18 -18
- package/plugins/specweave/scripts/rebuild-dashboard-cache.sh +6 -5
- package/plugins/specweave/scripts/session-watchdog.sh +14 -8
- package/plugins/specweave/scripts/status.js +7 -7
- package/plugins/specweave/scripts/update-dashboard-cache.sh +28 -10
- package/plugins/specweave/skills/SKILLS-INDEX.md +4 -4
- package/plugins/specweave/skills/archive-increments/SKILL.md +15 -15
- package/plugins/specweave/skills/brownfield-analyzer/SKILL.md +5 -5
- package/plugins/specweave/skills/code-standards-analyzer/SKILL.md +4 -4
- package/plugins/specweave/skills/context-loader/SKILL.md +1 -1
- package/plugins/specweave/skills/{specweave-detector → detector}/SKILL.md +5 -5
- package/plugins/specweave/skills/discrepancy-viewer.md +4 -4
- package/plugins/specweave/skills/external-sync-wizard/SKILL.md +24 -24
- package/plugins/specweave/skills/{specweave-framework → framework}/SKILL.md +33 -33
- package/plugins/specweave/skills/increment-planner/SKILL.md +25 -24
- package/plugins/specweave/skills/increment-planner/templates/spec-multi-project.md +6 -16
- package/plugins/specweave/skills/increment-planner/templates/spec-single-project.md +6 -12
- package/plugins/specweave/skills/increment-quality-judge-v2/SKILL.md +6 -6
- package/plugins/specweave/skills/increment-work-router/SKILL.md +23 -23
- package/plugins/specweave/skills/instant-status/SKILL.md +7 -7
- package/plugins/specweave/skills/plugin-validator/SKILL.md +9 -9
- package/plugins/specweave/skills/pm-closure-validation/SKILL.md +4 -4
- package/plugins/specweave/skills/progress-sync/SKILL.md +51 -51
- package/plugins/specweave/skills/project-kickstarter/SKILL.md +11 -11
- package/plugins/specweave/skills/role-orchestrator/README.md +1 -1
- package/plugins/specweave/skills/role-orchestrator/SKILL.md +4 -4
- package/plugins/specweave/skills/smart-reopen-detector/SKILL.md +17 -17
- package/plugins/specweave/skills/spec-generator/SKILL.md +6 -6
- package/plugins/specweave/skills/tdd-workflow/SKILL.md +21 -21
- package/plugins/specweave/skills/translator/SKILL.md +4 -4
- package/plugins/specweave/skills/umbrella-repo-detector/SKILL.md +5 -5
- package/plugins/specweave-ado/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-ado/agents/ado-manager/AGENT.md +4 -4
- package/plugins/specweave-ado/agents/ado-sync-judge/AGENT.md +4 -4
- package/plugins/specweave-ado/commands/cleanup-duplicates.md +9 -9
- package/plugins/specweave-ado/commands/clone.md +17 -17
- package/plugins/specweave-ado/commands/close.md +10 -10
- package/plugins/specweave-ado/commands/create.md +8 -8
- package/plugins/specweave-ado/commands/import-areas.md +15 -15
- package/plugins/specweave-ado/commands/import-projects.md +12 -12
- package/plugins/specweave-ado/commands/pull.md +25 -25
- package/plugins/specweave-ado/commands/push.md +20 -20
- package/plugins/specweave-ado/commands/reconcile.md +7 -7
- package/plugins/specweave-ado/commands/status.md +7 -7
- package/plugins/specweave-ado/commands/sync.md +17 -17
- package/plugins/specweave-ado/hooks/post-living-docs-update.sh +2 -2
- package/plugins/specweave-ado/lib/ado-project-detector.js +1 -1
- package/plugins/specweave-ado/lib/ado-project-detector.ts +1 -1
- package/plugins/specweave-ado/skills/{specweave-ado-mapper → ado-mapper}/SKILL.md +2 -2
- package/plugins/specweave-ado/skills/ado-multi-project/SKILL.md +6 -6
- package/plugins/specweave-ado/skills/ado-resource-validator/SKILL.md +5 -5
- package/plugins/specweave-ado/skills/ado-sync/SKILL.md +19 -19
- package/plugins/specweave-alternatives/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-alternatives/commands/alternatives-analyze.md +14 -14
- package/plugins/specweave-backend/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-confluent/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-cost-optimizer/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-cost-optimizer/commands/cost-analyze.md +1 -1
- package/plugins/specweave-cost-optimizer/commands/cost-optimize.md +1 -1
- package/plugins/specweave-diagrams/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-diagrams/commands/diagrams-generate.md +1 -1
- package/plugins/specweave-docs/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-docs/commands/build.md +9 -9
- package/plugins/specweave-docs/commands/generate.md +22 -22
- package/plugins/specweave-docs/commands/health.md +10 -10
- package/plugins/specweave-docs/commands/init.md +9 -9
- package/plugins/specweave-docs/commands/organize.md +10 -10
- package/plugins/specweave-docs/commands/validate.md +9 -9
- package/plugins/specweave-docs/commands/view.md +391 -0
- package/plugins/specweave-docs/skills/preview/SKILL.md +60 -21
- package/plugins/specweave-figma/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-figma/commands/figma-import.md +1 -1
- package/plugins/specweave-figma/commands/figma-to-react.md +1 -1
- package/plugins/specweave-figma/commands/figma-tokens.md +1 -1
- package/plugins/specweave-frontend/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-frontend/agents/frontend-architect/README.md +5 -5
- package/plugins/specweave-frontend/commands/component-generate.md +1 -1
- package/plugins/specweave-frontend/commands/design-system-init.md +1 -1
- package/plugins/specweave-frontend/commands/frontend-scaffold.md +1 -1
- package/plugins/specweave-frontend/commands/nextjs-setup.md +1 -1
- package/plugins/specweave-github/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-github/MULTI-PROJECT-SYNC-ARCHITECTURE.md +4 -4
- package/plugins/specweave-github/SYNC-ARCHITECTURE-FIX-SUMMARY.md +18 -18
- package/plugins/specweave-github/agents/github-manager/AGENT.md +8 -8
- package/plugins/specweave-github/commands/cleanup-duplicates.md +8 -8
- package/plugins/specweave-github/commands/close.md +25 -25
- package/plugins/specweave-github/commands/create.md +17 -17
- package/plugins/specweave-github/commands/pull.md +12 -12
- package/plugins/specweave-github/commands/push.md +12 -12
- package/plugins/specweave-github/commands/reconcile.md +7 -7
- package/plugins/specweave-github/commands/status.md +24 -24
- package/plugins/specweave-github/commands/sync.md +34 -34
- package/plugins/specweave-github/commands/update-user-story.md +6 -6
- package/plugins/specweave-github/hooks/README.md +8 -8
- package/plugins/specweave-github/hooks/post-task-completion.sh +2 -2
- package/plugins/specweave-github/lib/ThreeLayerSyncManager.js +12 -4
- package/plugins/specweave-github/lib/ThreeLayerSyncManager.ts +16 -4
- package/plugins/specweave-github/lib/completion-calculator.js +3 -1
- package/plugins/specweave-github/lib/completion-calculator.ts +6 -0
- package/plugins/specweave-github/lib/duplicate-detector.js +12 -6
- package/plugins/specweave-github/lib/duplicate-detector.ts +22 -6
- package/plugins/specweave-github/lib/github-board-resolver.js +7 -2
- package/plugins/specweave-github/lib/github-board-resolver.ts +13 -2
- package/plugins/specweave-github/lib/github-client-v2.js +29 -18
- package/plugins/specweave-github/lib/github-client-v2.ts +33 -18
- package/plugins/specweave-github/lib/github-feature-sync.js +41 -11
- package/plugins/specweave-github/lib/github-feature-sync.ts +52 -11
- package/plugins/specweave-github/lib/github-hierarchical-sync.js +6 -1
- package/plugins/specweave-github/lib/github-hierarchical-sync.ts +12 -1
- package/plugins/specweave-github/lib/github-increment-sync-cli.js +35 -17
- package/plugins/specweave-github/lib/github-increment-sync-cli.ts +44 -16
- package/plugins/specweave-github/lib/github-issue-updater.js +8 -3
- package/plugins/specweave-github/lib/github-issue-updater.ts +16 -3
- package/plugins/specweave-github/lib/github-spec-sync.js +14 -4
- package/plugins/specweave-github/lib/github-spec-sync.ts +19 -4
- package/plugins/specweave-github/lib/github-sync-bidirectional.js +8 -3
- package/plugins/specweave-github/lib/github-sync-bidirectional.ts +14 -3
- package/plugins/specweave-github/lib/github-sync-increment-changes.js +9 -4
- package/plugins/specweave-github/lib/github-sync-increment-changes.ts +15 -4
- package/plugins/specweave-github/lib/increment-issue-builder.js +23 -10
- package/plugins/specweave-github/lib/increment-issue-builder.ts +29 -11
- package/plugins/specweave-github/lib/user-story-content-builder.js +19 -16
- package/plugins/specweave-github/lib/user-story-content-builder.ts +24 -19
- package/plugins/specweave-github/lib/user-story-issue-builder.js +10 -13
- package/plugins/specweave-github/lib/user-story-issue-builder.ts +20 -19
- package/plugins/specweave-github/reference/github-specweave-mapping.md +1 -1
- package/plugins/specweave-github/skills/github-issue-standard/SKILL.md +3 -3
- package/plugins/specweave-github/skills/github-issue-tracker/SKILL.md +8 -8
- package/plugins/specweave-github/skills/github-sync/SKILL.md +14 -14
- package/plugins/specweave-infrastructure/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-infrastructure/commands/{specweave-infrastructure-monitor-setup.md → monitor-setup.md} +1 -1
- package/plugins/specweave-infrastructure/commands/{specweave-infrastructure-slo-implement.md → slo-implement.md} +1 -1
- package/plugins/specweave-jira/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-jira/agents/jira-sync-judge/AGENT.md +3 -3
- package/plugins/specweave-jira/commands/cleanup-duplicates.md +9 -9
- package/plugins/specweave-jira/commands/close.md +13 -13
- package/plugins/specweave-jira/commands/create.md +8 -8
- package/plugins/specweave-jira/commands/import-boards.md +15 -15
- package/plugins/specweave-jira/commands/import-projects-full.md +15 -15
- package/plugins/specweave-jira/commands/import-projects.md +10 -10
- package/plugins/specweave-jira/commands/pull.md +10 -10
- package/plugins/specweave-jira/commands/push.md +11 -11
- package/plugins/specweave-jira/commands/reconcile.md +7 -7
- package/plugins/specweave-jira/commands/status.md +16 -16
- package/plugins/specweave-jira/commands/sync.md +27 -27
- package/plugins/specweave-jira/skills/{specweave-jira-mapper → jira-mapper}/SKILL.md +2 -2
- package/plugins/specweave-jira/skills/jira-resource-validator/SKILL.md +4 -4
- package/plugins/specweave-jira/skills/jira-sync/SKILL.md +5 -5
- package/plugins/specweave-kafka/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-kafka/IMPLEMENTATION-COMPLETE.md +10 -10
- package/plugins/specweave-kafka/README.md +12 -12
- package/plugins/specweave-kafka/commands/deploy.md +5 -5
- package/plugins/specweave-kafka/commands/dev-env.md +2 -2
- package/plugins/specweave-kafka/commands/mcp-configure.md +3 -3
- package/plugins/specweave-kafka/commands/monitor-setup.md +3 -3
- package/plugins/specweave-kafka/skills/kafka-architecture/SKILL.md +4 -4
- package/plugins/specweave-kafka/skills/kafka-cli-tools/SKILL.md +5 -5
- package/plugins/specweave-kafka/skills/kafka-mcp-integration/SKILL.md +6 -6
- package/plugins/specweave-kafka-streams/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-kafka-streams/commands/topology.md +4 -4
- package/plugins/specweave-kubernetes/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-ml/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-ml/README.md +9 -9
- package/plugins/specweave-ml/commands/{specweave-ml-deploy.md → deploy.md} +1 -1
- package/plugins/specweave-ml/commands/{specweave-ml-evaluate.md → evaluate.md} +1 -1
- package/plugins/specweave-ml/commands/{specweave-ml-explain.md → explain.md} +1 -1
- package/plugins/specweave-ml/commands/{specweave-ml-pipeline.md → pipeline.md} +1 -1
- package/plugins/specweave-ml/skills/automl-optimizer/SKILL.md +1 -1
- package/plugins/specweave-ml/skills/data-visualizer/SKILL.md +1 -1
- package/plugins/specweave-ml/skills/experiment-tracker/SKILL.md +4 -4
- package/plugins/specweave-ml/skills/feature-engineer/SKILL.md +1 -1
- package/plugins/specweave-ml/skills/ml-deployment-helper/SKILL.md +2 -2
- package/plugins/specweave-ml/skills/ml-pipeline-orchestrator/SKILL.md +10 -10
- package/plugins/specweave-ml/skills/model-registry/SKILL.md +1 -1
- package/plugins/specweave-ml/skills/time-series-forecaster/SKILL.md +1 -1
- package/plugins/specweave-mobile/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-mobile/README.md +2 -2
- package/plugins/specweave-mobile/agents/mobile-architect/AGENT.md +2 -2
- package/plugins/specweave-mobile/skills/react-native-setup/SKILL.md +1 -1
- package/plugins/specweave-n8n/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-n8n/commands/workflow-template.md +4 -4
- package/plugins/specweave-payments/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-payments/commands/stripe-setup.md +1 -1
- package/plugins/specweave-payments/commands/subscription-flow.md +1 -1
- package/plugins/specweave-plugin-dev/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-plugin-dev/commands/plugin-create.md +1 -1
- package/plugins/specweave-plugin-dev/commands/plugin-publish.md +1 -1
- package/plugins/specweave-plugin-dev/commands/plugin-test.md +1 -1
- package/plugins/specweave-release/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-release/IMPLEMENTATION.md +14 -14
- package/plugins/specweave-release/README.md +33 -33
- package/plugins/specweave-release/agents/release-manager/AGENT.md +18 -18
- package/plugins/specweave-release/commands/{specweave-release-align.md → align.md} +19 -19
- package/plugins/specweave-release/commands/{specweave-release-init.md → init.md} +19 -19
- package/plugins/specweave-release/commands/{specweave-release-npm.md → npm.md} +14 -14
- package/plugins/specweave-release/commands/{specweave-release-platform.md → platform.md} +17 -17
- package/plugins/specweave-release/commands/{specweave-release-rc.md → rc.md} +37 -37
- package/plugins/specweave-release/hooks/post-task-completion.sh +1 -1
- package/plugins/specweave-release/skills/rc-manager/SKILL.md +12 -12
- package/plugins/specweave-release/skills/release-coordinator/SKILL.md +11 -11
- package/plugins/specweave-release/skills/release-strategy-advisor/SKILL.md +4 -4
- package/plugins/specweave-release/skills/version-aligner/SKILL.md +7 -7
- package/plugins/specweave-testing/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-testing/agents/qa-engineer/README.md +5 -5
- package/plugins/specweave-testing/commands/e2e-setup.md +1 -1
- package/plugins/specweave-testing/commands/test-coverage.md +1 -1
- package/plugins/specweave-testing/commands/test-generate.md +1 -1
- package/plugins/specweave-testing/commands/test-init.md +1 -1
- package/plugins/specweave-tooling/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-tooling/commands/{specweave-tooling-skill-create.md → skill-create.md} +1 -1
- package/plugins/specweave-tooling/commands/{specweave-tooling-skill-package.md → skill-package.md} +1 -1
- package/plugins/specweave-tooling/commands/{specweave-tooling-skill-validate.md → skill-validate.md} +1 -1
- package/plugins/specweave-ui/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-ui/commands/ui-automate.md +9 -9
- package/plugins/specweave-ui/commands/ui-inspect.md +6 -6
- package/src/templates/AGENTS.md.template +73 -77
- package/src/templates/CLAUDE.md.template +23 -19
- package/dist/src/cli/commands/switch-project.d.ts +0 -13
- package/dist/src/cli/commands/switch-project.d.ts.map +0 -1
- package/dist/src/cli/commands/switch-project.js +0 -78
- package/dist/src/cli/commands/switch-project.js.map +0 -1
- package/plugins/specweave/commands/specweave-init-multiproject.md +0 -146
- package/plugins/specweave/commands/specweave-judge.md +0 -276
- package/plugins/specweave-core/.claude-plugin/plugin.json +0 -21
- package/plugins/specweave-core/commands/architecture-review.md +0 -288
- package/plugins/specweave-core/commands/code-review.md +0 -213
- package/plugins/specweave-core/commands/refactor-plan.md +0 -249
- package/plugins/specweave-core/skills/code-quality/SKILL.md +0 -158
- package/plugins/specweave-core/skills/design-patterns/SKILL.md +0 -245
- package/plugins/specweave-core/skills/software-architecture/SKILL.md +0 -84
- package/plugins/specweave-docs/commands/preview.md +0 -274
- /package/plugins/specweave/skills/{specweave-framework → framework}/test-cases/test-1-increment-naming.yaml +0 -0
- /package/plugins/specweave/skills/{specweave-framework → framework}/test-cases/test-2-source-of-truth.yaml +0 -0
- /package/plugins/specweave/skills/{specweave-framework → framework}/test-cases/test-3-increment-discipline.yaml +0 -0
- /package/plugins/specweave/skills/{specweave-framework → framework}/test-cases/test-4-file-placement.yaml +0 -0
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
|
|
23
23
|
**Initial Increment**: `0001-project-setup` (`.specweave/increments/0001-project-setup/`)
|
|
24
24
|
|
|
25
|
-
1. **Start Fresh**: Delete it, run `/
|
|
25
|
+
1. **Start Fresh**: Delete it, run `/sw:increment "your-feature"`
|
|
26
26
|
2. **Customize**: Edit spec.md in the increment folder
|
|
27
27
|
|
|
28
28
|
---
|
|
@@ -32,16 +32,17 @@
|
|
|
32
32
|
```
|
|
33
33
|
1. NEVER pollute project root with .md files
|
|
34
34
|
2. Increment IDs unique (0001-9999)
|
|
35
|
-
3. ONLY
|
|
35
|
+
3. ONLY 4 files in increment root: metadata.json, spec.md, plan.md, tasks.md
|
|
36
36
|
4. All reports/scripts/logs → increment subfolders
|
|
37
|
-
5.
|
|
37
|
+
5. metadata.json MUST exist BEFORE spec.md can be created
|
|
38
38
|
6. tasks.md + spec.md = SOURCE OF TRUTH (update after every task!)
|
|
39
39
|
```
|
|
40
40
|
|
|
41
41
|
**File Organization**:
|
|
42
42
|
```
|
|
43
43
|
.specweave/increments/0001-feature/
|
|
44
|
-
├──
|
|
44
|
+
├── metadata.json # REQUIRED - create FIRST
|
|
45
|
+
├── spec.md, plan.md, tasks.md # Core increment docs
|
|
45
46
|
├── reports/ # SESSION-*.md, analysis, etc.
|
|
46
47
|
├── scripts/ # Helper scripts
|
|
47
48
|
└── logs/ # Execution logs
|
|
@@ -55,21 +56,21 @@
|
|
|
55
56
|
|
|
56
57
|
| Command | Purpose |
|
|
57
58
|
|---------|---------|
|
|
58
|
-
| `/
|
|
59
|
-
| `/
|
|
60
|
-
| `/
|
|
61
|
-
| `/
|
|
62
|
-
| `/
|
|
63
|
-
| `/
|
|
64
|
-
| `/
|
|
59
|
+
| `/sw:increment "name"` | Plan new feature (PM-led) |
|
|
60
|
+
| `/sw:do` | Execute tasks from active increment |
|
|
61
|
+
| `/sw:done 0001` | Close increment (validates gates) |
|
|
62
|
+
| `/sw:progress` | Show task completion status |
|
|
63
|
+
| `/sw:validate 0001` | Quality check before closing |
|
|
64
|
+
| `/sw:sync-tasks` | Sync tasks.md with reality |
|
|
65
|
+
| `/sw:sync-docs update` | Sync to living docs |
|
|
65
66
|
|
|
66
67
|
### Plugin Commands (when installed)
|
|
67
68
|
|
|
68
69
|
| Command | Purpose |
|
|
69
70
|
|---------|---------|
|
|
70
|
-
| `/
|
|
71
|
-
| `/
|
|
72
|
-
| `/
|
|
71
|
+
| `/sw-github:sync 0001` | Sync increment to GitHub issue |
|
|
72
|
+
| `/sw-jira:sync 0001` | Sync to Jira |
|
|
73
|
+
| `/sw-ado:sync 0001` | Sync to Azure DevOps |
|
|
73
74
|
|
|
74
75
|
---
|
|
75
76
|
|
|
@@ -84,7 +85,7 @@ SpecWeave v0.28+ introduces powerful automation that **works differently** in no
|
|
|
84
85
|
| Feature | Claude Code | Non-Claude Tools |
|
|
85
86
|
|---------|-------------|------------------|
|
|
86
87
|
| **Living Docs Builder** | Auto-runs after init | Use `specweave jobs --follow` to monitor |
|
|
87
|
-
| **Bidirectional Sync** | Pull sync on session start | Run `/
|
|
88
|
+
| **Bidirectional Sync** | Pull sync on session start | Run `/sw:sync-pull` manually |
|
|
88
89
|
| **Background Jobs** | Automatic with hooks | Monitor with `specweave jobs` CLI |
|
|
89
90
|
| **EDA Hooks** | Auto-detect task completion | Manually update tasks.md + spec.md |
|
|
90
91
|
|
|
@@ -183,9 +184,9 @@ This gives you the SAME experience as Claude Code with MCP, but deterministic an
|
|
|
183
184
|
# Change: - [ ] AC-US1-01 → - [x] AC-US1-01
|
|
184
185
|
|
|
185
186
|
# Step 3: Sync to external tools (if configured)
|
|
186
|
-
/
|
|
187
|
-
/
|
|
188
|
-
/
|
|
187
|
+
/sw:sync-tasks
|
|
188
|
+
/sw-github:sync <increment-id> # If GitHub enabled
|
|
189
|
+
/sw-jira:sync <increment-id> # If Jira enabled
|
|
189
190
|
```
|
|
190
191
|
|
|
191
192
|
#### 2. After User Story Completion (all ACs satisfied)
|
|
@@ -194,25 +195,25 @@ This gives you the SAME experience as Claude Code with MCP, but deterministic an
|
|
|
194
195
|
# When ALL acceptance criteria for a user story are [x] checked:
|
|
195
196
|
|
|
196
197
|
# Step 1: Sync to living docs
|
|
197
|
-
/
|
|
198
|
+
/sw:sync-docs update
|
|
198
199
|
|
|
199
200
|
# Step 2: Update GitHub/Jira issue status
|
|
200
|
-
/
|
|
201
|
+
/sw-github:sync <increment-id>
|
|
201
202
|
```
|
|
202
203
|
|
|
203
204
|
#### 3. After Increment Completion
|
|
204
205
|
```bash
|
|
205
206
|
# Claude hook: PostIncrementDone
|
|
206
|
-
# When running /
|
|
207
|
+
# When running /sw:done:
|
|
207
208
|
|
|
208
209
|
# Step 1: Validate all tasks complete
|
|
209
|
-
/
|
|
210
|
+
/sw:validate <increment-id>
|
|
210
211
|
|
|
211
212
|
# Step 2: Sync living docs
|
|
212
|
-
/
|
|
213
|
+
/sw:sync-docs update
|
|
213
214
|
|
|
214
215
|
# Step 3: Close external issues
|
|
215
|
-
/
|
|
216
|
+
/sw-github:close-issue <increment-id>
|
|
216
217
|
```
|
|
217
218
|
|
|
218
219
|
#### 4. After Writing to spec.md or tasks.md
|
|
@@ -221,10 +222,10 @@ This gives you the SAME experience as Claude Code with MCP, but deterministic an
|
|
|
221
222
|
# After any edit to spec.md or tasks.md:
|
|
222
223
|
|
|
223
224
|
# Sync status line cache
|
|
224
|
-
/
|
|
225
|
+
/sw:sync-tasks
|
|
225
226
|
|
|
226
227
|
# If external tools configured, sync progress
|
|
227
|
-
/
|
|
228
|
+
/sw-github:sync <increment-id>
|
|
228
229
|
```
|
|
229
230
|
|
|
230
231
|
#### 5. Bidirectional Sync - PULL from External Tools (NEW in v0.28)
|
|
@@ -233,7 +234,7 @@ This gives you the SAME experience as Claude Code with MCP, but deterministic an
|
|
|
233
234
|
# For non-Claude tools, run manually to catch external changes:
|
|
234
235
|
|
|
235
236
|
# Pull changes from external tools (status, priority, assignee)
|
|
236
|
-
/
|
|
237
|
+
/sw:sync-pull
|
|
237
238
|
|
|
238
239
|
# This does:
|
|
239
240
|
# 1. Query ADO/JIRA/GitHub for items changed since last sync
|
|
@@ -291,7 +292,7 @@ In non-Claude tools, commands are markdown workflows:
|
|
|
291
292
|
|
|
292
293
|
```bash
|
|
293
294
|
# Find and read command file
|
|
294
|
-
cat plugins/specweave/commands/
|
|
295
|
+
cat plugins/specweave/commands/increment.md
|
|
295
296
|
# Follow the workflow steps manually
|
|
296
297
|
```
|
|
297
298
|
|
|
@@ -303,9 +304,9 @@ cat plugins/specweave/commands/specweave-increment.md
|
|
|
303
304
|
├─────────────────────────────────────────────────────────────┤
|
|
304
305
|
│ 1. Update tasks.md: [ ] → [x] │
|
|
305
306
|
│ 2. Update spec.md ACs if satisfied: [ ] → [x] │
|
|
306
|
-
│ 3. Run: /
|
|
307
|
-
│ 4. Run: /
|
|
308
|
-
│ 5. If all ACs for US done: /
|
|
307
|
+
│ 3. Run: /sw:sync-tasks │
|
|
308
|
+
│ 4. Run: /sw-github:sync <id> (if GitHub configured) │
|
|
309
|
+
│ 5. If all ACs for US done: /sw:sync-docs update │
|
|
309
310
|
└─────────────────────────────────────────────────────────────┘
|
|
310
311
|
```
|
|
311
312
|
|
|
@@ -315,10 +316,10 @@ cat plugins/specweave/commands/specweave-increment.md
|
|
|
315
316
|
┌─────────────────────────────────────────────────────────────┐
|
|
316
317
|
│ START OF EVERY SESSION (FOR NON-CLAUDE TOOLS) │
|
|
317
318
|
├─────────────────────────────────────────────────────────────┤
|
|
318
|
-
│ 1. Pull external changes: /
|
|
319
|
+
│ 1. Pull external changes: /sw:sync-pull │
|
|
319
320
|
│ 2. Check job status: specweave jobs │
|
|
320
|
-
│ 3. Check progress: /
|
|
321
|
-
│ 4. Continue work: /
|
|
321
|
+
│ 3. Check progress: /sw:progress │
|
|
322
|
+
│ 4. Continue work: /sw:do │
|
|
322
323
|
└─────────────────────────────────────────────────────────────┘
|
|
323
324
|
```
|
|
324
325
|
|
|
@@ -352,12 +353,12 @@ cat plugins/specweave/commands/specweave-increment.md
|
|
|
352
353
|
|
|
353
354
|
| Command | What It Does | When to Run |
|
|
354
355
|
|---------|--------------|-------------|
|
|
355
|
-
| `/
|
|
356
|
-
| `/
|
|
357
|
-
| `/
|
|
358
|
-
| `/
|
|
359
|
-
| `/
|
|
360
|
-
| `/
|
|
356
|
+
| `/sw:sync-tasks` | Recalculates progress from tasks.md | After editing tasks.md |
|
|
357
|
+
| `/sw:sync-docs update` | Updates living docs from increment | After US complete |
|
|
358
|
+
| `/sw-github:sync <id>` | Syncs progress to GitHub issue | After each task |
|
|
359
|
+
| `/sw-github:close-issue <id>` | Closes GitHub issue | On increment done |
|
|
360
|
+
| `/sw-jira:sync <id>` | Syncs progress to Jira story | After each task |
|
|
361
|
+
| `/sw-ado:sync <id>` | Syncs to Azure DevOps work item | After each task |
|
|
361
362
|
|
|
362
363
|
### Complete Sync Flow (Non-Claude Tools)
|
|
363
364
|
|
|
@@ -378,19 +379,19 @@ TASK COMPLETED
|
|
|
378
379
|
│
|
|
379
380
|
▼
|
|
380
381
|
┌─────────────────────────────┐
|
|
381
|
-
│ 3. /
|
|
382
|
+
│ 3. /sw:sync-tasks │
|
|
382
383
|
│ Updates progress cache │
|
|
383
384
|
└─────────────────────────────┘
|
|
384
385
|
│
|
|
385
386
|
▼
|
|
386
387
|
┌─────────────────────────────┐
|
|
387
|
-
│ 4. /
|
|
388
|
+
│ 4. /sw-github:sync │
|
|
388
389
|
│ Updates GitHub issue │
|
|
389
390
|
└─────────────────────────────┘
|
|
390
391
|
│
|
|
391
392
|
▼ (if all ACs for US done)
|
|
392
393
|
┌─────────────────────────────┐
|
|
393
|
-
│ 5. /
|
|
394
|
+
│ 5. /sw:sync-docs │
|
|
394
395
|
│ Updates living docs │
|
|
395
396
|
└─────────────────────────────┘
|
|
396
397
|
```
|
|
@@ -410,26 +411,21 @@ TASK COMPLETED
|
|
|
410
411
|
|
|
411
412
|
## Context Loading {#context-loading}
|
|
412
413
|
|
|
413
|
-
###
|
|
414
|
+
### Efficient Context Management
|
|
414
415
|
|
|
415
416
|
```
|
|
416
|
-
|
|
417
|
-
|
|
417
|
+
Read only what's needed for the current task:
|
|
418
|
+
- Active increment: spec.md, tasks.md (always)
|
|
419
|
+
- Supporting docs: only when referenced in tasks
|
|
420
|
+
- Living docs: load per-US when implementing
|
|
418
421
|
```
|
|
419
422
|
|
|
420
|
-
###
|
|
423
|
+
### Token-Efficient Approach
|
|
421
424
|
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
- .specweave/docs/internal/architecture/hld.md
|
|
427
|
-
documentation:
|
|
428
|
-
- .specweave/docs/internal/specs/default/relevant-spec.md
|
|
429
|
-
max_context_tokens: 10000
|
|
430
|
-
```
|
|
431
|
-
|
|
432
|
-
**Rule**: Read context-manifest.yaml FIRST. Only load files listed there.
|
|
425
|
+
1. Start with increment's `tasks.md` - contains current task list
|
|
426
|
+
2. Reference `spec.md` for acceptance criteria
|
|
427
|
+
3. Load living docs only when needed for context
|
|
428
|
+
4. Avoid loading entire documentation trees
|
|
433
429
|
|
|
434
430
|
---
|
|
435
431
|
|
|
@@ -439,10 +435,10 @@ max_context_tokens: 10000
|
|
|
439
435
|
.specweave/
|
|
440
436
|
├── increments/ # Feature increments (0001-9999)
|
|
441
437
|
│ └── 0001-feature/
|
|
438
|
+
│ ├── metadata.json # Increment metadata - REQUIRED
|
|
442
439
|
│ ├── spec.md # WHAT & WHY (user stories, ACs)
|
|
443
|
-
│ ├── plan.md # HOW (architecture, APIs)
|
|
444
|
-
│
|
|
445
|
-
│ └── context-manifest.yaml # Files to load
|
|
440
|
+
│ ├── plan.md # HOW (architecture, APIs) - optional
|
|
441
|
+
│ └── tasks.md # Task checklist with test plans
|
|
446
442
|
├── docs/internal/
|
|
447
443
|
│ ├── strategy/ # PRD, business requirements
|
|
448
444
|
│ ├── specs/ # Living docs (extracted user stories)
|
|
@@ -521,10 +517,10 @@ AI: [Creates .specweave/increments/0001-auth/spec.md, plan.md, tasks.md]
|
|
|
521
517
|
|
|
522
518
|
### Creating Increment
|
|
523
519
|
1. `mkdir -p .specweave/increments/0001-feature`
|
|
524
|
-
2. Create `
|
|
525
|
-
3. Create `
|
|
520
|
+
2. Create `metadata.json` (increment metadata) - **MUST be FIRST**
|
|
521
|
+
3. Create `spec.md` (WHAT/WHY, user stories, ACs)
|
|
526
522
|
4. Create `tasks.md` (task checklist with tests)
|
|
527
|
-
5. Create `
|
|
523
|
+
5. Optional: Create `plan.md` (HOW, architecture) for complex features
|
|
528
524
|
|
|
529
525
|
### Completing Tasks
|
|
530
526
|
1. Implement the task
|
|
@@ -533,7 +529,7 @@ AI: [Creates .specweave/increments/0001-auth/spec.md, plan.md, tasks.md]
|
|
|
533
529
|
4. Sync to external trackers if enabled
|
|
534
530
|
|
|
535
531
|
### Closing Increment
|
|
536
|
-
1. Run `/
|
|
532
|
+
1. Run `/sw:done 0001`
|
|
537
533
|
2. PM validates 3 gates (tasks, tests, docs)
|
|
538
534
|
3. Living docs synced automatically
|
|
539
535
|
4. GitHub issue closed (if enabled)
|
|
@@ -544,9 +540,9 @@ AI: [Creates .specweave/increments/0001-auth/spec.md, plan.md, tasks.md]
|
|
|
544
540
|
|
|
545
541
|
| Command | Plugin |
|
|
546
542
|
|---------|--------|
|
|
547
|
-
| `/
|
|
548
|
-
| `/
|
|
549
|
-
| `/
|
|
543
|
+
| `/sw-github:sync` | GitHub sync |
|
|
544
|
+
| `/sw-jira:sync` | Jira sync |
|
|
545
|
+
| `/sw-ado:sync` | Azure DevOps |
|
|
550
546
|
|
|
551
547
|
---
|
|
552
548
|
|
|
@@ -559,7 +555,7 @@ AI: [Creates .specweave/increments/0001-auth/spec.md, plan.md, tasks.md]
|
|
|
559
555
|
```bash
|
|
560
556
|
# Find and read the command file
|
|
561
557
|
ls plugins/specweave/commands/
|
|
562
|
-
cat plugins/specweave/commands/
|
|
558
|
+
cat plugins/specweave/commands/increment.md
|
|
563
559
|
# Follow the workflow steps manually
|
|
564
560
|
```
|
|
565
561
|
|
|
@@ -569,9 +565,9 @@ cat plugins/specweave/commands/specweave-increment.md
|
|
|
569
565
|
|
|
570
566
|
**Solution** (run after EVERY task in non-Claude tools):
|
|
571
567
|
```bash
|
|
572
|
-
/
|
|
573
|
-
/
|
|
574
|
-
/
|
|
568
|
+
/sw:sync-tasks # Update tasks.md
|
|
569
|
+
/sw:sync-docs update # Sync living docs
|
|
570
|
+
/sw-github:sync <increment-id> # Sync to GitHub
|
|
575
571
|
```
|
|
576
572
|
|
|
577
573
|
### Root Folder Polluted
|
|
@@ -593,18 +589,18 @@ mv *.md .specweave/increments/$CURRENT/reports/
|
|
|
593
589
|
**Status**: [ ] pending → **Status**: [x] completed
|
|
594
590
|
```
|
|
595
591
|
|
|
596
|
-
Or run: `/
|
|
592
|
+
Or run: `/sw:sync-tasks`
|
|
597
593
|
|
|
598
594
|
### Context Explosion / Crashes
|
|
599
595
|
|
|
600
596
|
**Symptoms**: Tool crashes 10-50s after start
|
|
601
597
|
|
|
602
|
-
**Causes**: Loading too many files
|
|
598
|
+
**Causes**: Loading too many files at once
|
|
603
599
|
|
|
604
600
|
**Fix**:
|
|
605
|
-
1.
|
|
606
|
-
2.
|
|
607
|
-
3. Never load entire `.specweave/docs/` folder
|
|
601
|
+
1. Load only the active increment's spec.md and tasks.md
|
|
602
|
+
2. Reference living docs only when needed for specific tasks
|
|
603
|
+
3. Never load entire `.specweave/docs/` folder at once
|
|
608
604
|
|
|
609
605
|
### Skills/Agents Not Activating
|
|
610
606
|
|
|
@@ -43,21 +43,21 @@ Edit("spec.md", "- [ ] **AC-US1-01**", "- [x] **AC-US1-01**");
|
|
|
43
43
|
## Core Workflow
|
|
44
44
|
|
|
45
45
|
```
|
|
46
|
-
/
|
|
46
|
+
/sw:increment "feature" → /sw:do → /sw:progress → /sw:done 0001
|
|
47
47
|
```
|
|
48
48
|
|
|
49
49
|
| Command | Purpose |
|
|
50
50
|
|---------|---------|
|
|
51
|
-
| `/
|
|
52
|
-
| `/
|
|
53
|
-
| `/
|
|
54
|
-
| `/
|
|
55
|
-
| `/
|
|
51
|
+
| `/sw:increment "X"` | Plan new feature |
|
|
52
|
+
| `/sw:do` | Execute implementation |
|
|
53
|
+
| `/sw:progress` | Check status |
|
|
54
|
+
| `/sw:validate 0001` | Quality check |
|
|
55
|
+
| `/sw:done 0001` | Close increment |
|
|
56
56
|
|
|
57
57
|
**Sync Commands** (if plugins installed):
|
|
58
|
-
- `/
|
|
59
|
-
- `/
|
|
60
|
-
- `/
|
|
58
|
+
- `/sw-github:sync` - Sync to GitHub Issues
|
|
59
|
+
- `/sw-jira:sync` - Sync to Jira
|
|
60
|
+
- `/sw-ado:sync` - Sync to Azure DevOps
|
|
61
61
|
|
|
62
62
|
---
|
|
63
63
|
|
|
@@ -67,10 +67,10 @@ Edit("spec.md", "- [ ] **AC-US1-01**", "- [x] **AC-US1-01**");
|
|
|
67
67
|
.specweave/
|
|
68
68
|
├── increments/ # Feature increments (####-name/)
|
|
69
69
|
│ └── 0001-feature/
|
|
70
|
+
│ ├── metadata.json # Increment metadata - REQUIRED
|
|
70
71
|
│ ├── spec.md # WHAT & WHY
|
|
71
|
-
│ ├── plan.md # HOW
|
|
72
|
-
│
|
|
73
|
-
│ └── context-manifest.yaml # Selective loading
|
|
72
|
+
│ ├── plan.md # HOW (optional)
|
|
73
|
+
│ └── tasks.md # Checklist with embedded tests
|
|
74
74
|
├── docs/internal/
|
|
75
75
|
│ ├── strategy/ # Business specs
|
|
76
76
|
│ ├── specs/ # Living docs (post-completion)
|
|
@@ -96,12 +96,16 @@ Edit("spec.md", "- [ ] **AC-US1-01**", "- [x] **AC-US1-01**");
|
|
|
96
96
|
|
|
97
97
|
---
|
|
98
98
|
|
|
99
|
-
##
|
|
99
|
+
## Increment Files
|
|
100
100
|
|
|
101
|
-
**
|
|
102
|
-
-
|
|
103
|
-
-
|
|
104
|
-
-
|
|
101
|
+
**Required files** for every increment:
|
|
102
|
+
1. `metadata.json` - Increment metadata (status, type, dates) - MUST create FIRST
|
|
103
|
+
2. `spec.md` - User stories, acceptance criteria
|
|
104
|
+
3. `tasks.md` - Implementation tasks with embedded tests
|
|
105
|
+
|
|
106
|
+
**Optional**:
|
|
107
|
+
- `plan.md` - Technical design (for complex features only)
|
|
108
|
+
- `reports/` - Completion reports, analyses
|
|
105
109
|
|
|
106
110
|
---
|
|
107
111
|
|
|
@@ -180,8 +184,8 @@ After **EVERY task completion**, hooks automatically:
|
|
|
180
184
|
| Skills not activating | Restart Claude Code |
|
|
181
185
|
| Commands not found | Check plugin: `/plugin list --installed` |
|
|
182
186
|
| Root polluted | Move files to increment folders |
|
|
183
|
-
| Tasks out of sync | `/
|
|
184
|
-
| Can't find increment | `/
|
|
187
|
+
| Tasks out of sync | `/sw:sync-tasks` |
|
|
188
|
+
| Can't find increment | `/sw:status` |
|
|
185
189
|
|
|
186
190
|
---
|
|
187
191
|
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CLI Command: /specweave:switch-project
|
|
3
|
-
*
|
|
4
|
-
* Switch active project for increment planning
|
|
5
|
-
*/
|
|
6
|
-
export declare function switchProject(projectRoot: string, projectId?: string): Promise<void>;
|
|
7
|
-
/**
|
|
8
|
-
* Get current active project
|
|
9
|
-
*
|
|
10
|
-
* @param projectRoot - Project root directory
|
|
11
|
-
*/
|
|
12
|
-
export declare function getCurrentProject(projectRoot: string): Promise<void>;
|
|
13
|
-
//# sourceMappingURL=switch-project.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"switch-project.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/switch-project.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAYH,wBAAsB,aAAa,CACjC,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAmDf;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkB1E"}
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CLI Command: /specweave:switch-project
|
|
3
|
-
*
|
|
4
|
-
* Switch active project for increment planning
|
|
5
|
-
*/
|
|
6
|
-
import { ProjectManager } from '../../core/project/project-manager.js';
|
|
7
|
-
import { ConfigManager } from '../../core/config-manager.js';
|
|
8
|
-
import { listProjects } from './init-multiproject.js';
|
|
9
|
-
// NOTE: This CLI switch-project command is primarily user-facing output (console.log/console.error).
|
|
10
|
-
// All console.* calls in this file are legitimate user-facing exceptions
|
|
11
|
-
// as defined in CONTRIBUTING.md (project switching status, confirmations, errors).
|
|
12
|
-
// Logger infrastructure available for future internal debug logs if needed.
|
|
13
|
-
export async function switchProject(projectRoot, projectId) {
|
|
14
|
-
const projectManager = new ProjectManager(projectRoot);
|
|
15
|
-
const configManager = new ConfigManager(projectRoot);
|
|
16
|
-
const config = configManager.load();
|
|
17
|
-
// Check if multi-project mode is enabled
|
|
18
|
-
if (!config.multiProject?.enabled) {
|
|
19
|
-
console.error('\n❌ Multi-project mode not enabled');
|
|
20
|
-
console.error(' Run /specweave:init-multiproject first\n');
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
// If no project ID provided, list projects and prompt
|
|
24
|
-
if (!projectId) {
|
|
25
|
-
await listProjects(projectRoot);
|
|
26
|
-
console.log('Usage: /specweave:switch-project <project-id>\n');
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
try {
|
|
30
|
-
// Validate project exists
|
|
31
|
-
const project = projectManager.getProjectById(projectId);
|
|
32
|
-
if (!project) {
|
|
33
|
-
const allProjects = projectManager.getAllProjects();
|
|
34
|
-
const availableIds = allProjects.map(p => p.projectId).join(', ');
|
|
35
|
-
console.error(`\n❌ Project '${projectId}' not found`);
|
|
36
|
-
console.error(` Available projects: ${availableIds}\n`);
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
// Check if already active
|
|
40
|
-
const currentActive = projectManager.getActiveProject();
|
|
41
|
-
if (currentActive.projectId === projectId) {
|
|
42
|
-
console.log(`\nℹ️ Project '${project.projectName}' is already active\n`);
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
// Switch project
|
|
46
|
-
await projectManager.switchProject(projectId);
|
|
47
|
-
console.log(`\n✅ Switched to project: ${project.projectName} (${projectId})`);
|
|
48
|
-
console.log('\nℹ️ Future increments will use:');
|
|
49
|
-
console.log(` - ${projectManager.getSpecsPath(projectId).replace(projectRoot, '')}`);
|
|
50
|
-
console.log(` - ${projectManager.getModulesPath(projectId).replace(projectRoot, '')}`);
|
|
51
|
-
console.log(` - ${projectManager.getTeamPath(projectId).replace(projectRoot, '')}\n`);
|
|
52
|
-
}
|
|
53
|
-
catch (error) {
|
|
54
|
-
console.error(`\n❌ Failed to switch project: ${error instanceof Error ? error.message : String(error)}\n`);
|
|
55
|
-
throw error;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Get current active project
|
|
60
|
-
*
|
|
61
|
-
* @param projectRoot - Project root directory
|
|
62
|
-
*/
|
|
63
|
-
export async function getCurrentProject(projectRoot) {
|
|
64
|
-
const projectManager = new ProjectManager(projectRoot);
|
|
65
|
-
const project = projectManager.getActiveProject();
|
|
66
|
-
console.log('\n📋 Current Active Project:\n');
|
|
67
|
-
console.log(` ID: ${project.projectId}`);
|
|
68
|
-
console.log(` Name: ${project.projectName}`);
|
|
69
|
-
console.log(` Path: ${project.projectPath}`);
|
|
70
|
-
if (project.techStack.length > 0) {
|
|
71
|
-
console.log(` Tech Stack: ${project.techStack.join(', ')}`);
|
|
72
|
-
}
|
|
73
|
-
if (project.keywords.length > 0) {
|
|
74
|
-
console.log(` Keywords: ${project.keywords.join(', ')}`);
|
|
75
|
-
}
|
|
76
|
-
console.log('');
|
|
77
|
-
}
|
|
78
|
-
//# sourceMappingURL=switch-project.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"switch-project.js","sourceRoot":"","sources":["../../../../src/cli/commands/switch-project.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAGtD,qGAAqG;AACrG,yEAAyE;AACzE,mFAAmF;AACnF,4EAA4E;AAE5E,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,WAAmB,EACnB,SAAkB;IAElB,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,WAAW,CAAC,CAAC;IACvD,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,WAAW,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC;IAEpC,yCAAyC;IACzC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACpD,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;QAC7D,OAAO;IACT,CAAC;IAED,sDAAsD;IACtD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,YAAY,CAAC,WAAW,CAAC,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;QAC/D,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,0BAA0B;QAC1B,MAAM,OAAO,GAAG,cAAc,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,WAAW,GAAG,cAAc,CAAC,cAAc,EAAE,CAAC;YACpD,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAElE,OAAO,CAAC,KAAK,CAAC,gBAAgB,SAAS,aAAa,CAAC,CAAC;YACtD,OAAO,CAAC,KAAK,CAAC,0BAA0B,YAAY,IAAI,CAAC,CAAC;YAC1D,OAAO;QACT,CAAC;QAED,0BAA0B;QAC1B,MAAM,aAAa,GAAG,cAAc,CAAC,gBAAgB,EAAE,CAAC;QACxD,IAAI,aAAa,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,kBAAkB,OAAO,CAAC,WAAW,uBAAuB,CAAC,CAAC;YAC1E,OAAO;QACT,CAAC;QAED,iBAAiB;QACjB,MAAM,cAAc,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAE9C,OAAO,CAAC,GAAG,CAAC,4BAA4B,OAAO,CAAC,WAAW,KAAK,SAAS,GAAG,CAAC,CAAC;QAC9E,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,QAAQ,cAAc,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QACvF,OAAO,CAAC,GAAG,CAAC,QAAQ,cAAc,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QACzF,OAAO,CAAC,GAAG,CAAC,QAAQ,cAAc,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IAE1F,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3G,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,WAAmB;IACzD,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,WAAW,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,cAAc,CAAC,gBAAgB,EAAE,CAAC;IAElD,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,SAAS,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,WAAW,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,WAAW,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAE9C,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,iBAAiB,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,eAAe,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC"}
|
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: specweave:init-multiproject
|
|
3
|
-
description: Initialize multi-project mode for SpecWeave. Enables organizing specs, modules, and team docs by project/team. Auto-migrates existing specs/ to projects/default/.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Initialize Multi-Project Mode
|
|
7
|
-
|
|
8
|
-
Enable multi-project mode to organize documentation by project or team.
|
|
9
|
-
|
|
10
|
-
## What This Does
|
|
11
|
-
|
|
12
|
-
1. **Auto-migrates** existing `specs/` to `projects/default/specs/` (transparent, no behavior change)
|
|
13
|
-
2. **Enables multi-project mode** in config (optional)
|
|
14
|
-
3. **Creates additional projects** (optional, interactive prompts)
|
|
15
|
-
4. **Sets up folder structure** for each project (specs/, modules/, team/, architecture/, legacy/)
|
|
16
|
-
|
|
17
|
-
## Usage
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
/specweave:init-multiproject
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
## Interactive Prompts
|
|
24
|
-
|
|
25
|
-
1. **Enable multi-project mode?** (yes/no)
|
|
26
|
-
- No: Stay in single-project mode (uses `projects/default/` but `multiProject.enabled = false`)
|
|
27
|
-
- Yes: Enable multi-project mode (allows multiple projects)
|
|
28
|
-
|
|
29
|
-
2. **Create additional projects?** (yes/no, only if multi-project enabled)
|
|
30
|
-
- If yes, enter project details:
|
|
31
|
-
- Project ID (kebab-case, e.g., `web-app`)
|
|
32
|
-
- Project name (e.g., "Web Application")
|
|
33
|
-
- Description
|
|
34
|
-
- Tech stack (comma-separated)
|
|
35
|
-
- Team name
|
|
36
|
-
|
|
37
|
-
## Examples
|
|
38
|
-
|
|
39
|
-
### Example 1: Single Project (Default)
|
|
40
|
-
|
|
41
|
-
```bash
|
|
42
|
-
/specweave:init-multiproject
|
|
43
|
-
|
|
44
|
-
# Prompts:
|
|
45
|
-
# - Enable multi-project mode? → No
|
|
46
|
-
|
|
47
|
-
# Result:
|
|
48
|
-
# ✅ Auto-migrated to projects/default/
|
|
49
|
-
# ℹ️ Still in single-project mode
|
|
50
|
-
# ℹ️ All operations use projects/default/ automatically
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
### Example 2: Multi-Project (Enterprise)
|
|
54
|
-
|
|
55
|
-
```bash
|
|
56
|
-
/specweave:init-multiproject
|
|
57
|
-
|
|
58
|
-
# Prompts:
|
|
59
|
-
# - Enable multi-project mode? → Yes
|
|
60
|
-
# - Create additional projects? → Yes
|
|
61
|
-
# - Project ID: web-app
|
|
62
|
-
# - Name: Web Application
|
|
63
|
-
# - Description: Customer-facing web app
|
|
64
|
-
# - Tech stack: React, TypeScript, Node.js
|
|
65
|
-
# - Team: Frontend Team
|
|
66
|
-
#
|
|
67
|
-
# Create another project? → Yes
|
|
68
|
-
# - Project ID: platform-infra
|
|
69
|
-
# - Name: Platform Infrastructure
|
|
70
|
-
# - ...
|
|
71
|
-
|
|
72
|
-
# Result:
|
|
73
|
-
# ✅ Created projects/web-app/
|
|
74
|
-
# ✅ Created projects/platform-infra/
|
|
75
|
-
# ✅ Multi-project mode enabled
|
|
76
|
-
# ℹ️ Use /specweave:switch-project to change active project
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
## Folder Structure Created
|
|
80
|
-
|
|
81
|
-
For each project:
|
|
82
|
-
|
|
83
|
-
```
|
|
84
|
-
.specweave/docs/internal/projects/{project-id}/
|
|
85
|
-
├── README.md # Project overview
|
|
86
|
-
├── specs/ # Living docs specs (spec-001, spec-002, ...)
|
|
87
|
-
├── modules/ # Module-level docs (auth, payments, etc.)
|
|
88
|
-
├── team/ # Team playbooks (onboarding, conventions)
|
|
89
|
-
├── architecture/ # Project-specific architecture (optional)
|
|
90
|
-
│ └── adr/ # Architecture Decision Records
|
|
91
|
-
└── legacy/ # Brownfield imported docs
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
## When to Use
|
|
95
|
-
|
|
96
|
-
### Single Project Mode
|
|
97
|
-
- Small projects or startups
|
|
98
|
-
- One team, one codebase
|
|
99
|
-
- Simple organizational structure
|
|
100
|
-
|
|
101
|
-
### Multi-Project Mode
|
|
102
|
-
- Multiple teams or repos
|
|
103
|
-
- Microservices architecture
|
|
104
|
-
- Platform engineering managing multiple projects
|
|
105
|
-
- Different tech stacks per team
|
|
106
|
-
|
|
107
|
-
## Integration with External Sync
|
|
108
|
-
|
|
109
|
-
Multi-project mode integrates with external sync (GitHub, JIRA, ADO):
|
|
110
|
-
|
|
111
|
-
```json
|
|
112
|
-
{
|
|
113
|
-
"multiProject": {
|
|
114
|
-
"projects": [{
|
|
115
|
-
"id": "web-app",
|
|
116
|
-
"syncProfiles": ["web-app-github", "web-app-jira"]
|
|
117
|
-
}]
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
Each project can link to specific sync profiles for external tracking.
|
|
123
|
-
|
|
124
|
-
## What Happens to Existing Specs?
|
|
125
|
-
|
|
126
|
-
**Automatic Migration**:
|
|
127
|
-
1. Existing `specs/` copied to `projects/default/specs/`
|
|
128
|
-
2. Old `specs/` renamed to `specs.old/` (backup)
|
|
129
|
-
3. Config updated with `multiProject` section
|
|
130
|
-
4. **No behavior change** - all operations still work
|
|
131
|
-
|
|
132
|
-
**Rollback** (if needed):
|
|
133
|
-
```bash
|
|
134
|
-
# Restore from backup
|
|
135
|
-
npm run specweave:rollback-migration
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
## See Also
|
|
139
|
-
|
|
140
|
-
- `/specweave:switch-project` - Change active project
|
|
141
|
-
- `/specweave:import-docs` - Import brownfield docs
|
|
142
|
-
- [Multi-Project Guide](https://docs.spec-weave.com/guides/multi-project-setup)
|
|
143
|
-
|
|
144
|
-
---
|
|
145
|
-
|
|
146
|
-
**Implementation**: `src/cli/commands/init-multiproject.ts`
|