specweave 0.33.5 → 0.34.0
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 +427 -70
- 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/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 +18 -2
- 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.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/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-launcher.d.ts +1 -1
- package/dist/src/core/background/job-launcher.js +3 -3
- package/dist/src/core/background/job-launcher.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/item-converter.js +1 -1
- package/dist/src/importers/item-converter.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/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/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.js +2 -2
- package/dist/src/utils/notification-constants.js.map +1 -1
- package/dist/src/utils/notification-manager.d.ts +12 -3
- package/dist/src/utils/notification-manager.d.ts.map +1 -1
- package/dist/src/utils/notification-manager.js +51 -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/{specweave-judge-llm.md → judge-llm.md} +19 -19
- 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 +32 -2
- 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 +1 -1
- 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 +4 -4
- 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 +8 -8
- 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 +14 -14
- package/plugins/specweave-docs/skills/preview/SKILL.md +11 -11
- 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 +49 -49
- package/src/templates/CLAUDE.md.template +11 -11
- 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-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/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
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env bash
|
|
2
|
-
# read-progress.sh - Pure bash reader for /
|
|
2
|
+
# read-progress.sh - Pure bash reader for /sw:progress
|
|
3
3
|
#
|
|
4
4
|
# Reads from pre-computed dashboard cache for <10ms response time.
|
|
5
5
|
# Falls back to Node.js script if jq is not available.
|
|
@@ -73,7 +73,7 @@ progress_bar() {
|
|
|
73
73
|
format_status() {
|
|
74
74
|
case "$1" in
|
|
75
75
|
active) echo "🔄 active" ;;
|
|
76
|
-
planning) echo "📝 planning" ;;
|
|
76
|
+
planning|planned) echo "📝 planning" ;;
|
|
77
77
|
paused) echo "⏸️ paused" ;;
|
|
78
78
|
completed) echo "✅ completed" ;;
|
|
79
79
|
abandoned) echo "❌ abandoned" ;;
|
|
@@ -147,22 +147,23 @@ if [[ -n "$READY_FOR_REVIEW" ]]; then
|
|
|
147
147
|
bar=$(progress_bar "$pct" 15)
|
|
148
148
|
echo " $id"
|
|
149
149
|
echo " $bar $completed/$total ($pct%)"
|
|
150
|
-
echo " → /
|
|
150
|
+
echo " → /sw:done $id"
|
|
151
151
|
done <<< "$READY_FOR_REVIEW"
|
|
152
152
|
echo ""
|
|
153
153
|
fi
|
|
154
154
|
|
|
155
155
|
# Get active increments (excluding ready_for_review)
|
|
156
|
+
# Note: "planned" is a legacy typo for "planning" - support both for backwards compatibility
|
|
156
157
|
ACTIVE=$(jq -r '
|
|
157
158
|
.increments | to_entries[] |
|
|
158
|
-
select(.value.status == "active" or .value.status == "planning" or .value.status == "backlog") |
|
|
159
|
-
"\(.key)|\(.value.tasks.completed)|\(.value.tasks.total)"
|
|
159
|
+
select(.value.status == "active" or .value.status == "planning" or .value.status == "planned" or .value.status == "backlog") |
|
|
160
|
+
"\(.key)|\(.value.tasks.completed)|\(.value.tasks.total)|\(.value.status)"
|
|
160
161
|
' "$CACHE_FILE" 2>/dev/null)
|
|
161
162
|
|
|
162
163
|
ACTIVE_COUNT=0
|
|
163
164
|
if [[ -n "$ACTIVE" ]]; then
|
|
164
165
|
echo "🔄 Active:"
|
|
165
|
-
while IFS='|' read -r id completed total; do
|
|
166
|
+
while IFS='|' read -r id completed total inc_status; do
|
|
166
167
|
[[ -z "$id" ]] && continue
|
|
167
168
|
ACTIVE_COUNT=$((ACTIVE_COUNT + 1))
|
|
168
169
|
if [[ "$total" -gt 0 ]]; then
|
|
@@ -171,7 +172,13 @@ if [[ -n "$ACTIVE" ]]; then
|
|
|
171
172
|
pct=0
|
|
172
173
|
fi
|
|
173
174
|
bar=$(progress_bar "$pct" 15)
|
|
174
|
-
|
|
175
|
+
# Show status indicator if not "active"
|
|
176
|
+
status_indicator=""
|
|
177
|
+
case "$inc_status" in
|
|
178
|
+
planning|planned) status_indicator=" (📝 planning)" ;;
|
|
179
|
+
backlog) status_indicator=" (📋 backlog)" ;;
|
|
180
|
+
esac
|
|
181
|
+
echo " $id$status_indicator"
|
|
175
182
|
echo " $bar $completed/$total ($pct%)"
|
|
176
183
|
done <<< "$ACTIVE"
|
|
177
184
|
echo ""
|
|
@@ -222,9 +229,9 @@ fi
|
|
|
222
229
|
|
|
223
230
|
echo ""
|
|
224
231
|
if [[ "$REVIEW_COUNT" -gt 0 ]]; then
|
|
225
|
-
echo "💡 Run /
|
|
232
|
+
echo "💡 Run /sw:done <id> to close reviewed increments"
|
|
226
233
|
elif [[ "$ACTIVE_COUNT" -eq 0 ]]; then
|
|
227
|
-
echo "💡 Run /
|
|
234
|
+
echo "💡 Run /sw:increment to start new work"
|
|
228
235
|
else
|
|
229
|
-
echo "💡 For details: /
|
|
236
|
+
echo "💡 For details: /sw:progress <incrementId>"
|
|
230
237
|
fi
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env bash
|
|
2
|
-
# read-status.sh - Pure bash reader for /
|
|
2
|
+
# read-status.sh - Pure bash reader for /sw:status
|
|
3
3
|
#
|
|
4
4
|
# Reads from pre-computed dashboard cache for <10ms response time.
|
|
5
5
|
# Falls back to Node.js script if jq is not available.
|
|
@@ -58,14 +58,14 @@ echo "📋 SpecWeave Status Overview"
|
|
|
58
58
|
echo ""
|
|
59
59
|
|
|
60
60
|
# Status display order and icons
|
|
61
|
+
# Note: "planned" is a legacy typo for "planning" - both are handled
|
|
61
62
|
declare -a STATUS_ORDER
|
|
62
|
-
STATUS_ORDER=("active" "planning" "
|
|
63
|
+
STATUS_ORDER=("active" "planning" "planned" "ready_for_review" "paused" "backlog" "completed" "abandoned")
|
|
63
64
|
|
|
64
65
|
status_icon() {
|
|
65
66
|
case "$1" in
|
|
66
67
|
active) echo "🔄" ;;
|
|
67
|
-
planning) echo "📝" ;;
|
|
68
|
-
in-progress) echo "⚙️" ;;
|
|
68
|
+
planning|planned) echo "📝" ;;
|
|
69
69
|
ready_for_review) echo "👀" ;;
|
|
70
70
|
paused) echo "⏸️" ;;
|
|
71
71
|
backlog) echo "📋" ;;
|
|
@@ -141,6 +141,6 @@ fi
|
|
|
141
141
|
|
|
142
142
|
echo ""
|
|
143
143
|
echo "💡 Commands:"
|
|
144
|
-
echo " /
|
|
145
|
-
echo " /
|
|
146
|
-
echo " /
|
|
144
|
+
echo " /sw:progress Show task progress"
|
|
145
|
+
echo " /sw:do Execute current tasks"
|
|
146
|
+
echo " /sw:done <id> Close increment"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env bash
|
|
2
|
-
# read-workflow.sh - Pure bash reader for /
|
|
2
|
+
# read-workflow.sh - Pure bash reader for /sw:workflow
|
|
3
3
|
#
|
|
4
4
|
# Shows current phase, suggests next actions based on increment state.
|
|
5
5
|
# Reads from pre-computed dashboard cache for <10ms response time.
|
|
@@ -79,13 +79,13 @@ if [[ -z "$ACTIVE_ID" ]]; then
|
|
|
79
79
|
BACKLOG_COUNT=$(jq '.summary.backlog // 0' "$CACHE_FILE")
|
|
80
80
|
if [[ "$BACKLOG_COUNT" -gt 0 ]]; then
|
|
81
81
|
echo "📋 Backlog: $BACKLOG_COUNT item(s) waiting"
|
|
82
|
-
echo " Resume with: /
|
|
82
|
+
echo " Resume with: /sw:resume <id>"
|
|
83
83
|
echo ""
|
|
84
84
|
fi
|
|
85
85
|
|
|
86
86
|
echo "💡 Suggestions:"
|
|
87
|
-
echo " • /
|
|
88
|
-
echo " • /
|
|
87
|
+
echo " • /sw:increment \"feature name\" - Plan new work"
|
|
88
|
+
echo " • /sw:status - View all increments"
|
|
89
89
|
exit 0
|
|
90
90
|
fi
|
|
91
91
|
|
|
@@ -117,37 +117,37 @@ SUGGESTIONS=""
|
|
|
117
117
|
|
|
118
118
|
if [[ "$STATUS" == "backlog" ]] || [[ "$STATUS" == "planned" ]]; then
|
|
119
119
|
PHASE="📝 Planning"
|
|
120
|
-
SUGGESTIONS="• /
|
|
121
|
-
• /
|
|
120
|
+
SUGGESTIONS="• /sw:do - Start implementation
|
|
121
|
+
• /sw:plan - Generate plan.md and tasks.md"
|
|
122
122
|
|
|
123
123
|
elif [[ "$TASKS_COMPLETED" -eq 0 ]]; then
|
|
124
124
|
PHASE="🚀 Starting"
|
|
125
|
-
SUGGESTIONS="• /
|
|
126
|
-
• /
|
|
125
|
+
SUGGESTIONS="• /sw:do - Execute first task
|
|
126
|
+
• /sw:pause - Pause if not ready"
|
|
127
127
|
|
|
128
128
|
elif [[ "$TASK_PCT" -lt 50 ]]; then
|
|
129
129
|
PHASE="🔨 In Progress (Early)"
|
|
130
|
-
SUGGESTIONS="• /
|
|
131
|
-
• /
|
|
130
|
+
SUGGESTIONS="• /sw:do - Continue implementation
|
|
131
|
+
• /sw:progress - Check task details"
|
|
132
132
|
|
|
133
133
|
elif [[ "$TASK_PCT" -lt 100 ]]; then
|
|
134
134
|
PHASE="⚙️ In Progress (Late)"
|
|
135
|
-
SUGGESTIONS="• /
|
|
136
|
-
• /
|
|
135
|
+
SUGGESTIONS="• /sw:do - Complete remaining tasks
|
|
136
|
+
• /sw:validate - Early quality check"
|
|
137
137
|
|
|
138
138
|
elif [[ "$STATUS" == "ready_for_review" ]]; then
|
|
139
139
|
PHASE="👀 Review"
|
|
140
|
-
SUGGESTIONS="• /
|
|
141
|
-
• /
|
|
140
|
+
SUGGESTIONS="• /sw:validate - Full validation
|
|
141
|
+
• /sw:done - Close increment (PM approval)"
|
|
142
142
|
|
|
143
143
|
elif [[ "$TASKS_COMPLETED" -eq "$TASKS_TOTAL" ]]; then
|
|
144
144
|
PHASE="✅ Tasks Complete"
|
|
145
|
-
SUGGESTIONS="• /
|
|
146
|
-
• /
|
|
145
|
+
SUGGESTIONS="• /sw:validate - Run quality checks
|
|
146
|
+
• /sw:done - Close increment"
|
|
147
147
|
|
|
148
148
|
else
|
|
149
149
|
PHASE="❓ Unknown"
|
|
150
|
-
SUGGESTIONS="• /
|
|
150
|
+
SUGGESTIONS="• /sw:status - Check status"
|
|
151
151
|
fi
|
|
152
152
|
|
|
153
153
|
# Display
|
|
@@ -168,6 +168,6 @@ echo ""
|
|
|
168
168
|
# Additional context
|
|
169
169
|
PAUSED_COUNT=$(jq '.summary.paused // 0' "$CACHE_FILE")
|
|
170
170
|
if [[ "$PAUSED_COUNT" -gt 0 ]]; then
|
|
171
|
-
echo "ℹ️ $PAUSED_COUNT paused increment(s) - /
|
|
171
|
+
echo "ℹ️ $PAUSED_COUNT paused increment(s) - /sw:resume to continue"
|
|
172
172
|
echo ""
|
|
173
173
|
fi
|
|
@@ -47,7 +47,7 @@ log "🔄 Rebuilding dashboard cache..."
|
|
|
47
47
|
|
|
48
48
|
# Initialize counters using simple variables (bash 3.x compatible)
|
|
49
49
|
status_backlog=0
|
|
50
|
-
|
|
50
|
+
status_planning=0
|
|
51
51
|
status_active=0
|
|
52
52
|
status_paused=0
|
|
53
53
|
status_ready_for_review=0
|
|
@@ -197,9 +197,10 @@ for increment_dir in "$INCREMENTS_DIR"/[0-9]*/; do
|
|
|
197
197
|
'.[$id] = { metadata: $meta, tasks: $tasks, spec: $spec }')
|
|
198
198
|
|
|
199
199
|
# Update status counters (bash 3.x compatible)
|
|
200
|
+
# Note: "planned" is a legacy typo for "planning" - both map to planning counter
|
|
200
201
|
case "$status" in
|
|
201
202
|
backlog) status_backlog=$((status_backlog + 1)) ;;
|
|
202
|
-
planned)
|
|
203
|
+
planning|planned) status_planning=$((status_planning + 1)) ;;
|
|
203
204
|
active) status_active=$((status_active + 1)) ;;
|
|
204
205
|
paused) status_paused=$((status_paused + 1)) ;;
|
|
205
206
|
ready_for_review) status_ready_for_review=$((status_ready_for_review + 1)) ;;
|
|
@@ -266,7 +267,7 @@ cache_json=$(jq -n \
|
|
|
266
267
|
--argjson active "$status_active" \
|
|
267
268
|
--argjson paused "$status_paused" \
|
|
268
269
|
--argjson backlog "$status_backlog" \
|
|
269
|
-
--argjson
|
|
270
|
+
--argjson planning "$status_planning" \
|
|
270
271
|
--argjson ready_for_review "$status_ready_for_review" \
|
|
271
272
|
--argjson completed "$status_completed" \
|
|
272
273
|
--argjson abandoned "$status_abandoned" \
|
|
@@ -293,7 +294,7 @@ cache_json=$(jq -n \
|
|
|
293
294
|
active: $active,
|
|
294
295
|
paused: $paused,
|
|
295
296
|
backlog: $backlog,
|
|
296
|
-
|
|
297
|
+
planning: $planning,
|
|
297
298
|
ready_for_review: $ready_for_review,
|
|
298
299
|
completed: $completed,
|
|
299
300
|
abandoned: $abandoned,
|
|
@@ -323,5 +324,5 @@ echo "$cache_json" > "$TEMP_FILE"
|
|
|
323
324
|
mv "$TEMP_FILE" "$CACHE_FILE"
|
|
324
325
|
|
|
325
326
|
log "✅ Dashboard cache rebuilt"
|
|
326
|
-
log " 📊 $total_count increments | $status_active active | $status_completed completed"
|
|
327
|
+
log " 📊 $total_count increments | $status_active active | $status_planning planning | $status_completed completed"
|
|
327
328
|
log " 📁 Cache: $CACHE_FILE"
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
# - ELIMINATED FALSE POSITIVES: No longer triggers on stale files alone
|
|
7
7
|
# - SMART DETECTION: Verifies actual stuck processes, not just file ages
|
|
8
8
|
# - SEVERITY LEVELS: Only CRITICAL issues trigger notifications
|
|
9
|
-
# - DIAGNOSTICS: Writes detailed logs for /
|
|
9
|
+
# - DIAGNOSTICS: Writes detailed logs for /sw:jobs to display
|
|
10
10
|
#
|
|
11
11
|
# Usage: bash session-watchdog.sh [--daemon] [--interval=60] [--threshold=300]
|
|
12
12
|
|
|
@@ -257,7 +257,7 @@ check_orphaned_jobs() {
|
|
|
257
257
|
fi
|
|
258
258
|
|
|
259
259
|
if [[ "$orphaned_count" -gt 0 ]]; then
|
|
260
|
-
result_message="$orphaned_count orphaned job(s) found (run /
|
|
260
|
+
result_message="$orphaned_count orphaned job(s) found (run /sw:jobs to see details)"
|
|
261
261
|
fi
|
|
262
262
|
|
|
263
263
|
echo "orphaned_jobs=$orphaned_count" >> "$DIAGNOSTICS_FILE.tmp"
|
|
@@ -266,7 +266,7 @@ check_orphaned_jobs() {
|
|
|
266
266
|
return $result_severity
|
|
267
267
|
}
|
|
268
268
|
|
|
269
|
-
# Write diagnostics file for /
|
|
269
|
+
# Write diagnostics file for /sw:jobs to read
|
|
270
270
|
write_diagnostics() {
|
|
271
271
|
local overall_severity="$1"
|
|
272
272
|
local overall_status="$2"
|
|
@@ -351,7 +351,7 @@ check_session_health() {
|
|
|
351
351
|
CONSECUTIVE_WARNINGS=0 # Reset on healthy check
|
|
352
352
|
fi
|
|
353
353
|
|
|
354
|
-
# Write diagnostics for /
|
|
354
|
+
# Write diagnostics for /sw:jobs
|
|
355
355
|
write_diagnostics "$max_severity" "$overall_status"
|
|
356
356
|
|
|
357
357
|
# Only alert if CRITICAL and seen multiple consecutive times
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Instant Increment Status Overview
|
|
4
4
|
*
|
|
5
|
-
* Executed by UserPromptSubmit hook for /
|
|
5
|
+
* Executed by UserPromptSubmit hook for /sw:status
|
|
6
6
|
* Bypasses LLM entirely - output shown directly to user
|
|
7
7
|
*
|
|
8
8
|
* Usage: node status.js [--help]
|
|
@@ -28,7 +28,7 @@ DESCRIPTION
|
|
|
28
28
|
This script bypasses LLM processing for instant results (<100ms).
|
|
29
29
|
|
|
30
30
|
EXECUTION PATHS
|
|
31
|
-
1. Claude Code: /
|
|
31
|
+
1. Claude Code: /sw:status (hook intercepts, <100ms)
|
|
32
32
|
2. Any LLM: Skill instructs to run this script (~2s)
|
|
33
33
|
3. Terminal: specweave status (~500ms)
|
|
34
34
|
|
|
@@ -113,7 +113,7 @@ for (const status of statusOrder) {
|
|
|
113
113
|
console.log(` ${item}`);
|
|
114
114
|
// Add action hint for ready_for_review
|
|
115
115
|
if (status === 'ready_for_review') {
|
|
116
|
-
console.log(` → /
|
|
116
|
+
console.log(` → /sw:done ${item}`);
|
|
117
117
|
}
|
|
118
118
|
}
|
|
119
119
|
if (items.length > 5) {
|
|
@@ -161,11 +161,11 @@ console.log('');
|
|
|
161
161
|
|
|
162
162
|
// Context-aware command hints
|
|
163
163
|
if (reviewCount > 0) {
|
|
164
|
-
console.log('💡 Next step: /
|
|
164
|
+
console.log('💡 Next step: /sw:done <id> to close reviewed increment(s)');
|
|
165
165
|
} else if (activeCount > 0) {
|
|
166
166
|
console.log('💡 Commands:');
|
|
167
|
-
console.log(' /
|
|
168
|
-
console.log(' /
|
|
167
|
+
console.log(' /sw:progress Show task progress');
|
|
168
|
+
console.log(' /sw:do Execute current tasks');
|
|
169
169
|
} else {
|
|
170
|
-
console.log('💡 Run /
|
|
170
|
+
console.log('💡 Run /sw:increment to start new work');
|
|
171
171
|
}
|
|
@@ -83,6 +83,15 @@ for dir in "$INCREMENTS_DIR"/*"$INCREMENT_ID"*/; do
|
|
|
83
83
|
fi
|
|
84
84
|
done
|
|
85
85
|
|
|
86
|
+
# Helper to normalize status for counter keys (planned → planning)
|
|
87
|
+
# Defined early so it can be used in removal section
|
|
88
|
+
normalize_status_key() {
|
|
89
|
+
case "$1" in
|
|
90
|
+
planned) echo "planning" ;; # Legacy typo - map to planning counter
|
|
91
|
+
*) echo "$1" ;;
|
|
92
|
+
esac
|
|
93
|
+
}
|
|
94
|
+
|
|
86
95
|
if [[ -z "$INCREMENT_DIR" ]] || [[ ! -d "$INCREMENT_DIR" ]]; then
|
|
87
96
|
# Increment might have been archived or deleted
|
|
88
97
|
# Remove from cache if it exists
|
|
@@ -90,18 +99,19 @@ if [[ -z "$INCREMENT_DIR" ]] || [[ ! -d "$INCREMENT_DIR" ]]; then
|
|
|
90
99
|
if jq -e --arg id "$INCREMENT_ID" '.increments[$id]' "$CACHE_FILE" >/dev/null 2>&1; then
|
|
91
100
|
# Get old status for counter updates
|
|
92
101
|
old_status=$(jq -r --arg id "$INCREMENT_ID" '.increments[$id].status // "backlog"' "$CACHE_FILE")
|
|
102
|
+
old_status_key=$(normalize_status_key "$old_status")
|
|
93
103
|
old_type=$(jq -r --arg id "$INCREMENT_ID" '.increments[$id].type // "feature"' "$CACHE_FILE")
|
|
94
104
|
old_priority=$(jq -r --arg id "$INCREMENT_ID" '.increments[$id].priority // "P1"' "$CACHE_FILE")
|
|
95
105
|
|
|
96
|
-
# Remove increment and update counters
|
|
106
|
+
# Remove increment and update counters (use normalized status key)
|
|
97
107
|
jq --arg id "$INCREMENT_ID" \
|
|
98
|
-
--arg
|
|
108
|
+
--arg old_status_key "$old_status_key" \
|
|
99
109
|
--arg old_type "$old_type" \
|
|
100
110
|
--arg old_priority "$old_priority" '
|
|
101
111
|
del(.increments[$id]) |
|
|
102
112
|
del(.mtimes[$id]) |
|
|
103
113
|
.summary.total -= 1 |
|
|
104
|
-
.summary[$
|
|
114
|
+
.summary[$old_status_key] -= 1 |
|
|
105
115
|
.summary.byType[$old_type] -= 1 |
|
|
106
116
|
.summary.byPriority[$old_priority] -= 1 |
|
|
107
117
|
.updatedAt = (now | strftime("%Y-%m-%dT%H:%M:%SZ"))
|
|
@@ -122,6 +132,10 @@ fi
|
|
|
122
132
|
|
|
123
133
|
# Read current values
|
|
124
134
|
status=$(jq -r '.status // "backlog"' "$metadata_file" 2>/dev/null)
|
|
135
|
+
# Normalize status for counter keys (planned → planning for backwards compatibility)
|
|
136
|
+
# The raw status is preserved in increment data, but counters use normalized key
|
|
137
|
+
status_key=$(normalize_status_key "$status")
|
|
138
|
+
|
|
125
139
|
type=$(jq -r '.type // "feature"' "$metadata_file" 2>/dev/null)
|
|
126
140
|
priority=$(jq -r '.priority // "P1"' "$metadata_file" 2>/dev/null)
|
|
127
141
|
title=$(jq -r '.title // ""' "$metadata_file" 2>/dev/null)
|
|
@@ -232,36 +246,40 @@ mtime_json=$(jq -n \
|
|
|
232
246
|
# Apply incremental update
|
|
233
247
|
if [[ "$is_new" == "true" ]]; then
|
|
234
248
|
# New increment - add to cache and increment counters
|
|
249
|
+
# Note: Use status_key for counter updates (normalizes planned → planning)
|
|
235
250
|
jq --arg id "$INCREMENT_ID" \
|
|
236
251
|
--argjson inc "$increment_json" \
|
|
237
252
|
--argjson mtime "$mtime_json" \
|
|
238
|
-
--arg
|
|
253
|
+
--arg status_key "$status_key" \
|
|
239
254
|
--arg type "$type" \
|
|
240
255
|
--arg priority "$priority" '
|
|
241
256
|
.increments[$id] = $inc |
|
|
242
257
|
.mtimes[$id] = $mtime |
|
|
243
258
|
.summary.total += 1 |
|
|
244
|
-
.summary[$
|
|
259
|
+
.summary[$status_key] += 1 |
|
|
245
260
|
.summary.byType[$type] += 1 |
|
|
246
261
|
.summary.byPriority[$priority] += 1 |
|
|
247
262
|
.updatedAt = (now | strftime("%Y-%m-%dT%H:%M:%SZ"))
|
|
248
263
|
' "$CACHE_FILE" > "$TEMP_FILE"
|
|
249
264
|
else
|
|
250
265
|
# Existing increment - update and adjust counters if status/type/priority changed
|
|
266
|
+
# Normalize old_status for counter lookup (planned → planning)
|
|
267
|
+
old_status_key=$(normalize_status_key "$old_status")
|
|
268
|
+
|
|
251
269
|
jq --arg id "$INCREMENT_ID" \
|
|
252
270
|
--argjson inc "$increment_json" \
|
|
253
271
|
--argjson mtime "$mtime_json" \
|
|
254
|
-
--arg
|
|
255
|
-
--arg
|
|
272
|
+
--arg old_status_key "$old_status_key" \
|
|
273
|
+
--arg new_status_key "$status_key" \
|
|
256
274
|
--arg old_type "$old_type" \
|
|
257
275
|
--arg new_type "$type" \
|
|
258
276
|
--arg old_priority "$old_priority" \
|
|
259
277
|
--arg new_priority "$priority" '
|
|
260
278
|
.increments[$id] = $inc |
|
|
261
279
|
.mtimes[$id] = $mtime |
|
|
262
|
-
(if $
|
|
263
|
-
.summary[$
|
|
264
|
-
.summary[$
|
|
280
|
+
(if $old_status_key != $new_status_key then
|
|
281
|
+
.summary[$old_status_key] -= 1 |
|
|
282
|
+
.summary[$new_status_key] += 1
|
|
265
283
|
else . end) |
|
|
266
284
|
(if $old_type != $new_type then
|
|
267
285
|
.summary.byType[$old_type] -= 1 |
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
|
|
32
32
|
| Skill | Triggers | Location |
|
|
33
33
|
|-------|----------|----------|
|
|
34
|
-
| **increment-quality-judge-v2** | quality check, assess spec, risk assessment, qa check, quality gate, /
|
|
34
|
+
| **increment-quality-judge-v2** | quality check, assess spec, risk assessment, qa check, quality gate, /sw:qa, validate quality, evaluate increment | `skills/increment-quality-judge-v2/SKILL.md` |
|
|
35
35
|
| **pm-closure-validation** | /done, close increment, validate increment, completion check, quality gate, PM approval, ready to close, scope creep | `skills/pm-closure-validation/SKILL.md` |
|
|
36
36
|
| **code-reviewer** | code review, security vulnerabilities, performance optimization, static analysis, code quality, pull request review | `skills/code-reviewer/SKILL.md` |
|
|
37
37
|
| **code-standards-analyzer** | coding standards, conventions, code style, naming conventions, linting rules, best practices, standards audit, anti-patterns | `skills/code-standards-analyzer/SKILL.md` |
|
|
@@ -42,15 +42,15 @@
|
|
|
42
42
|
| Skill | Triggers | Location |
|
|
43
43
|
|-------|----------|----------|
|
|
44
44
|
| **external-sync-wizard** | GitHub sync, Jira integration, Azure DevOps, ADO, issue tracking sync, bidirectional sync, import issues, export increments | `skills/external-sync-wizard/SKILL.md` |
|
|
45
|
-
| **progress-sync** | sync progress, update progress, sync everything, sync all systems, sync to GitHub, sync to JIRA, /
|
|
45
|
+
| **progress-sync** | sync progress, update progress, sync everything, sync all systems, sync to GitHub, sync to JIRA, /sw:sync-progress | `skills/progress-sync/SKILL.md` |
|
|
46
46
|
| **multi-project-spec-mapper** | multi-project, project mapping, spec splitting, JIRA projects, multiple projects, microservices, FE/BE/MOBILE split | `skills/multi-project-spec-mapper/SKILL.md` |
|
|
47
47
|
|
|
48
48
|
### Framework & Context
|
|
49
49
|
|
|
50
50
|
| Skill | Triggers | Location |
|
|
51
51
|
|-------|----------|----------|
|
|
52
|
-
| **
|
|
53
|
-
| **
|
|
52
|
+
| **detector** | slash commands, /sw:increment, /sw:do, /sw:progress, /sw:done, specweave commands, workflow help | `skills/detector/SKILL.md` |
|
|
53
|
+
| **framework** | specweave rules, how does specweave work, framework structure, increment lifecycle, source of truth, tasks.md format | `skills/framework/SKILL.md` |
|
|
54
54
|
| **context-loader** | context loading, progressive disclosure, token efficiency, sub-agents, context management, how SpecWeave scales | `skills/context-loader/SKILL.md` |
|
|
55
55
|
| **context-optimizer** | optimize context, reduce tokens, clean context, smart context, precision loading, 80% reduction | `skills/context-optimizer/SKILL.md` |
|
|
56
56
|
| **plugin-validator** | plugin validation, validate plugins, check plugins, specweave init, fresh setup, marketplace registration | `skills/plugin-validator/SKILL.md` |
|
|
@@ -52,31 +52,31 @@ Expert at keeping the `.specweave/increments/` folder clean and organized throug
|
|
|
52
52
|
### Keep Workspace Clean
|
|
53
53
|
```bash
|
|
54
54
|
# Interactive archiving - prompts for confirmation
|
|
55
|
-
/
|
|
55
|
+
/sw:archive-increments
|
|
56
56
|
|
|
57
57
|
# Keep only last 5 increments
|
|
58
|
-
/
|
|
58
|
+
/sw:archive-increments --keep-last 5
|
|
59
59
|
|
|
60
60
|
# Archive all completed increments
|
|
61
|
-
/
|
|
61
|
+
/sw:archive-increments --archive-completed
|
|
62
62
|
```
|
|
63
63
|
|
|
64
64
|
### Prepare for Release
|
|
65
65
|
```bash
|
|
66
66
|
# Archive all pre-release increments
|
|
67
|
-
/
|
|
67
|
+
/sw:archive-increments --pattern "v0.7"
|
|
68
68
|
|
|
69
69
|
# Archive by date range
|
|
70
|
-
/
|
|
70
|
+
/sw:archive-increments --older-than 30d
|
|
71
71
|
```
|
|
72
72
|
|
|
73
73
|
### Restore from Archive
|
|
74
74
|
```bash
|
|
75
75
|
# List archived increments
|
|
76
|
-
/
|
|
76
|
+
/sw:archive-increments --list-archived
|
|
77
77
|
|
|
78
78
|
# Restore specific increment
|
|
79
|
-
/
|
|
79
|
+
/sw:archive-increments --restore 0015
|
|
80
80
|
```
|
|
81
81
|
|
|
82
82
|
## Configuration
|
|
@@ -161,9 +161,9 @@ Based on analysis, I suggest:
|
|
|
161
161
|
- Suggests archiving when appropriate
|
|
162
162
|
|
|
163
163
|
### Increment Commands
|
|
164
|
-
- `/
|
|
165
|
-
- `/
|
|
166
|
-
- `/
|
|
164
|
+
- `/sw:done` can trigger auto-archive
|
|
165
|
+
- `/sw:status` shows archive statistics
|
|
166
|
+
- `/sw:next` considers archived increments
|
|
167
167
|
|
|
168
168
|
### Living Docs
|
|
169
169
|
- Archive preserves living docs references
|
|
@@ -182,17 +182,17 @@ Based on analysis, I suggest:
|
|
|
182
182
|
|
|
183
183
|
```bash
|
|
184
184
|
# Archive old increments
|
|
185
|
-
/
|
|
185
|
+
/sw:archive-increments --older-than 30d
|
|
186
186
|
|
|
187
187
|
# Keep workspace minimal
|
|
188
|
-
/
|
|
188
|
+
/sw:archive-increments --keep-last 5
|
|
189
189
|
|
|
190
190
|
# Archive after release
|
|
191
|
-
/
|
|
191
|
+
/sw:archive-increments --pattern "pre-release"
|
|
192
192
|
|
|
193
193
|
# Restore for reference
|
|
194
|
-
/
|
|
194
|
+
/sw:archive-increments --restore 0015
|
|
195
195
|
|
|
196
196
|
# Check archive stats
|
|
197
|
-
/
|
|
197
|
+
/sw:archive-increments --stats
|
|
198
198
|
```
|
|
@@ -166,7 +166,7 @@ grep -rh "^import" src/ | sort | uniq -c | sort -rn | head -10
|
|
|
166
166
|
## Phase 2: First Increment (1-3 days)
|
|
167
167
|
- [ ] Select first feature to modify
|
|
168
168
|
- [ ] Document module before touching
|
|
169
|
-
- [ ] Create increment with /
|
|
169
|
+
- [ ] Create increment with /sw:increment
|
|
170
170
|
- [ ] Implement changes
|
|
171
171
|
- [ ] Update docs
|
|
172
172
|
|
|
@@ -273,7 +273,7 @@ grep -r "jira" . --include="*.md" | head -5
|
|
|
273
273
|
**3. Sync strategy**:
|
|
274
274
|
```bash
|
|
275
275
|
# Option 1: Import existing Jira items
|
|
276
|
-
/
|
|
276
|
+
/sw-jira:sync --import
|
|
277
277
|
|
|
278
278
|
# Option 2: Start fresh, sync new work only
|
|
279
279
|
# (Use SpecWeave as source of truth)
|
|
@@ -288,7 +288,7 @@ grep -r "jira" . --include="*.md" | head -5
|
|
|
288
288
|
|
|
289
289
|
**Sync**:
|
|
290
290
|
```bash
|
|
291
|
-
/
|
|
291
|
+
/sw-ado:sync --import
|
|
292
292
|
```
|
|
293
293
|
|
|
294
294
|
### GitHub Issues → SpecWeave
|
|
@@ -300,7 +300,7 @@ grep -r "jira" . --include="*.md" | head -5
|
|
|
300
300
|
|
|
301
301
|
**Sync**:
|
|
302
302
|
```bash
|
|
303
|
-
/
|
|
303
|
+
/sw-github:sync --import
|
|
304
304
|
```
|
|
305
305
|
|
|
306
306
|
---
|
|
@@ -342,7 +342,7 @@ Week 1: Setup (2 hours)
|
|
|
342
342
|
Week 1-2: First Increment
|
|
343
343
|
- Select first feature: "Add rate limiting"
|
|
344
344
|
- Document rate-limiting module
|
|
345
|
-
- Create increment with /
|
|
345
|
+
- Create increment with /sw:increment
|
|
346
346
|
- Implement with TDD
|
|
347
347
|
- Update docs
|
|
348
348
|
|
|
@@ -208,7 +208,7 @@ Coding Standards: .specweave/docs/internal/governance/coding-standards.md
|
|
|
208
208
|
**Optional**: Re-analyze on increment done
|
|
209
209
|
|
|
210
210
|
```bash
|
|
211
|
-
/
|
|
211
|
+
/sw:done 0046 --update-standards
|
|
212
212
|
```
|
|
213
213
|
|
|
214
214
|
---
|
|
@@ -310,13 +310,13 @@ Full standards: .specweave/docs/internal/governance/coding-standards.md"
|
|
|
310
310
|
|
|
311
311
|
```bash
|
|
312
312
|
# Full analysis
|
|
313
|
-
/
|
|
313
|
+
/sw:analyze-standards
|
|
314
314
|
|
|
315
315
|
# Drift detection only
|
|
316
|
-
/
|
|
316
|
+
/sw:analyze-standards --drift
|
|
317
317
|
|
|
318
318
|
# Update existing standards
|
|
319
|
-
/
|
|
319
|
+
/sw:analyze-standards --update
|
|
320
320
|
```
|
|
321
321
|
|
|
322
322
|
---
|
|
@@ -232,7 +232,7 @@ SpecWeave's **role-orchestrator** skill automatically:
|
|
|
232
232
|
**Example:**
|
|
233
233
|
|
|
234
234
|
```
|
|
235
|
-
User: "/
|
|
235
|
+
User: "/sw:inc 'Full-stack SaaS with Stripe payments'"
|
|
236
236
|
↓
|
|
237
237
|
role-orchestrator activates
|
|
238
238
|
↓
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
3
|
-
description: Detects SpecWeave context (.specweave/ directory exists) and provides workflow documentation. Explains available slash commands and workflow. Keywords slash commands, /
|
|
2
|
+
name: detector
|
|
3
|
+
description: Detects SpecWeave context (.specweave/ directory exists) and provides workflow documentation. Explains available slash commands and workflow. Keywords slash commands, /sw:increment, /increment, /sw:do, /sw:progress, /sw:validate, /sw:done, specweave commands, workflow help, specweave folder.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# SpecWeave - Smart Workflow Documentation
|
|
@@ -36,7 +36,7 @@ SpecWeave provides explicit slash commands for reliable workflow execution.
|
|
|
36
36
|
| Command | Description | Example |
|
|
37
37
|
|---------|-------------|---------|
|
|
38
38
|
| `/list-increments` | List all increments with status | `/list-increments` |
|
|
39
|
-
| `/
|
|
39
|
+
| `/sw:sync-docs` | Review strategic docs vs code | `/sw:sync-docs --increment=003` |
|
|
40
40
|
| `/sync-github` | Sync increment to GitHub issues | `/sync-github` |
|
|
41
41
|
|
|
42
42
|
## Why Only ONE Alias?
|
|
@@ -82,7 +82,7 @@ npx specweave init my-saas
|
|
|
82
82
|
/do
|
|
83
83
|
# Auto-finds active increment 0002
|
|
84
84
|
|
|
85
|
-
# Repeat: /
|
|
85
|
+
# Repeat: /sw:increment → /sw:do → /sw:progress → /sw:increment (auto-closes) → /sw:do...
|
|
86
86
|
```
|
|
87
87
|
|
|
88
88
|
## Command Details
|
|
@@ -325,7 +325,7 @@ User: "What SpecWeave commands are available?"
|
|
|
325
325
|
**Command syntax**:
|
|
326
326
|
```
|
|
327
327
|
User: "How do I create a new increment?"
|
|
328
|
-
→ Claude explains /
|
|
328
|
+
→ Claude explains /sw:increment command with examples
|
|
329
329
|
```
|
|
330
330
|
|
|
331
331
|
## Documentation
|
|
@@ -117,8 +117,8 @@ DISC-0003 knowledge-gap 🟡 medium legacy-adapter Single contributo
|
|
|
117
117
|
DISC-0004 missing-adr 🟢 low cache No ADR for caching strategy
|
|
118
118
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
119
119
|
|
|
120
|
-
Use '/
|
|
121
|
-
Use '/
|
|
120
|
+
Use '/sw:discrepancies show <ID>' for details
|
|
121
|
+
Use '/sw:discrepancy-to-increment <ID> <ID>...' to create an increment
|
|
122
122
|
```
|
|
123
123
|
|
|
124
124
|
### Statistics
|
|
@@ -149,6 +149,6 @@ By Priority:
|
|
|
149
149
|
|
|
150
150
|
## Related
|
|
151
151
|
|
|
152
|
-
- `/
|
|
153
|
-
- `/
|
|
152
|
+
- `/sw:discrepancy-to-increment` - Convert discrepancies to increments
|
|
153
|
+
- `/sw:jobs` - Monitor brownfield analysis jobs
|
|
154
154
|
- `brownfield-analyzer` skill - Run new analysis
|