specweave 0.24.13 → 0.26.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +586 -18
- package/bin/specweave.js +14 -0
- package/dist/plugins/specweave-github/lib/CodeValidator.js +2 -2
- package/dist/plugins/specweave-github/lib/CodeValidator.js.map +1 -1
- package/dist/plugins/specweave-github/lib/ThreeLayerSyncManager.js +1 -1
- package/dist/plugins/specweave-github/lib/ThreeLayerSyncManager.js.map +1 -1
- package/dist/plugins/specweave-github/lib/github-client-v2.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/github-client-v2.js +17 -1
- package/dist/plugins/specweave-github/lib/github-client-v2.js.map +1 -1
- package/dist/plugins/specweave-github/lib/github-issue-updater.js +1 -1
- package/dist/plugins/specweave-github/lib/github-issue-updater.js.map +1 -1
- package/dist/plugins/specweave-github/lib/github-sync-bidirectional.js +1 -1
- package/dist/plugins/specweave-github/lib/github-sync-bidirectional.js.map +1 -1
- package/dist/plugins/specweave-github/lib/github-sync-increment-changes.js +1 -1
- package/dist/plugins/specweave-github/lib/github-sync-increment-changes.js.map +1 -1
- 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 +7 -6
- package/dist/plugins/specweave-github/lib/user-story-issue-builder.js.map +1 -1
- package/dist/plugins/specweave-jira/lib/jira-epic-sync.js +1 -1
- package/dist/plugins/specweave-jira/lib/jira-epic-sync.js.map +1 -1
- package/dist/src/adapters/adapter-base.js +1 -1
- package/dist/src/adapters/adapter-base.js.map +1 -1
- package/dist/src/adapters/adapter-loader.js +1 -1
- package/dist/src/adapters/adapter-loader.js.map +1 -1
- package/dist/src/adapters/agents-md-generator.js +1 -1
- package/dist/src/adapters/agents-md-generator.js.map +1 -1
- package/dist/src/adapters/claude/adapter.js +1 -1
- package/dist/src/adapters/claude/adapter.js.map +1 -1
- package/dist/src/adapters/claude-md-generator.js +1 -1
- package/dist/src/adapters/claude-md-generator.js.map +1 -1
- package/dist/src/adapters/codex/adapter.js +1 -1
- package/dist/src/adapters/codex/adapter.js.map +1 -1
- package/dist/src/adapters/cursor/adapter.js +1 -1
- package/dist/src/adapters/cursor/adapter.js.map +1 -1
- package/dist/src/adapters/doc-generator.js +1 -1
- package/dist/src/adapters/doc-generator.js.map +1 -1
- package/dist/src/adapters/gemini/adapter.js +1 -1
- package/dist/src/adapters/gemini/adapter.js.map +1 -1
- package/dist/src/adapters/generic/adapter.js +1 -1
- package/dist/src/adapters/generic/adapter.js.map +1 -1
- package/dist/src/cli/commands/cicd-monitor.js +1 -1
- package/dist/src/cli/commands/cicd-monitor.js.map +1 -1
- package/dist/src/cli/commands/delete-feature.d.ts +14 -0
- package/dist/src/cli/commands/delete-feature.d.ts.map +1 -0
- package/dist/src/cli/commands/delete-feature.js +87 -0
- package/dist/src/cli/commands/delete-feature.js.map +1 -0
- package/dist/src/cli/commands/detect-specs.js +1 -1
- package/dist/src/cli/commands/detect-specs.js.map +1 -1
- package/dist/src/cli/commands/import-external.js +1 -1
- package/dist/src/cli/commands/import-external.js.map +1 -1
- package/dist/src/cli/commands/init.d.ts.map +1 -1
- package/dist/src/cli/commands/init.js +39 -49
- package/dist/src/cli/commands/init.js.map +1 -1
- package/dist/src/cli/commands/install.js +1 -1
- package/dist/src/cli/commands/install.js.map +1 -1
- package/dist/src/cli/commands/list.js +1 -1
- package/dist/src/cli/commands/list.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/plan/agent-invoker.js +1 -1
- package/dist/src/cli/commands/repair-status-desync.js +1 -1
- package/dist/src/cli/commands/repair-status-desync.js.map +1 -1
- package/dist/src/cli/commands/revert-wip-limit.js +1 -1
- package/dist/src/cli/commands/revert-wip-limit.js.map +1 -1
- package/dist/src/cli/commands/sync-specs.js +1 -1
- package/dist/src/cli/commands/sync-specs.js.map +1 -1
- package/dist/src/cli/helpers/init/initial-increment-generator.js +1 -1
- package/dist/src/cli/helpers/init/initial-increment-generator.js.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/github-multi-repo.d.ts.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/github-multi-repo.js +13 -46
- package/dist/src/cli/helpers/issue-tracker/github-multi-repo.js.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/index.d.ts.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/index.js +12 -31
- package/dist/src/cli/helpers/issue-tracker/index.js.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/types.d.ts +6 -1
- package/dist/src/cli/helpers/issue-tracker/types.d.ts.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/types.js.map +1 -1
- package/dist/src/config/import-config.js +1 -1
- package/dist/src/config/import-config.js.map +1 -1
- package/dist/src/core/ac-test-validator-cli.js +1 -1
- package/dist/src/core/ac-test-validator-cli.js.map +1 -1
- package/dist/src/core/ac-test-validator.js +1 -1
- package/dist/src/core/ac-test-validator.js.map +1 -1
- package/dist/src/core/brownfield/analyzer.js +1 -1
- package/dist/src/core/brownfield/analyzer.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/cicd/config-loader.js +1 -1
- package/dist/src/core/cicd/config-loader.js.map +1 -1
- package/dist/src/core/cicd/notifier.js +1 -1
- package/dist/src/core/cicd/notifier.js.map +1 -1
- package/dist/src/core/cicd/parent-repo-validator.js +1 -1
- package/dist/src/core/cicd/parent-repo-validator.js.map +1 -1
- package/dist/src/core/cicd/state-manager.js +1 -1
- package/dist/src/core/cicd/state-manager.js.map +1 -1
- package/dist/src/core/config-manager.js +1 -1
- package/dist/src/core/config-manager.js.map +1 -1
- package/dist/src/core/cost-tracker.js +1 -1
- package/dist/src/core/cost-tracker.js.map +1 -1
- package/dist/src/core/deduplication/command-deduplicator.js +1 -1
- package/dist/src/core/deduplication/command-deduplicator.js.map +1 -1
- package/dist/src/core/feature-deleter/audit-logger.d.ts +30 -0
- package/dist/src/core/feature-deleter/audit-logger.d.ts.map +1 -0
- package/dist/src/core/feature-deleter/audit-logger.js +77 -0
- package/dist/src/core/feature-deleter/audit-logger.js.map +1 -0
- package/dist/src/core/feature-deleter/confirmation-manager.d.ts +39 -0
- package/dist/src/core/feature-deleter/confirmation-manager.d.ts.map +1 -0
- package/dist/src/core/feature-deleter/confirmation-manager.js +89 -0
- package/dist/src/core/feature-deleter/confirmation-manager.js.map +1 -0
- package/dist/src/core/feature-deleter/deletion-transaction.d.ts +51 -0
- package/dist/src/core/feature-deleter/deletion-transaction.d.ts.map +1 -0
- package/dist/src/core/feature-deleter/deletion-transaction.js +185 -0
- package/dist/src/core/feature-deleter/deletion-transaction.js.map +1 -0
- package/dist/src/core/feature-deleter/git-service.d.ts +43 -0
- package/dist/src/core/feature-deleter/git-service.d.ts.map +1 -0
- package/dist/src/core/feature-deleter/git-service.js +127 -0
- package/dist/src/core/feature-deleter/git-service.js.map +1 -0
- package/dist/src/core/feature-deleter/github-service.d.ts +36 -0
- package/dist/src/core/feature-deleter/github-service.d.ts.map +1 -0
- package/dist/src/core/feature-deleter/github-service.js +102 -0
- package/dist/src/core/feature-deleter/github-service.js.map +1 -0
- package/dist/src/core/feature-deleter/index.d.ts +35 -0
- package/dist/src/core/feature-deleter/index.d.ts.map +1 -0
- package/dist/src/core/feature-deleter/index.js +199 -0
- package/dist/src/core/feature-deleter/index.js.map +1 -0
- package/dist/src/core/feature-deleter/types.d.ts +179 -0
- package/dist/src/core/feature-deleter/types.d.ts.map +1 -0
- package/dist/src/core/feature-deleter/types.js +7 -0
- package/dist/src/core/feature-deleter/types.js.map +1 -0
- package/dist/src/core/feature-deleter/validator.d.ts +46 -0
- package/dist/src/core/feature-deleter/validator.d.ts.map +1 -0
- package/dist/src/core/feature-deleter/validator.js +231 -0
- package/dist/src/core/feature-deleter/validator.js.map +1 -0
- package/dist/src/core/hooks/HealthReporter.js +1 -1
- package/dist/src/core/hooks/HealthReporter.js.map +1 -1
- package/dist/src/core/hooks/HookAutoFixer.js +1 -1
- package/dist/src/core/hooks/HookAutoFixer.js.map +1 -1
- package/dist/src/core/hooks/HookScanner.js +1 -1
- package/dist/src/core/hooks/HookScanner.js.map +1 -1
- package/dist/src/core/i18n/language-manager.js +1 -1
- package/dist/src/core/i18n/language-manager.js.map +1 -1
- package/dist/src/core/i18n/locale-manager.js +1 -1
- package/dist/src/core/i18n/locale-manager.js.map +1 -1
- package/dist/src/core/i18n/system-prompt-injector.js +1 -1
- package/dist/src/core/i18n/system-prompt-injector.js.map +1 -1
- package/dist/src/core/increment/ac-status-manager.d.ts.map +1 -1
- package/dist/src/core/increment/ac-status-manager.js +18 -4
- package/dist/src/core/increment/ac-status-manager.js.map +1 -1
- package/dist/src/core/increment/active-increment-manager.js +1 -1
- package/dist/src/core/increment/active-increment-manager.js.map +1 -1
- package/dist/src/core/increment/completion-validator.js +1 -1
- package/dist/src/core/increment/completion-validator.js.map +1 -1
- package/dist/src/core/increment/conflict-resolver.js +1 -1
- package/dist/src/core/increment/conflict-resolver.js.map +1 -1
- package/dist/src/core/increment/desync-detector.js +1 -1
- package/dist/src/core/increment/desync-detector.js.map +1 -1
- package/dist/src/core/increment/discipline-checker.js +1 -1
- package/dist/src/core/increment/discipline-checker.js.map +1 -1
- package/dist/src/core/increment/duplicate-detector.js +1 -1
- package/dist/src/core/increment/duplicate-detector.js.map +1 -1
- package/dist/src/core/increment/increment-archiver.js +1 -1
- package/dist/src/core/increment/increment-archiver.js.map +1 -1
- package/dist/src/core/increment/increment-reopener.js +1 -1
- package/dist/src/core/increment/increment-reopener.js.map +1 -1
- package/dist/src/core/increment/metadata-manager.js +1 -1
- 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 +1 -1
- package/dist/src/core/increment/recent-work-scanner.js.map +1 -1
- package/dist/src/core/increment/spec-frontmatter-updater.js +1 -1
- package/dist/src/core/increment/spec-frontmatter-updater.js.map +1 -1
- package/dist/src/core/increment/status-auto-transition.js +1 -1
- package/dist/src/core/increment/status-auto-transition.js.map +1 -1
- package/dist/src/core/increment-status.js +1 -1
- package/dist/src/core/increment-status.js.map +1 -1
- package/dist/src/core/living-docs/content-distributor.js +1 -1
- package/dist/src/core/living-docs/content-distributor.js.map +1 -1
- package/dist/src/core/living-docs/cross-linker.js +1 -1
- package/dist/src/core/living-docs/cross-linker.js.map +1 -1
- package/dist/src/core/living-docs/feature-archiver.js +1 -1
- package/dist/src/core/living-docs/feature-archiver.js.map +1 -1
- package/dist/src/core/living-docs/feature-id-manager.js +1 -1
- package/dist/src/core/living-docs/feature-id-manager.js.map +1 -1
- package/dist/src/core/living-docs/hierarchy-mapper.js +1 -1
- package/dist/src/core/living-docs/hierarchy-mapper.js.map +1 -1
- package/dist/src/core/living-docs/living-docs-sync.d.ts +14 -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 +72 -13
- package/dist/src/core/living-docs/living-docs-sync.js.map +1 -1
- package/dist/src/core/living-docs/project-detector.js +1 -1
- package/dist/src/core/living-docs/project-detector.js.map +1 -1
- package/dist/src/core/living-docs/task-project-specific-generator.js +1 -1
- package/dist/src/core/living-docs/task-project-specific-generator.js.map +1 -1
- package/dist/src/core/logging/prompt-logger.js +1 -1
- package/dist/src/core/logging/prompt-logger.js.map +1 -1
- package/dist/src/core/plugin-loader.js +1 -1
- package/dist/src/core/plugin-loader.js.map +1 -1
- package/dist/src/core/project-manager.js +1 -1
- package/dist/src/core/project-manager.js.map +1 -1
- package/dist/src/core/qa/qa-runner.js +1 -1
- package/dist/src/core/qa/qa-runner.js.map +1 -1
- package/dist/src/core/repo-structure/folder-detector.js +1 -1
- package/dist/src/core/repo-structure/folder-detector.js.map +1 -1
- package/dist/src/core/repo-structure/setup-state-manager.js +1 -1
- package/dist/src/core/repo-structure/setup-state-manager.js.map +1 -1
- package/dist/src/core/spec-detector.js +1 -1
- package/dist/src/core/spec-detector.js.map +1 -1
- package/dist/src/core/specs/spec-metadata-manager.js +1 -1
- package/dist/src/core/specs/spec-metadata-manager.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/status-line-validator.js +1 -1
- package/dist/src/core/status-line-validator.js.map +1 -1
- package/dist/src/core/sync/bidirectional-engine.js +1 -1
- package/dist/src/core/sync/bidirectional-engine.js.map +1 -1
- package/dist/src/core/sync/profile-manager.js +1 -1
- package/dist/src/core/sync/profile-manager.js.map +1 -1
- package/dist/src/core/sync/project-context.js +1 -1
- package/dist/src/core/sync/project-context.js.map +1 -1
- package/dist/src/core/sync/sync-event-logger.js +1 -1
- package/dist/src/core/sync/sync-event-logger.js.map +1 -1
- package/dist/src/core/types/config.js +1 -1
- package/dist/src/core/types/config.js.map +1 -1
- package/dist/src/core/us-completion-detector.d.ts +124 -0
- package/dist/src/core/us-completion-detector.d.ts.map +1 -0
- package/dist/src/core/us-completion-detector.js +270 -0
- package/dist/src/core/us-completion-detector.js.map +1 -0
- package/dist/src/core/utils/permission-checker.js +1 -1
- package/dist/src/core/utils/permission-checker.js.map +1 -1
- package/dist/src/core/workflow/autonomous-executor.js +1 -1
- package/dist/src/core/workflow/autonomous-executor.js.map +1 -1
- package/dist/src/core/workflow/backlog-scanner.js +1 -1
- package/dist/src/core/workflow/backlog-scanner.js.map +1 -1
- package/dist/src/core/workflow/cost-estimator.js +1 -1
- package/dist/src/core/workflow/cost-estimator.js.map +1 -1
- package/dist/src/core/workflow/state-manager.js +1 -1
- package/dist/src/core/workflow/state-manager.js.map +1 -1
- package/dist/src/importers/duplicate-detector.js +1 -1
- package/dist/src/importers/duplicate-detector.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 +1 -1
- package/dist/src/integrations/jira/jira-incremental-mapper.d.ts.map +1 -1
- package/dist/src/integrations/jira/jira-incremental-mapper.js +3 -3
- package/dist/src/integrations/jira/jira-incremental-mapper.js.map +1 -1
- package/dist/src/living-docs/fs-id-allocator.js +1 -1
- package/dist/src/living-docs/fs-id-allocator.js.map +1 -1
- package/dist/src/living-docs/id-registry.js +1 -1
- package/dist/src/living-docs/id-registry.js.map +1 -1
- package/dist/src/sync/external-item-sync-service.js +1 -1
- package/dist/src/sync/external-item-sync-service.js.map +1 -1
- package/dist/src/sync/sync-metadata.js +1 -1
- package/dist/src/sync/sync-metadata.js.map +1 -1
- package/dist/src/utils/agents-md-compiler.js +1 -1
- package/dist/src/utils/agents-md-compiler.js.map +1 -1
- package/dist/src/utils/auto-install.js +1 -1
- package/dist/src/utils/auto-install.js.map +1 -1
- package/dist/src/utils/cost-reporter.js +1 -1
- package/dist/src/utils/cost-reporter.js.map +1 -1
- package/dist/src/utils/docs-preview/config-generator.js +1 -1
- package/dist/src/utils/docs-preview/config-generator.js.map +1 -1
- package/dist/src/utils/docs-preview/docusaurus-setup.js +1 -1
- package/dist/src/utils/docs-preview/docusaurus-setup.js.map +1 -1
- package/dist/src/utils/docs-preview/package-installer.js +1 -1
- package/dist/src/utils/docs-preview/package-installer.js.map +1 -1
- package/dist/src/utils/docs-preview/sidebar-builder.js +1 -1
- package/dist/src/utils/docs-preview/sidebar-builder.js.map +1 -1
- package/dist/src/utils/env-file-generator.js +1 -1
- package/dist/src/utils/env-file-generator.js.map +1 -1
- package/dist/src/utils/external-resource-validator.js +1 -1
- package/dist/src/utils/external-resource-validator.js.map +1 -1
- package/dist/src/utils/fs-native.d.ts +51 -5
- package/dist/src/utils/fs-native.d.ts.map +1 -1
- package/dist/src/utils/fs-native.js +100 -5
- package/dist/src/utils/fs-native.js.map +1 -1
- package/dist/src/utils/plugin-validator.js +1 -1
- package/dist/src/utils/plugin-validator.js.map +1 -1
- package/dist/src/utils/project-detection.js +1 -1
- package/dist/src/utils/project-detection.js.map +1 -1
- package/dist/src/utils/project-validator.js +1 -1
- package/dist/src/utils/project-validator.js.map +1 -1
- package/dist/src/utils/spec-parser.js +1 -1
- package/dist/src/utils/spec-parser.js.map +1 -1
- package/dist/src/utils/spec-splitter.js +1 -1
- package/dist/src/utils/spec-splitter.js.map +1 -1
- package/dist/src/validators/ac-coverage-validator.js +1 -1
- package/dist/src/validators/ac-coverage-validator.js.map +1 -1
- package/package.json +5 -6
- package/plugins/specweave/agents/code-standards-detective/AGENT.md +47 -0
- package/plugins/specweave/agents/docs-writer/AGENT.md +134 -1
- package/plugins/specweave/agents/increment-quality-judge-v2/AGENT.md +1 -0
- package/plugins/specweave/agents/infrastructure/AGENT.md +48 -1
- package/plugins/specweave/agents/performance/AGENT.md +46 -0
- package/plugins/specweave/agents/pm/AGENT.md +115 -3
- package/plugins/specweave/agents/qa-lead/AGENT.md +40 -1
- package/plugins/specweave/agents/reflective-reviewer/AGENT.md +5 -0
- package/plugins/specweave/agents/security/AGENT.md +45 -0
- package/plugins/specweave/agents/tdd-orchestrator/AGENT.md +128 -1
- package/plugins/specweave/agents/tech-lead/AGENT.md +138 -1
- package/plugins/specweave/agents/translator/AGENT.md +132 -0
- package/plugins/specweave/commands/specweave-sync-progress.md +616 -0
- package/plugins/specweave/hooks/hooks.json +0 -9
- package/plugins/specweave/hooks/post-increment-completion.sh +133 -0
- package/plugins/specweave/hooks/post-metadata-change.sh +28 -23
- package/plugins/specweave/hooks/post-task-completion.sh +7 -0
- package/plugins/specweave/hooks/pre-edit-write-consolidated.sh +44 -7
- package/plugins/specweave/hooks/shared/bulk-operation-detector.sh +167 -0
- package/plugins/specweave/lib/hooks/consolidated-sync.js +19 -2
- package/plugins/specweave/lib/hooks/us-completion-orchestrator.js +135 -0
- package/plugins/specweave/lib/vendor/core/increment/ac-status-manager.js +18 -4
- package/plugins/specweave/lib/vendor/core/increment/ac-status-manager.js.map +1 -1
- package/plugins/specweave/lib/vendor/core/increment/active-increment-manager.js +1 -1
- package/plugins/specweave/lib/vendor/core/increment/active-increment-manager.js.map +1 -1
- package/plugins/specweave/lib/vendor/core/increment/duplicate-detector.js +1 -1
- package/plugins/specweave/lib/vendor/core/increment/duplicate-detector.js.map +1 -1
- package/plugins/specweave/lib/vendor/core/increment/metadata-manager.js +1 -1
- package/plugins/specweave/lib/vendor/core/increment/metadata-manager.js.map +1 -1
- package/plugins/specweave/skills/code-reviewer/SKILL.md +1 -1
- package/plugins/specweave/skills/progress-sync/SKILL.md +405 -0
- package/plugins/specweave-ado/lib/ado-multi-project-sync.js +0 -1
- 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/lib/conflict-resolver.js +1 -1
- package/plugins/specweave-ado/lib/conflict-resolver.ts +1 -1
- package/plugins/specweave-backend/agents/database-optimizer/AGENT.md +1 -1
- package/plugins/specweave-frontend/agents/frontend-architect/AGENT.md +5 -0
- package/plugins/specweave-github/.claude-plugin/plugin.json +1 -15
- package/plugins/specweave-github/hooks/README.md +34 -25
- package/plugins/specweave-github/lib/CodeValidator.js +1 -1
- package/plugins/specweave-github/lib/CodeValidator.ts +2 -2
- package/plugins/specweave-github/lib/ThreeLayerSyncManager.js +1 -1
- package/plugins/specweave-github/lib/ThreeLayerSyncManager.ts +1 -1
- package/plugins/specweave-github/lib/github-client-v2.js +13 -1
- package/plugins/specweave-github/lib/github-client-v2.ts +17 -1
- package/plugins/specweave-github/lib/github-issue-updater.js +1 -1
- package/plugins/specweave-github/lib/github-issue-updater.ts +1 -1
- package/plugins/specweave-github/lib/github-sync-bidirectional.js +1 -1
- package/plugins/specweave-github/lib/github-sync-bidirectional.ts +1 -1
- package/plugins/specweave-github/lib/github-sync-increment-changes.js +1 -1
- package/plugins/specweave-github/lib/github-sync-increment-changes.ts +1 -1
- package/plugins/specweave-github/lib/user-story-issue-builder.js +4 -4
- package/plugins/specweave-github/lib/user-story-issue-builder.ts +7 -6
- package/plugins/specweave-infrastructure/agents/devops/AGENT.md +48 -1
- package/plugins/specweave-infrastructure/agents/network-engineer/AGENT.md +6 -1
- package/plugins/specweave-infrastructure/agents/observability-engineer/AGENT.md +6 -1
- package/plugins/specweave-infrastructure/agents/performance-engineer/AGENT.md +6 -1
- package/plugins/specweave-infrastructure/agents/sre/AGENT.md +5 -0
- package/plugins/specweave-jira/lib/enhanced-jira-sync.js +3 -3
- package/plugins/specweave-jira/lib/jira-epic-sync.js +1 -1
- package/plugins/specweave-jira/lib/jira-epic-sync.ts +1 -1
- package/plugins/specweave-kafka/agents/kafka-architect/AGENT.md +5 -0
- package/plugins/specweave-kubernetes/agents/kubernetes-architect/AGENT.md +47 -2
- package/plugins/specweave-ml/agents/data-scientist/AGENT.md +1 -1
- package/plugins/specweave-ml/agents/ml-engineer/AGENT.md +5 -0
- package/plugins/specweave-ml/agents/mlops-engineer/AGENT.md +6 -1
- package/plugins/specweave-payments/agents/payment-integration/AGENT.md +1 -1
- package/plugins/specweave/agents/pm/AGENT.md.bak +0 -1893
- package/plugins/specweave/hooks/docs-changed.sh.backup +0 -79
- package/plugins/specweave/hooks/human-input-required.sh.backup +0 -75
- package/plugins/specweave/hooks/lib/migrate-increment-work.sh.bak +0 -245
- package/plugins/specweave/hooks/lib/sync-spec-content.sh.bak +0 -149
- package/plugins/specweave/hooks/lib/validate-spec-status.sh.bak +0 -163
- package/plugins/specweave/hooks/post-first-increment.sh.backup +0 -61
- package/plugins/specweave/hooks/post-first-increment.sh.bak +0 -61
- package/plugins/specweave/hooks/post-increment-change.sh.backup +0 -98
- package/plugins/specweave/hooks/post-increment-completion.sh.backup +0 -231
- package/plugins/specweave/hooks/post-increment-planning.sh.backup +0 -1048
- package/plugins/specweave/hooks/post-increment-status-change.sh.backup +0 -147
- package/plugins/specweave/hooks/post-spec-update.sh.backup +0 -158
- package/plugins/specweave/hooks/post-spec-update.sh.bak +0 -158
- package/plugins/specweave/hooks/post-user-story-complete.sh.backup +0 -179
- package/plugins/specweave/hooks/post-user-story-complete.sh.bak +0 -179
- package/plugins/specweave/hooks/pre-command-deduplication.sh.backup +0 -83
- package/plugins/specweave/hooks/pre-command-deduplication.sh.bak +0 -83
- package/plugins/specweave/hooks/pre-implementation.sh.backup +0 -67
- package/plugins/specweave/hooks/pre-task-completion.sh.backup +0 -194
- package/plugins/specweave/hooks/pre-tool-use.sh.backup +0 -133
- package/plugins/specweave/hooks/user-prompt-submit.sh.backup +0 -386
- package/plugins/specweave/hooks/user-prompt-submit.sh.bak +0 -386
- package/plugins/specweave/lib/hooks/auto-transition.js.bak +0 -50
- package/plugins/specweave/lib/hooks/auto-transition.ts.bak +0 -84
- package/plugins/specweave/lib/hooks/git-diff-analyzer.d.js.bak +0 -0
- package/plugins/specweave/lib/hooks/git-diff-analyzer.d.ts.bak +0 -89
- package/plugins/specweave/lib/hooks/git-diff-analyzer.js.bak +0 -142
- package/plugins/specweave/lib/hooks/git-diff-analyzer.ts.bak +0 -269
- package/plugins/specweave/lib/hooks/invoke-translator-skill.d.js.bak +0 -0
- package/plugins/specweave/lib/hooks/invoke-translator-skill.d.ts.bak +0 -60
- package/plugins/specweave/lib/hooks/invoke-translator-skill.js.bak +0 -155
- package/plugins/specweave/lib/hooks/invoke-translator-skill.ts.bak +0 -264
- package/plugins/specweave/lib/hooks/prepare-reflection-context.d.js.bak +0 -0
- package/plugins/specweave/lib/hooks/prepare-reflection-context.d.ts.bak +0 -42
- package/plugins/specweave/lib/hooks/prepare-reflection-context.js.bak +0 -110
- package/plugins/specweave/lib/hooks/prepare-reflection-context.ts.bak +0 -178
- package/plugins/specweave/lib/hooks/reflection-config-loader.d.js.bak +0 -0
- package/plugins/specweave/lib/hooks/reflection-config-loader.d.ts.bak +0 -45
- package/plugins/specweave/lib/hooks/reflection-config-loader.js.bak +0 -92
- package/plugins/specweave/lib/hooks/reflection-config-loader.ts.bak +0 -156
- package/plugins/specweave/lib/hooks/reflection-parser.d.js.bak +0 -0
- package/plugins/specweave/lib/hooks/reflection-parser.d.ts.bak +0 -33
- package/plugins/specweave/lib/hooks/reflection-parser.js.bak +0 -301
- package/plugins/specweave/lib/hooks/reflection-parser.ts.bak +0 -484
- package/plugins/specweave/lib/hooks/reflection-prompt-builder.d.js.bak +0 -0
- package/plugins/specweave/lib/hooks/reflection-prompt-builder.d.ts.bak +0 -56
- package/plugins/specweave/lib/hooks/reflection-prompt-builder.js.bak +0 -182
- package/plugins/specweave/lib/hooks/reflection-prompt-builder.ts.bak +0 -306
- package/plugins/specweave/lib/hooks/reflection-storage.d.js.bak +0 -0
- package/plugins/specweave/lib/hooks/reflection-storage.d.ts.bak +0 -64
- package/plugins/specweave/lib/hooks/reflection-storage.js.bak +0 -231
- package/plugins/specweave/lib/hooks/reflection-storage.ts.bak +0 -369
- package/plugins/specweave/lib/hooks/run-self-reflection.d.js.bak +0 -0
- package/plugins/specweave/lib/hooks/run-self-reflection.d.ts.bak +0 -43
- package/plugins/specweave/lib/hooks/run-self-reflection.js.bak +0 -132
- package/plugins/specweave/lib/hooks/run-self-reflection.ts.bak +0 -258
- package/plugins/specweave/lib/hooks/sync-cache.js.bak +0 -294
- package/plugins/specweave/lib/hooks/sync-living-docs.d.js.bak +0 -1
- package/plugins/specweave/lib/hooks/sync-living-docs.d.ts.bak +0 -27
- package/plugins/specweave/lib/hooks/sync-living-docs.js.bak +0 -339
- package/plugins/specweave/lib/hooks/sync-us-tasks.js.bak +0 -476
- package/plugins/specweave/lib/hooks/translate-file.d.js.bak +0 -0
- package/plugins/specweave/lib/hooks/translate-file.d.ts.bak +0 -59
- package/plugins/specweave/lib/hooks/translate-file.js.bak +0 -289
- package/plugins/specweave/lib/hooks/translate-file.ts.bak +0 -428
- package/plugins/specweave/lib/hooks/translate-living-docs.d.js.bak +0 -0
- package/plugins/specweave/lib/hooks/translate-living-docs.d.ts.bak +0 -13
- package/plugins/specweave/lib/hooks/translate-living-docs.js.bak +0 -119
- package/plugins/specweave/lib/hooks/translate-living-docs.ts.bak +0 -224
- package/plugins/specweave/lib/hooks/update-ac-status.js.bak +0 -51
- package/plugins/specweave/lib/hooks/update-ac-status.ts.bak +0 -103
- package/plugins/specweave/lib/hooks/update-tasks-md.d.js.bak +0 -1
- package/plugins/specweave/lib/hooks/update-tasks-md.d.ts.bak +0 -29
- package/plugins/specweave/lib/hooks/update-tasks-md.js.bak +0 -296
- package/plugins/specweave/lib/hooks/update-tasks-md.ts.bak +0 -489
- package/plugins/specweave-ado/hooks/hooks.json +0 -15
- package/plugins/specweave-ado/hooks/post-living-docs-update.sh.backup +0 -353
- package/plugins/specweave-ado/hooks/post-task-completion.sh.backup +0 -172
- package/plugins/specweave-ado/lib/enhanced-ado-sync.js +0 -170
- package/plugins/specweave-github/hooks/.specweave/logs/hooks-debug.log +0 -718
- package/plugins/specweave-github/hooks/hooks.json +0 -15
- package/plugins/specweave-github/hooks/post-task-completion.sh.backup +0 -258
- package/plugins/specweave-jira/hooks/hooks.json +0 -15
- package/plugins/specweave-jira/hooks/post-task-completion.sh.backup +0 -172
- package/plugins/specweave-release/hooks/.specweave/logs/dora-tracking.log +0 -600
- package/plugins/specweave-release/hooks/hooks.json +0 -15
- package/plugins/specweave-release/hooks/post-task-completion.sh.backup +0 -110
|
@@ -0,0 +1,405 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: progress-sync
|
|
3
|
+
description: Comprehensive progress synchronization expert. Explains when and how to use /specweave:sync-progress for multi-system sync (tasks → docs → external tools). Activates for sync progress, update progress, sync everything, sync all systems, sync to GitHub, sync to JIRA, how to sync, progress synchronization, multi-system sync.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Progress Sync Expert
|
|
7
|
+
|
|
8
|
+
I'm the comprehensive progress synchronization expert for SpecWeave. I help you understand and use the `/specweave:sync-progress` command for end-to-end progress synchronization.
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## What is /specweave:sync-progress?
|
|
13
|
+
|
|
14
|
+
**The "single button" to sync progress across all systems**:
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
tasks.md → spec.md ACs → living docs → external tools (GitHub/JIRA/ADO)
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
**One command, complete synchronization**:
|
|
21
|
+
```bash
|
|
22
|
+
/specweave:sync-progress
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## When to Use This Command
|
|
28
|
+
|
|
29
|
+
### ✅ Use /specweave:sync-progress when:
|
|
30
|
+
|
|
31
|
+
1. **After completing tasks**: You've marked tasks as done in tasks.md and want to sync everywhere
|
|
32
|
+
2. **Before closing increment**: Final sync before `/specweave:done` to ensure all systems in sync
|
|
33
|
+
3. **Progress check**: Want to update status line and external tools with latest progress
|
|
34
|
+
4. **After bulk task completion**: Completed multiple tasks, sync all at once
|
|
35
|
+
5. **Manual sync trigger**: Hooks didn't fire or you want to force a sync
|
|
36
|
+
|
|
37
|
+
### ❌ Don't use when:
|
|
38
|
+
|
|
39
|
+
1. **Only want to sync ACs**: Use `/specweave:sync-acs` instead (faster, more targeted)
|
|
40
|
+
2. **Only want to sync docs**: Use `/specweave:sync-specs` instead
|
|
41
|
+
3. **Only want to sync GitHub**: Use `/specweave-github:sync` instead
|
|
42
|
+
4. **Increment not started**: No tasks to sync yet
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## How It Works
|
|
47
|
+
|
|
48
|
+
**Multi-Phase Orchestration**:
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
Phase 1: Tasks → ACs (spec.md)
|
|
52
|
+
└─ Reads completed tasks from tasks.md
|
|
53
|
+
└─ Finds linked ACs (via "Satisfies ACs" field)
|
|
54
|
+
└─ Marks ACs as complete in spec.md: [ ] → [x]
|
|
55
|
+
└─ Updates metadata.json with AC count
|
|
56
|
+
|
|
57
|
+
Phase 2: Spec → Living Docs (User Stories)
|
|
58
|
+
└─ Syncs spec.md to living docs structure
|
|
59
|
+
└─ Updates user story completion status
|
|
60
|
+
└─ Generates/updates feature ID if needed
|
|
61
|
+
|
|
62
|
+
Phase 3: Living Docs → External Tools
|
|
63
|
+
├─ GitHub: Closes completed user story issues, updates epic checklist
|
|
64
|
+
├─ JIRA: Updates story status, transitions workflow
|
|
65
|
+
└─ Azure DevOps: Updates work item state, comments
|
|
66
|
+
|
|
67
|
+
Phase 4: Status Line Cache
|
|
68
|
+
└─ Updates status line with latest completion %
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## Usage Examples
|
|
74
|
+
|
|
75
|
+
### Example 1: After Completing Tasks (Typical Workflow)
|
|
76
|
+
|
|
77
|
+
**Scenario**: You completed 5 tasks and marked them in tasks.md. Now sync everywhere.
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
# Single command syncs everything
|
|
81
|
+
/specweave:sync-progress
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
**What happens**:
|
|
85
|
+
1. ✅ 5 tasks → 12 ACs marked complete in spec.md
|
|
86
|
+
2. ✅ 2 user stories marked complete in living docs
|
|
87
|
+
3. ✅ 2 GitHub issues closed
|
|
88
|
+
4. ✅ Epic issue checklist updated (5/37 tasks complete)
|
|
89
|
+
5. ✅ Status line shows 68% → 85% completion
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
### Example 2: Before Closing Increment
|
|
94
|
+
|
|
95
|
+
**Scenario**: All 37 tasks complete, ready to close. Ensure final sync.
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
# Final sync before closure
|
|
99
|
+
/specweave:sync-progress 0053
|
|
100
|
+
|
|
101
|
+
# Then close increment
|
|
102
|
+
/specweave:done 0053
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
**Why important**: `/specweave:done` validates completion. Final sync ensures:
|
|
106
|
+
- All ACs marked complete
|
|
107
|
+
- All user stories synced
|
|
108
|
+
- All GitHub issues closed
|
|
109
|
+
- Status line shows 100%
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
### Example 3: Dry-Run (Preview Mode)
|
|
114
|
+
|
|
115
|
+
**Scenario**: Want to see what will be synced before executing.
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
# Preview mode
|
|
119
|
+
/specweave:sync-progress 0053 --dry-run
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
**Output**:
|
|
123
|
+
```
|
|
124
|
+
🔍 DRY-RUN MODE (No changes made)
|
|
125
|
+
|
|
126
|
+
Would sync:
|
|
127
|
+
• 37 completed tasks → 70 ACs in spec.md
|
|
128
|
+
• spec.md → 6 user stories in living docs
|
|
129
|
+
• Living docs → 6 GitHub issues (would close completed)
|
|
130
|
+
• Status line cache (would update completion %)
|
|
131
|
+
|
|
132
|
+
Run without --dry-run to execute sync.
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
### Example 4: Local-Only Sync (No External Tools)
|
|
138
|
+
|
|
139
|
+
**Scenario**: Offline work, don't want to sync to GitHub/JIRA yet.
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
# Skip external tools
|
|
143
|
+
/specweave:sync-progress 0053 --no-github --no-jira --no-ado
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
**What syncs**:
|
|
147
|
+
- ✅ Tasks → ACs (spec.md)
|
|
148
|
+
- ✅ Spec → Living docs
|
|
149
|
+
- ❌ External tools (skipped)
|
|
150
|
+
- ✅ Status line cache
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## Flags
|
|
155
|
+
|
|
156
|
+
| Flag | Purpose | Example |
|
|
157
|
+
|------|---------|---------|
|
|
158
|
+
| `--dry-run` | Preview without executing | `--dry-run` |
|
|
159
|
+
| `--no-github` | Skip GitHub sync | `--no-github` |
|
|
160
|
+
| `--no-jira` | Skip JIRA sync | `--no-jira` |
|
|
161
|
+
| `--no-ado` | Skip Azure DevOps sync | `--no-ado` |
|
|
162
|
+
| `--force` | Force sync even if validation fails | `--force` |
|
|
163
|
+
|
|
164
|
+
**Combine flags**:
|
|
165
|
+
```bash
|
|
166
|
+
# Dry-run with no external tools
|
|
167
|
+
/specweave:sync-progress --dry-run --no-github
|
|
168
|
+
|
|
169
|
+
# Force sync, skip GitHub
|
|
170
|
+
/specweave:sync-progress --force --no-github
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
|
|
175
|
+
## Comparison with Other Sync Commands
|
|
176
|
+
|
|
177
|
+
| Command | Scope | When to Use |
|
|
178
|
+
|---------|-------|-------------|
|
|
179
|
+
| `/specweave:sync-acs` | Tasks → ACs only | Quick AC update |
|
|
180
|
+
| `/specweave:sync-specs` | Spec → Docs only | After spec changes |
|
|
181
|
+
| `/specweave-github:sync` | Docs → GitHub only | GitHub-only sync |
|
|
182
|
+
| `/specweave:sync-progress` | **Tasks → Docs → External** | **Complete sync** ✅ |
|
|
183
|
+
|
|
184
|
+
**Rule of thumb**:
|
|
185
|
+
- Need **targeted sync** → Use specific command (`sync-acs`, `sync-specs`)
|
|
186
|
+
- Need **complete sync** → Use `/specweave:sync-progress` ✅
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
## Auto-Detection
|
|
191
|
+
|
|
192
|
+
**Smart increment detection**:
|
|
193
|
+
|
|
194
|
+
```bash
|
|
195
|
+
# Explicit increment ID
|
|
196
|
+
/specweave:sync-progress 0053
|
|
197
|
+
|
|
198
|
+
# Auto-detect from active increment
|
|
199
|
+
/specweave:sync-progress
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
**How auto-detection works**:
|
|
203
|
+
1. Reads `.specweave/state/active-increment.json`
|
|
204
|
+
2. Finds first active increment ID
|
|
205
|
+
3. Uses that increment for sync
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
209
|
+
## External Tool Configuration
|
|
210
|
+
|
|
211
|
+
**Automatic detection of configured tools**:
|
|
212
|
+
|
|
213
|
+
The command checks `.specweave/config.json` for:
|
|
214
|
+
- GitHub: `"provider": "github"`
|
|
215
|
+
- JIRA: `"provider": "jira"`
|
|
216
|
+
- Azure DevOps: `"provider": "azure-devops"`
|
|
217
|
+
|
|
218
|
+
**Only configured tools are synced**:
|
|
219
|
+
|
|
220
|
+
```
|
|
221
|
+
✅ GitHub integration detected → Will sync
|
|
222
|
+
ℹ️ No JIRA integration → Skip
|
|
223
|
+
ℹ️ No ADO integration → Skip
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
---
|
|
227
|
+
|
|
228
|
+
## Error Handling
|
|
229
|
+
|
|
230
|
+
**Graceful degradation**:
|
|
231
|
+
|
|
232
|
+
| Error Type | Behavior | Impact |
|
|
233
|
+
|------------|----------|--------|
|
|
234
|
+
| AC sync fails | ❌ Abort sync | Critical - blocks all sync |
|
|
235
|
+
| Docs sync fails | ❌ Abort sync | Critical - blocks external sync |
|
|
236
|
+
| GitHub sync fails | ⚠️ Log warning, continue | Non-critical - docs still synced |
|
|
237
|
+
| JIRA sync fails | ⚠️ Log warning, continue | Non-critical - docs still synced |
|
|
238
|
+
| ADO sync fails | ⚠️ Log warning, continue | Non-critical - docs still synced |
|
|
239
|
+
|
|
240
|
+
**Philosophy**: Core sync (tasks → docs) must succeed. External tool sync is best-effort.
|
|
241
|
+
|
|
242
|
+
---
|
|
243
|
+
|
|
244
|
+
## Troubleshooting
|
|
245
|
+
|
|
246
|
+
### Issue: "No active increment found"
|
|
247
|
+
|
|
248
|
+
**Error**:
|
|
249
|
+
```
|
|
250
|
+
❌ No active increment found
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
**Fix**:
|
|
254
|
+
```bash
|
|
255
|
+
# Provide increment ID explicitly
|
|
256
|
+
/specweave:sync-progress 0053
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
---
|
|
260
|
+
|
|
261
|
+
### Issue: "AC sync had warnings"
|
|
262
|
+
|
|
263
|
+
**Error**:
|
|
264
|
+
```
|
|
265
|
+
⚠️ AC sync had warnings: 5 ACs not found in spec.md
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
**Fix**:
|
|
269
|
+
```bash
|
|
270
|
+
# Embed ACs from living docs into spec.md
|
|
271
|
+
/specweave:embed-acs 0053
|
|
272
|
+
|
|
273
|
+
# Then retry sync
|
|
274
|
+
/specweave:sync-progress 0053
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
**Why this happens**: spec.md missing inline ACs (ADR-0064 requirement).
|
|
278
|
+
|
|
279
|
+
---
|
|
280
|
+
|
|
281
|
+
### Issue: "GitHub rate limit exceeded"
|
|
282
|
+
|
|
283
|
+
**Error**:
|
|
284
|
+
```
|
|
285
|
+
⚠️ GitHub sync had warnings: Rate limit exceeded
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
**Fix**: Non-critical. Docs are synced. Retry later when rate limit resets:
|
|
289
|
+
|
|
290
|
+
```bash
|
|
291
|
+
# Retry GitHub sync only (when rate limit resets)
|
|
292
|
+
/specweave-github:sync 0053
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
---
|
|
296
|
+
|
|
297
|
+
## Integration with Workflow
|
|
298
|
+
|
|
299
|
+
**Typical increment workflow with progress sync**:
|
|
300
|
+
|
|
301
|
+
```bash
|
|
302
|
+
# 1. Plan increment
|
|
303
|
+
/specweave:increment "Safe feature deletion"
|
|
304
|
+
|
|
305
|
+
# 2. Execute tasks
|
|
306
|
+
/specweave:do
|
|
307
|
+
|
|
308
|
+
# [Complete tasks manually or via sub-agents...]
|
|
309
|
+
|
|
310
|
+
# 3. Sync progress after each batch of tasks
|
|
311
|
+
/specweave:sync-progress
|
|
312
|
+
|
|
313
|
+
# 4. Final sync before closure
|
|
314
|
+
/specweave:sync-progress 0053
|
|
315
|
+
|
|
316
|
+
# 5. Validate quality
|
|
317
|
+
/specweave:validate 0053 --quality
|
|
318
|
+
|
|
319
|
+
# 6. Close increment
|
|
320
|
+
/specweave:done 0053
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
---
|
|
324
|
+
|
|
325
|
+
## Best Practices
|
|
326
|
+
|
|
327
|
+
### ✅ DO:
|
|
328
|
+
|
|
329
|
+
1. **Sync after task batches**: Complete 3-5 tasks → sync → continue
|
|
330
|
+
2. **Final sync before closure**: Ensure 100% sync before `/specweave:done`
|
|
331
|
+
3. **Use dry-run first**: Preview changes with `--dry-run`
|
|
332
|
+
4. **Check external tools**: Verify GitHub/JIRA after sync
|
|
333
|
+
5. **Review status line**: Ensure completion % updated correctly
|
|
334
|
+
|
|
335
|
+
### ❌ DON'T:
|
|
336
|
+
|
|
337
|
+
1. **Don't sync for every task**: Batching is more efficient
|
|
338
|
+
2. **Don't skip final sync**: Always sync before `/specweave:done`
|
|
339
|
+
3. **Don't ignore warnings**: AC sync warnings indicate missing ACs
|
|
340
|
+
4. **Don't force sync without understanding**: `--force` bypasses validation
|
|
341
|
+
5. **Don't sync before tasks complete**: Sync when progress actually changed
|
|
342
|
+
|
|
343
|
+
---
|
|
344
|
+
|
|
345
|
+
## Architecture
|
|
346
|
+
|
|
347
|
+
**Why comprehensive sync is needed**:
|
|
348
|
+
|
|
349
|
+
```
|
|
350
|
+
Problem: Manual multi-step sync is error-prone
|
|
351
|
+
1. Update spec.md ACs manually
|
|
352
|
+
2. Run /specweave:sync-specs
|
|
353
|
+
3. Run /specweave-github:sync
|
|
354
|
+
4. Run /specweave:update-status
|
|
355
|
+
5. Check each system for correctness
|
|
356
|
+
|
|
357
|
+
Solution: Single command orchestrates all steps
|
|
358
|
+
/specweave:sync-progress → Does all 4 steps automatically
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
**Benefits**:
|
|
362
|
+
- ✅ **Single command**: One button for complete sync
|
|
363
|
+
- ✅ **Guaranteed consistency**: All systems synced together
|
|
364
|
+
- ✅ **Error resilience**: Non-critical failures don't block core sync
|
|
365
|
+
- ✅ **Audit trail**: Comprehensive report shows what synced
|
|
366
|
+
- ✅ **Dry-run support**: Preview before executing
|
|
367
|
+
|
|
368
|
+
---
|
|
369
|
+
|
|
370
|
+
## When Command Was Added
|
|
371
|
+
|
|
372
|
+
**Version**: v0.25.0+
|
|
373
|
+
**Increment**: 0053-safe-feature-deletion
|
|
374
|
+
**ADR**: None yet (new feature)
|
|
375
|
+
|
|
376
|
+
**Context**: Before this command, users had to manually:
|
|
377
|
+
1. Run `/specweave:sync-acs`
|
|
378
|
+
2. Run `/specweave:sync-specs`
|
|
379
|
+
3. Run `/specweave-github:sync`
|
|
380
|
+
4. Run `/specweave:update-status`
|
|
381
|
+
|
|
382
|
+
Now: **One command does all 4 steps** ✅
|
|
383
|
+
|
|
384
|
+
---
|
|
385
|
+
|
|
386
|
+
## Related Commands
|
|
387
|
+
|
|
388
|
+
- `/specweave:sync-acs` - Sync tasks → ACs only
|
|
389
|
+
- `/specweave:sync-specs` - Sync spec → living docs only
|
|
390
|
+
- `/specweave:sync-tasks` - Sync external → tasks (bidirectional)
|
|
391
|
+
- `/specweave-github:sync` - Sync docs → GitHub only
|
|
392
|
+
- `/specweave-jira:sync` - Sync docs → JIRA only
|
|
393
|
+
- `/specweave-ado:sync` - Sync docs → ADO only
|
|
394
|
+
- `/specweave:update-status` - Update status line cache
|
|
395
|
+
|
|
396
|
+
---
|
|
397
|
+
|
|
398
|
+
**I'm here to help you sync progress efficiently across all systems!**
|
|
399
|
+
|
|
400
|
+
Ask me:
|
|
401
|
+
- "How do I sync progress to GitHub?"
|
|
402
|
+
- "What's the difference between sync-progress and sync-acs?"
|
|
403
|
+
- "How do I preview sync without executing?"
|
|
404
|
+
- "Why did my GitHub sync fail?"
|
|
405
|
+
- "When should I use --dry-run?"
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* based on content analysis, folder structure, and configuration.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import * as fs from 'fs-
|
|
8
|
+
import * as fs from '../../../src/utils/fs-native.js';
|
|
9
9
|
import * as path from 'path';
|
|
10
10
|
import { AzureDevOpsStrategy } from '../../../src/cli/helpers/issue-tracker/types';
|
|
11
11
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: database-optimizer
|
|
3
3
|
description: Expert database optimizer specializing in modern performance tuning, query optimization, and scalable architectures. Masters advanced indexing, N+1 resolution, multi-tier caching, partitioning strategies, and cloud database optimization. Handles complex query analysis, migration strategies, and performance monitoring. Use PROACTIVELY for database optimization, performance issues, or scalability challenges.
|
|
4
|
-
model: haiku
|
|
4
|
+
model: claude-haiku-4-5-20251001
|
|
5
5
|
model_preference: sonnet
|
|
6
6
|
cost_profile: planning
|
|
7
7
|
fallback_behavior: strict
|
|
@@ -8,10 +8,15 @@ tools:
|
|
|
8
8
|
- Bash
|
|
9
9
|
- Glob
|
|
10
10
|
- Grep
|
|
11
|
+
max_response_tokens: 2000
|
|
11
12
|
---
|
|
12
13
|
|
|
13
14
|
# Frontend Architect Agent
|
|
14
15
|
|
|
16
|
+
## ⚠️ Chunking for Large Frontend Architectures
|
|
17
|
+
|
|
18
|
+
When generating comprehensive frontend architectures that exceed 1000 lines (e.g., complete component library with Atomic Design, state management, routing, and build configuration), generate output **incrementally** to prevent crashes. Break large frontend implementations into logical layers (e.g., Atomic Components → State Management → Routing → Build Config → Testing Setup) and ask the user which layer to implement next. This ensures reliable delivery of frontend architecture without overwhelming the system.
|
|
19
|
+
|
|
15
20
|
You are an expert frontend architect with deep knowledge of modern frontend frameworks, architecture patterns, and best practices.
|
|
16
21
|
|
|
17
22
|
## Expertise
|
|
@@ -15,19 +15,5 @@
|
|
|
15
15
|
"integration",
|
|
16
16
|
"sync",
|
|
17
17
|
"specweave"
|
|
18
|
-
]
|
|
19
|
-
"hooks": {
|
|
20
|
-
"PostToolUse": [
|
|
21
|
-
{
|
|
22
|
-
"matcher": "TodoWrite",
|
|
23
|
-
"hooks": [
|
|
24
|
-
{
|
|
25
|
-
"type": "command",
|
|
26
|
-
"command": "${CLAUDE_PLUGIN_ROOT}/hooks/post-task-completion.sh",
|
|
27
|
-
"timeout": 15
|
|
28
|
-
}
|
|
29
|
-
]
|
|
30
|
-
}
|
|
31
|
-
]
|
|
32
|
-
}
|
|
18
|
+
]
|
|
33
19
|
}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
## Purpose
|
|
9
9
|
|
|
10
|
-
This hook
|
|
10
|
+
This hook provides GitHub Issues sync functionality for SpecWeave increments.
|
|
11
11
|
|
|
12
12
|
**Key Features**:
|
|
13
13
|
- ✅ Updates GitHub issue checkboxes based on `tasks.md` completion status
|
|
@@ -16,13 +16,15 @@ This hook automatically syncs SpecWeave increment progress to GitHub Issues afte
|
|
|
16
16
|
- ✅ Non-blocking (failures don't stop core workflow)
|
|
17
17
|
- ✅ Self-contained (no dependencies on core plugin)
|
|
18
18
|
|
|
19
|
+
**IMPORTANT CHANGE (v0.26.0)**: This hook is NO LONGER automatically triggered on task completion. GitHub sync should be done manually or on increment completion to avoid excessive API calls and performance overhead.
|
|
20
|
+
|
|
19
21
|
---
|
|
20
22
|
|
|
21
23
|
## Available Hooks
|
|
22
24
|
|
|
23
25
|
### 1. `post-task-completion.sh`
|
|
24
26
|
|
|
25
|
-
**Triggers**:
|
|
27
|
+
**Triggers**: Manual invocation or increment completion (NOT on task completion)
|
|
26
28
|
|
|
27
29
|
**Preconditions**:
|
|
28
30
|
- ✅ Active increment exists (`.specweave/increments/####/`)
|
|
@@ -59,30 +61,36 @@ Log: "[GitHub] ✅ GitHub sync complete"
|
|
|
59
61
|
|
|
60
62
|
## Configuration
|
|
61
63
|
|
|
62
|
-
### Hook Registration
|
|
64
|
+
### Hook Registration
|
|
63
65
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
66
|
+
**DEPRECATED (v0.26.0)**: This hook is NO LONGER automatically registered on TodoWrite events.
|
|
67
|
+
|
|
68
|
+
**Previous behavior (v0.24.0 and earlier)**:
|
|
69
|
+
- Hook automatically fired on EVERY task completion
|
|
70
|
+
- Caused excessive GitHub API calls
|
|
71
|
+
- Created performance overhead and duplicate executions
|
|
72
|
+
|
|
73
|
+
**New behavior (v0.26.0+)**:
|
|
74
|
+
- Hook must be invoked manually via `/specweave-github:sync`
|
|
75
|
+
- OR triggered on increment completion (not task completion)
|
|
76
|
+
- Reduces API calls by 90%+
|
|
77
|
+
- Eliminates duplicate hook executions
|
|
78
|
+
|
|
79
|
+
### Usage
|
|
80
|
+
|
|
81
|
+
**Manual Sync** (recommended workflow):
|
|
82
|
+
```bash
|
|
83
|
+
# After completing several tasks, sync progress to GitHub
|
|
84
|
+
/specweave-github:sync
|
|
85
|
+
|
|
86
|
+
# Or sync specific feature
|
|
87
|
+
/specweave-github:sync FS-048
|
|
80
88
|
```
|
|
81
89
|
|
|
82
|
-
**
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
90
|
+
**Automatic Sync Options**:
|
|
91
|
+
1. **On Increment Completion**: Add hook to specweave plugin's post-increment-completion
|
|
92
|
+
2. **Periodic Sync**: Set up cron job or CI/CD trigger
|
|
93
|
+
3. **On Demand**: Call `/specweave-github:sync` when needed
|
|
86
94
|
|
|
87
95
|
### Metadata Format
|
|
88
96
|
|
|
@@ -143,8 +151,9 @@ bash -n plugins/specweave-github/hooks/post-task-completion.sh
|
|
|
143
151
|
|
|
144
152
|
1. Create increment: `/specweave:increment "test feature"`
|
|
145
153
|
2. Create GitHub issue: `/specweave-github:create-issue 0001`
|
|
146
|
-
3. Complete
|
|
147
|
-
4.
|
|
154
|
+
3. Complete several tasks via TodoWrite
|
|
155
|
+
4. **Manually trigger sync**: `/specweave-github:sync`
|
|
156
|
+
5. Check GitHub issue for updates
|
|
148
157
|
|
|
149
158
|
---
|
|
150
159
|
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* @module CodeValidator
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
|
-
import fs from 'fs-
|
|
15
|
+
import * as fs from '../../../src/utils/fs-native.js';
|
|
16
16
|
import path from 'path';
|
|
17
17
|
|
|
18
18
|
/**
|
|
@@ -133,7 +133,7 @@ export class CodeValidator {
|
|
|
133
133
|
// Read file content
|
|
134
134
|
const content = await fs.readFile(absolutePath, 'utf-8');
|
|
135
135
|
const lines = content.split('\n');
|
|
136
|
-
const nonEmptyLines = lines.filter(line => line.trim().length > 0);
|
|
136
|
+
const nonEmptyLines = lines.filter((line: string) => line.trim().length > 0);
|
|
137
137
|
|
|
138
138
|
// Check line count
|
|
139
139
|
if (nonEmptyLines.length < this.options.minLines) {
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* @module ThreeLayerSyncManager
|
|
19
19
|
*/
|
|
20
20
|
|
|
21
|
-
import fs from 'fs-
|
|
21
|
+
import * as fs from '../../../src/utils/fs-native.js';
|
|
22
22
|
import path from 'path';
|
|
23
23
|
import { execFileNoThrow } from '../../../src/utils/execFileNoThrow.js';
|
|
24
24
|
import { CodeValidator, type TaskValidationResult } from './CodeValidator.js';
|
|
@@ -202,7 +202,19 @@ FIX: Use /specweave:sync-docs to generate living docs, then sync to GitHub.
|
|
|
202
202
|
args.push("--label", label);
|
|
203
203
|
}
|
|
204
204
|
if (milestone !== void 0) {
|
|
205
|
-
|
|
205
|
+
if (typeof milestone === "number") {
|
|
206
|
+
const msResult = await execFileNoThrow("gh", [
|
|
207
|
+
"api",
|
|
208
|
+
`repos/${this.fullRepo}/milestones/${milestone}`,
|
|
209
|
+
"--jq",
|
|
210
|
+
".title"
|
|
211
|
+
]);
|
|
212
|
+
if (msResult.exitCode === 0 && msResult.stdout.trim()) {
|
|
213
|
+
args.push("--milestone", msResult.stdout.trim());
|
|
214
|
+
}
|
|
215
|
+
} else {
|
|
216
|
+
args.push("--milestone", milestone);
|
|
217
|
+
}
|
|
206
218
|
}
|
|
207
219
|
const createResult = await execFileNoThrow("gh", args);
|
|
208
220
|
if (createResult.exitCode !== 0) {
|
|
@@ -283,7 +283,23 @@ export class GitHubClientV2 {
|
|
|
283
283
|
|
|
284
284
|
// Add milestone
|
|
285
285
|
if (milestone !== undefined) {
|
|
286
|
-
|
|
286
|
+
// gh CLI requires milestone TITLE, not number
|
|
287
|
+
if (typeof milestone === 'number') {
|
|
288
|
+
// Fetch milestone by number to get title
|
|
289
|
+
const msResult = await execFileNoThrow('gh', [
|
|
290
|
+
'api',
|
|
291
|
+
`repos/${this.fullRepo}/milestones/${milestone}`,
|
|
292
|
+
'--jq',
|
|
293
|
+
'.title'
|
|
294
|
+
]);
|
|
295
|
+
|
|
296
|
+
if (msResult.exitCode === 0 && msResult.stdout.trim()) {
|
|
297
|
+
args.push('--milestone', msResult.stdout.trim());
|
|
298
|
+
}
|
|
299
|
+
// If milestone fetch fails, skip milestone assignment (non-blocking)
|
|
300
|
+
} else {
|
|
301
|
+
args.push('--milestone', milestone);
|
|
302
|
+
}
|
|
287
303
|
}
|
|
288
304
|
|
|
289
305
|
// Create issue (returns URL)
|