specweave 0.17.1 → 0.17.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/specweave.js +16 -16
- package/dist/plugins/specweave-github/lib/github-spec-sync.d.ts +109 -6
- package/dist/plugins/specweave-github/lib/github-spec-sync.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/github-spec-sync.js +435 -49
- package/dist/plugins/specweave-github/lib/github-spec-sync.js.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/github-multi-repo.d.ts +10 -2
- 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 +28 -14
- package/dist/src/cli/helpers/issue-tracker/github-multi-repo.js.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/github.d.ts.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/github.js +10 -1
- package/dist/src/cli/helpers/issue-tracker/github.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 +20 -0
- package/dist/src/cli/helpers/issue-tracker/index.js.map +1 -1
- package/dist/src/core/project-manager.d.ts +25 -21
- package/dist/src/core/project-manager.d.ts.map +1 -1
- package/dist/src/core/project-manager.js +41 -51
- package/dist/src/core/project-manager.js.map +1 -1
- package/dist/src/core/repo-structure/folder-detector.d.ts +19 -0
- package/dist/src/core/repo-structure/folder-detector.d.ts.map +1 -0
- package/dist/src/core/repo-structure/folder-detector.js +95 -0
- package/dist/src/core/repo-structure/folder-detector.js.map +1 -0
- package/dist/src/core/repo-structure/repo-structure-manager.d.ts +4 -1
- package/dist/src/core/repo-structure/repo-structure-manager.d.ts.map +1 -1
- package/dist/src/core/repo-structure/repo-structure-manager.js +41 -27
- package/dist/src/core/repo-structure/repo-structure-manager.js.map +1 -1
- package/dist/src/core/types/spec-metadata.d.ts +34 -1
- package/dist/src/core/types/spec-metadata.d.ts.map +1 -1
- package/dist/src/core/types/sync-profile.d.ts +30 -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/utils/project-validator.d.ts +27 -0
- package/dist/src/utils/project-validator.d.ts.map +1 -0
- package/dist/src/utils/project-validator.js +68 -0
- package/dist/src/utils/project-validator.js.map +1 -0
- package/package.json +1 -1
- package/plugins/specweave/lib/hooks/git-diff-analyzer.js +129 -213
- package/plugins/specweave/lib/hooks/invoke-translator-skill.js +146 -192
- package/plugins/specweave/lib/hooks/prepare-reflection-context.js +103 -116
- package/plugins/specweave/lib/hooks/reflection-config-loader.js +85 -125
- package/plugins/specweave/lib/hooks/reflection-parser.js +267 -385
- package/plugins/specweave/lib/hooks/reflection-prompt-builder.js +169 -226
- package/plugins/specweave/lib/hooks/reflection-storage.js +223 -297
- package/plugins/specweave/lib/hooks/run-self-reflection.js +120 -191
- package/plugins/specweave/lib/hooks/translate-file.js +239 -300
- package/plugins/specweave/lib/hooks/translate-living-docs.js +88 -144
- package/plugins/specweave/lib/hooks/types/reflection-types.js +57 -72
- package/plugins/specweave/lib/hooks/update-tasks-md.js +117 -179
- package/plugins/specweave-ado/lib/ado-board-resolver.js +135 -205
- package/plugins/specweave-ado/lib/ado-client-v2.js +405 -449
- package/plugins/specweave-ado/lib/ado-hierarchical-sync.js +223 -335
- package/plugins/specweave-ado/lib/ado-spec-commit-sync.js +173 -194
- package/plugins/specweave-ado/lib/ado-spec-sync.js +380 -414
- package/plugins/specweave-ado/lib/conflict-resolver.ts +1 -1
- package/plugins/specweave-ado/lib/project-selector.js +168 -196
- package/plugins/specweave-github/MULTI-PROJECT-SYNC-ARCHITECTURE.md +658 -0
- package/plugins/specweave-github/SYNC-ARCHITECTURE-FIX-SUMMARY.md +302 -0
- package/plugins/specweave-github/hooks/post-task-completion.sh +55 -157
- package/plugins/specweave-github/lib/cli-sync-increment-changes.js +9 -20
- package/plugins/specweave-github/lib/github-board-resolver.js +69 -115
- package/plugins/specweave-github/lib/github-client-v2.js +400 -389
- package/plugins/specweave-github/lib/github-client.js +246 -280
- package/plugins/specweave-github/lib/github-hierarchical-sync.js +168 -251
- package/plugins/specweave-github/lib/github-spec-commit-sync.js +171 -194
- package/plugins/specweave-github/lib/github-spec-sync.js +742 -418
- package/plugins/specweave-github/lib/github-spec-sync.ts +597 -61
- package/plugins/specweave-github/lib/index.js +11 -10
- package/plugins/specweave-github/lib/repo-selector.js +174 -201
- package/plugins/specweave-github/lib/subtask-sync.js +132 -125
- package/plugins/specweave-github/lib/task-parser.js +191 -207
- package/plugins/specweave-github/lib/task-sync.js +344 -296
- package/plugins/specweave-github/lib/types.js +0 -5
- package/plugins/specweave-github/skills/github-sync/SKILL.md +234 -242
- package/plugins/specweave-jira/lib/jira-board-resolver.js +50 -79
- package/plugins/specweave-jira/lib/jira-hierarchical-sync.js +119 -191
- package/plugins/specweave-jira/lib/jira-spec-commit-sync.js +241 -263
- package/plugins/specweave-jira/lib/jira-spec-sync.js +366 -405
- package/plugins/specweave-jira/lib/project-selector.js +172 -201
- package/plugins/specweave-jira/lib/reorganization-detector.js +202 -237
- package/plugins/specweave-jira/lib/setup-wizard.js +162 -204
- package/dist/adapters/adapter-base.d.ts +0 -71
- package/dist/adapters/adapter-base.d.ts.map +0 -1
- package/dist/adapters/adapter-base.js +0 -139
- package/dist/adapters/adapter-base.js.map +0 -1
- package/dist/adapters/adapter-interface.d.ts +0 -149
- package/dist/adapters/adapter-interface.d.ts.map +0 -1
- package/dist/adapters/adapter-interface.js +0 -8
- package/dist/adapters/adapter-interface.js.map +0 -1
- package/dist/adapters/adapter-loader.d.ts +0 -91
- package/dist/adapters/adapter-loader.d.ts.map +0 -1
- package/dist/adapters/adapter-loader.js +0 -238
- package/dist/adapters/adapter-loader.js.map +0 -1
- package/dist/adapters/agents-md-generator.d.ts +0 -48
- package/dist/adapters/agents-md-generator.d.ts.map +0 -1
- package/dist/adapters/agents-md-generator.js +0 -193
- package/dist/adapters/agents-md-generator.js.map +0 -1
- package/dist/adapters/claude/adapter.d.ts +0 -128
- package/dist/adapters/claude/adapter.d.ts.map +0 -1
- package/dist/adapters/claude/adapter.js +0 -415
- package/dist/adapters/claude/adapter.js.map +0 -1
- package/dist/adapters/claude-md-generator.d.ts +0 -78
- package/dist/adapters/claude-md-generator.d.ts.map +0 -1
- package/dist/adapters/claude-md-generator.js +0 -307
- package/dist/adapters/claude-md-generator.js.map +0 -1
- package/dist/adapters/codex/adapter.d.ts +0 -50
- package/dist/adapters/codex/adapter.d.ts.map +0 -1
- package/dist/adapters/codex/adapter.js +0 -316
- package/dist/adapters/codex/adapter.js.map +0 -1
- package/dist/adapters/cursor/adapter.d.ts +0 -98
- package/dist/adapters/cursor/adapter.d.ts.map +0 -1
- package/dist/adapters/cursor/adapter.js +0 -406
- package/dist/adapters/cursor/adapter.js.map +0 -1
- package/dist/adapters/doc-generator.d.ts +0 -69
- package/dist/adapters/doc-generator.d.ts.map +0 -1
- package/dist/adapters/doc-generator.js +0 -247
- package/dist/adapters/doc-generator.js.map +0 -1
- package/dist/adapters/gemini/adapter.d.ts +0 -50
- package/dist/adapters/gemini/adapter.d.ts.map +0 -1
- package/dist/adapters/gemini/adapter.js +0 -281
- package/dist/adapters/gemini/adapter.js.map +0 -1
- package/dist/adapters/generic/adapter.d.ts +0 -86
- package/dist/adapters/generic/adapter.d.ts.map +0 -1
- package/dist/adapters/generic/adapter.js +0 -338
- package/dist/adapters/generic/adapter.js.map +0 -1
- package/dist/cli/commands/abandon.d.ts +0 -13
- package/dist/cli/commands/abandon.d.ts.map +0 -1
- package/dist/cli/commands/abandon.js +0 -15
- package/dist/cli/commands/abandon.js.map +0 -1
- package/dist/cli/commands/check-discipline.d.ts +0 -16
- package/dist/cli/commands/check-discipline.d.ts.map +0 -1
- package/dist/cli/commands/check-discipline.js +0 -79
- package/dist/cli/commands/check-discipline.js.map +0 -1
- package/dist/cli/commands/import-docs.d.ts +0 -21
- package/dist/cli/commands/import-docs.d.ts.map +0 -1
- package/dist/cli/commands/import-docs.js +0 -146
- package/dist/cli/commands/import-docs.js.map +0 -1
- package/dist/cli/commands/init-multiproject.d.ts +0 -11
- package/dist/cli/commands/init-multiproject.d.ts.map +0 -1
- package/dist/cli/commands/init-multiproject.js +0 -202
- package/dist/cli/commands/init-multiproject.js.map +0 -1
- package/dist/cli/commands/init.d.ts +0 -10
- package/dist/cli/commands/init.d.ts.map +0 -1
- package/dist/cli/commands/init.js +0 -1328
- package/dist/cli/commands/init.js.map +0 -1
- package/dist/cli/commands/install.d.ts +0 -9
- package/dist/cli/commands/install.d.ts.map +0 -1
- package/dist/cli/commands/install.js +0 -127
- package/dist/cli/commands/install.js.map +0 -1
- package/dist/cli/commands/list.d.ts +0 -8
- package/dist/cli/commands/list.d.ts.map +0 -1
- package/dist/cli/commands/list.js +0 -119
- package/dist/cli/commands/list.js.map +0 -1
- package/dist/cli/commands/migrate-to-multiproject.d.ts +0 -37
- package/dist/cli/commands/migrate-to-multiproject.d.ts.map +0 -1
- package/dist/cli/commands/migrate-to-multiproject.js +0 -189
- package/dist/cli/commands/migrate-to-multiproject.js.map +0 -1
- package/dist/cli/commands/migrate-to-profiles.d.ts +0 -25
- package/dist/cli/commands/migrate-to-profiles.d.ts.map +0 -1
- package/dist/cli/commands/migrate-to-profiles.js +0 -348
- package/dist/cli/commands/migrate-to-profiles.js.map +0 -1
- package/dist/cli/commands/pause.d.ts +0 -13
- package/dist/cli/commands/pause.d.ts.map +0 -1
- package/dist/cli/commands/pause.js +0 -15
- package/dist/cli/commands/pause.js.map +0 -1
- package/dist/cli/commands/qa.d.ts +0 -54
- package/dist/cli/commands/qa.d.ts.map +0 -1
- package/dist/cli/commands/qa.js +0 -98
- package/dist/cli/commands/qa.js.map +0 -1
- package/dist/cli/commands/resume.d.ts +0 -12
- package/dist/cli/commands/resume.d.ts.map +0 -1
- package/dist/cli/commands/resume.js +0 -14
- package/dist/cli/commands/resume.js.map +0 -1
- package/dist/cli/commands/revert-wip-limit.js +0 -60
- package/dist/cli/commands/status-line.d.ts +0 -14
- package/dist/cli/commands/status-line.d.ts.map +0 -1
- package/dist/cli/commands/status-line.js +0 -75
- package/dist/cli/commands/status-line.js.map +0 -1
- package/dist/cli/commands/status.d.ts +0 -12
- package/dist/cli/commands/status.d.ts.map +0 -1
- package/dist/cli/commands/status.js +0 -23
- package/dist/cli/commands/status.js.map +0 -1
- package/dist/cli/commands/switch-project.d.ts +0 -13
- package/dist/cli/commands/switch-project.d.ts.map +0 -1
- package/dist/cli/commands/switch-project.js +0 -91
- package/dist/cli/commands/switch-project.js.map +0 -1
- package/dist/cli/commands/sync-spec-commits.d.ts +0 -9
- package/dist/cli/commands/sync-spec-commits.d.ts.map +0 -1
- package/dist/cli/commands/sync-spec-commits.js +0 -186
- package/dist/cli/commands/sync-spec-commits.js.map +0 -1
- package/dist/cli/commands/validate-jira.d.ts +0 -35
- package/dist/cli/commands/validate-jira.d.ts.map +0 -1
- package/dist/cli/commands/validate-jira.js +0 -112
- package/dist/cli/commands/validate-jira.js.map +0 -1
- package/dist/cli/commands/validate-plugins.d.ts +0 -41
- package/dist/cli/commands/validate-plugins.d.ts.map +0 -1
- package/dist/cli/commands/validate-plugins.js +0 -171
- package/dist/cli/commands/validate-plugins.js.map +0 -1
- package/dist/cli/helpers/github/increment-profile-selector.d.ts +0 -47
- package/dist/cli/helpers/github/increment-profile-selector.d.ts.map +0 -1
- package/dist/cli/helpers/github/increment-profile-selector.js +0 -186
- package/dist/cli/helpers/github/increment-profile-selector.js.map +0 -1
- package/dist/cli/helpers/github/profile-manager.d.ts +0 -119
- package/dist/cli/helpers/github/profile-manager.d.ts.map +0 -1
- package/dist/cli/helpers/github/profile-manager.js +0 -311
- package/dist/cli/helpers/github/profile-manager.js.map +0 -1
- package/dist/cli/helpers/issue-tracker/ado.d.ts +0 -57
- package/dist/cli/helpers/issue-tracker/ado.d.ts.map +0 -1
- package/dist/cli/helpers/issue-tracker/ado.js +0 -243
- package/dist/cli/helpers/issue-tracker/ado.js.map +0 -1
- package/dist/cli/helpers/issue-tracker/github-multi-repo.d.ts +0 -86
- package/dist/cli/helpers/issue-tracker/github-multi-repo.d.ts.map +0 -1
- package/dist/cli/helpers/issue-tracker/github-multi-repo.js +0 -417
- package/dist/cli/helpers/issue-tracker/github-multi-repo.js.map +0 -1
- package/dist/cli/helpers/issue-tracker/github.d.ts +0 -80
- package/dist/cli/helpers/issue-tracker/github.d.ts.map +0 -1
- package/dist/cli/helpers/issue-tracker/github.js +0 -324
- package/dist/cli/helpers/issue-tracker/github.js.map +0 -1
- package/dist/cli/helpers/issue-tracker/index.d.ts +0 -22
- package/dist/cli/helpers/issue-tracker/index.d.ts.map +0 -1
- package/dist/cli/helpers/issue-tracker/index.js +0 -562
- package/dist/cli/helpers/issue-tracker/index.js.map +0 -1
- package/dist/cli/helpers/issue-tracker/jira.d.ts +0 -61
- package/dist/cli/helpers/issue-tracker/jira.d.ts.map +0 -1
- package/dist/cli/helpers/issue-tracker/jira.js +0 -404
- package/dist/cli/helpers/issue-tracker/jira.js.map +0 -1
- package/dist/cli/helpers/issue-tracker/types.d.ts +0 -108
- package/dist/cli/helpers/issue-tracker/types.d.ts.map +0 -1
- package/dist/cli/helpers/issue-tracker/types.js +0 -16
- package/dist/cli/helpers/issue-tracker/types.js.map +0 -1
- package/dist/cli/helpers/issue-tracker/utils.d.ts +0 -120
- package/dist/cli/helpers/issue-tracker/utils.d.ts.map +0 -1
- package/dist/cli/helpers/issue-tracker/utils.js +0 -293
- package/dist/cli/helpers/issue-tracker/utils.js.map +0 -1
- package/dist/core/agent-model-manager.d.ts +0 -52
- package/dist/core/agent-model-manager.d.ts.map +0 -1
- package/dist/core/agent-model-manager.js +0 -120
- package/dist/core/agent-model-manager.js.map +0 -1
- package/dist/core/brownfield/analyzer.d.ts +0 -86
- package/dist/core/brownfield/analyzer.d.ts.map +0 -1
- package/dist/core/brownfield/analyzer.js +0 -365
- package/dist/core/brownfield/analyzer.js.map +0 -1
- package/dist/core/brownfield/importer.d.ts +0 -76
- package/dist/core/brownfield/importer.d.ts.map +0 -1
- package/dist/core/brownfield/importer.js +0 -287
- package/dist/core/brownfield/importer.js.map +0 -1
- package/dist/core/comment-builder.d.ts +0 -57
- package/dist/core/comment-builder.d.ts.map +0 -1
- package/dist/core/comment-builder.js +0 -239
- package/dist/core/comment-builder.js.map +0 -1
- package/dist/core/config-manager.d.ts +0 -47
- package/dist/core/config-manager.d.ts.map +0 -1
- package/dist/core/config-manager.js +0 -136
- package/dist/core/config-manager.js.map +0 -1
- package/dist/core/cost-tracker.d.ts +0 -108
- package/dist/core/cost-tracker.d.ts.map +0 -1
- package/dist/core/cost-tracker.js +0 -281
- package/dist/core/cost-tracker.js.map +0 -1
- package/dist/core/credentials-manager.d.ts +0 -107
- package/dist/core/credentials-manager.d.ts.map +0 -1
- package/dist/core/credentials-manager.js +0 -457
- package/dist/core/credentials-manager.js.map +0 -1
- package/dist/core/i18n/language-detector.d.ts +0 -29
- package/dist/core/i18n/language-detector.d.ts.map +0 -1
- package/dist/core/i18n/language-detector.js +0 -143
- package/dist/core/i18n/language-detector.js.map +0 -1
- package/dist/core/i18n/language-manager.d.ts +0 -101
- package/dist/core/i18n/language-manager.d.ts.map +0 -1
- package/dist/core/i18n/language-manager.js +0 -232
- package/dist/core/i18n/language-manager.js.map +0 -1
- package/dist/core/i18n/language-registry.d.ts +0 -44
- package/dist/core/i18n/language-registry.d.ts.map +0 -1
- package/dist/core/i18n/language-registry.js +0 -234
- package/dist/core/i18n/language-registry.js.map +0 -1
- package/dist/core/i18n/locale-manager.d.ts +0 -62
- package/dist/core/i18n/locale-manager.d.ts.map +0 -1
- package/dist/core/i18n/locale-manager.js +0 -137
- package/dist/core/i18n/locale-manager.js.map +0 -1
- package/dist/core/i18n/system-prompt-injector.d.ts +0 -33
- package/dist/core/i18n/system-prompt-injector.d.ts.map +0 -1
- package/dist/core/i18n/system-prompt-injector.js +0 -131
- package/dist/core/i18n/system-prompt-injector.js.map +0 -1
- package/dist/core/i18n/types.d.ts +0 -151
- package/dist/core/i18n/types.d.ts.map +0 -1
- package/dist/core/i18n/types.js +0 -11
- package/dist/core/i18n/types.js.map +0 -1
- package/dist/core/increment/active-increment-manager.d.ts +0 -79
- package/dist/core/increment/active-increment-manager.d.ts.map +0 -1
- package/dist/core/increment/active-increment-manager.js +0 -153
- package/dist/core/increment/active-increment-manager.js.map +0 -1
- package/dist/core/increment/discipline-checker.d.ts +0 -60
- package/dist/core/increment/discipline-checker.d.ts.map +0 -1
- package/dist/core/increment/discipline-checker.js +0 -274
- package/dist/core/increment/discipline-checker.js.map +0 -1
- package/dist/core/increment/limits.d.ts +0 -68
- package/dist/core/increment/limits.d.ts.map +0 -1
- package/dist/core/increment/limits.js +0 -224
- package/dist/core/increment/limits.js.map +0 -1
- package/dist/core/increment/metadata-manager.d.ts +0 -116
- package/dist/core/increment/metadata-manager.d.ts.map +0 -1
- package/dist/core/increment/metadata-manager.js.map +0 -1
- package/dist/core/increment/metadata-validator.d.ts +0 -33
- package/dist/core/increment/metadata-validator.d.ts.map +0 -1
- package/dist/core/increment/metadata-validator.js +0 -147
- package/dist/core/increment/metadata-validator.js.map +0 -1
- package/dist/core/increment/status-commands.d.ts +0 -43
- package/dist/core/increment/status-commands.d.ts.map +0 -1
- package/dist/core/increment/status-commands.js +0 -277
- package/dist/core/increment/status-commands.js.map +0 -1
- package/dist/core/increment/types.d.ts +0 -88
- package/dist/core/increment/types.d.ts.map +0 -1
- package/dist/core/increment/types.js +0 -8
- package/dist/core/increment/types.js.map +0 -1
- package/dist/core/increment-status.d.ts +0 -72
- package/dist/core/increment-status.d.ts.map +0 -1
- package/dist/core/increment-status.js +0 -227
- package/dist/core/increment-status.js.map +0 -1
- package/dist/core/model-selector.d.ts +0 -57
- package/dist/core/model-selector.d.ts.map +0 -1
- package/dist/core/model-selector.js +0 -115
- package/dist/core/model-selector.js.map +0 -1
- package/dist/core/phase-detector.d.ts +0 -62
- package/dist/core/phase-detector.d.ts.map +0 -1
- package/dist/core/phase-detector.js +0 -229
- package/dist/core/phase-detector.js.map +0 -1
- package/dist/core/plugin-loader.d.ts +0 -131
- package/dist/core/plugin-loader.d.ts.map +0 -1
- package/dist/core/plugin-loader.js +0 -421
- package/dist/core/plugin-loader.js.map +0 -1
- package/dist/core/project-manager.d.ts +0 -127
- package/dist/core/project-manager.d.ts.map +0 -1
- package/dist/core/project-manager.js +0 -524
- package/dist/core/project-manager.js.map +0 -1
- package/dist/core/project-structure-detector.d.ts +0 -92
- package/dist/core/project-structure-detector.d.ts.map +0 -1
- package/dist/core/project-structure-detector.js +0 -289
- package/dist/core/project-structure-detector.js.map +0 -1
- package/dist/core/qa/qa-runner.d.ts +0 -16
- package/dist/core/qa/qa-runner.d.ts.map +0 -1
- package/dist/core/qa/qa-runner.js +0 -422
- package/dist/core/qa/qa-runner.js.map +0 -1
- package/dist/core/qa/quality-gate-decider.d.ts +0 -53
- package/dist/core/qa/quality-gate-decider.d.ts.map +0 -1
- package/dist/core/qa/quality-gate-decider.js +0 -268
- package/dist/core/qa/quality-gate-decider.js.map +0 -1
- package/dist/core/qa/risk-calculator.d.ts +0 -126
- package/dist/core/qa/risk-calculator.d.ts.map +0 -1
- package/dist/core/qa/risk-calculator.js +0 -247
- package/dist/core/qa/risk-calculator.js.map +0 -1
- package/dist/core/qa/types.d.ts +0 -315
- package/dist/core/qa/types.d.ts.map +0 -1
- package/dist/core/qa/types.js +0 -8
- package/dist/core/qa/types.js.map +0 -1
- package/dist/core/repo-structure/repo-structure-manager.d.ts +0 -82
- package/dist/core/repo-structure/repo-structure-manager.d.ts.map +0 -1
- package/dist/core/repo-structure/repo-structure-manager.js +0 -581
- package/dist/core/repo-structure/repo-structure-manager.js.map +0 -1
- package/dist/core/rfc-generator-v2.d.ts +0 -149
- package/dist/core/rfc-generator-v2.d.ts.map +0 -1
- package/dist/core/rfc-generator-v2.js +0 -399
- package/dist/core/rfc-generator-v2.js.map +0 -1
- package/dist/core/spec-task-mapper.d.ts +0 -71
- package/dist/core/spec-task-mapper.d.ts.map +0 -1
- package/dist/core/spec-task-mapper.js +0 -208
- package/dist/core/spec-task-mapper.js.map +0 -1
- package/dist/core/specs/spec-metadata-manager.d.ts +0 -70
- package/dist/core/specs/spec-metadata-manager.d.ts.map +0 -1
- package/dist/core/specs/spec-metadata-manager.js +0 -371
- package/dist/core/specs/spec-metadata-manager.js.map +0 -1
- package/dist/core/specs/spec-parser.d.ts +0 -66
- package/dist/core/specs/spec-parser.d.ts.map +0 -1
- package/dist/core/specs/spec-parser.js +0 -276
- package/dist/core/specs/spec-parser.js.map +0 -1
- package/dist/core/status-line/status-line-manager.d.ts +0 -62
- package/dist/core/status-line/status-line-manager.d.ts.map +0 -1
- package/dist/core/status-line/status-line-manager.js +0 -169
- package/dist/core/status-line/status-line-manager.js.map +0 -1
- package/dist/core/status-line/types.d.ts +0 -50
- package/dist/core/status-line/types.d.ts.map +0 -1
- package/dist/core/status-line/types.js +0 -17
- package/dist/core/status-line/types.js.map +0 -1
- package/dist/core/sync/bidirectional-engine.d.ts +0 -110
- package/dist/core/sync/bidirectional-engine.d.ts.map +0 -1
- package/dist/core/sync/bidirectional-engine.js +0 -356
- package/dist/core/sync/bidirectional-engine.js.map +0 -1
- package/dist/core/sync/folder-mapper.d.ts +0 -71
- package/dist/core/sync/folder-mapper.d.ts.map +0 -1
- package/dist/core/sync/folder-mapper.js +0 -203
- package/dist/core/sync/folder-mapper.js.map +0 -1
- package/dist/core/sync/profile-manager.d.ts +0 -72
- package/dist/core/sync/profile-manager.d.ts.map +0 -1
- package/dist/core/sync/profile-manager.js +0 -338
- package/dist/core/sync/profile-manager.js.map +0 -1
- package/dist/core/sync/profile-selector.d.ts +0 -52
- package/dist/core/sync/profile-selector.d.ts.map +0 -1
- package/dist/core/sync/profile-selector.js +0 -179
- package/dist/core/sync/profile-selector.js.map +0 -1
- package/dist/core/sync/profile-validator.d.ts +0 -52
- package/dist/core/sync/profile-validator.d.ts.map +0 -1
- package/dist/core/sync/profile-validator.js +0 -170
- package/dist/core/sync/profile-validator.js.map +0 -1
- package/dist/core/sync/project-context.d.ts +0 -81
- package/dist/core/sync/project-context.d.ts.map +0 -1
- package/dist/core/sync/project-context.js +0 -354
- package/dist/core/sync/project-context.js.map +0 -1
- package/dist/core/sync/rate-limiter.d.ts +0 -116
- package/dist/core/sync/rate-limiter.d.ts.map +0 -1
- package/dist/core/sync/rate-limiter.js +0 -308
- package/dist/core/sync/rate-limiter.js.map +0 -1
- package/dist/core/sync/time-range-selector.d.ts +0 -48
- package/dist/core/sync/time-range-selector.d.ts.map +0 -1
- package/dist/core/sync/time-range-selector.js +0 -224
- package/dist/core/sync/time-range-selector.js.map +0 -1
- package/dist/core/types/config.d.ts +0 -90
- package/dist/core/types/config.d.ts.map +0 -1
- package/dist/core/types/config.js +0 -44
- package/dist/core/types/config.js.map +0 -1
- package/dist/core/types/increment-metadata.d.ts +0 -120
- package/dist/core/types/increment-metadata.d.ts.map +0 -1
- package/dist/core/types/increment-metadata.js +0 -138
- package/dist/core/types/increment-metadata.js.map +0 -1
- package/dist/core/types/plugin.d.ts +0 -283
- package/dist/core/types/plugin.d.ts.map +0 -1
- package/dist/core/types/plugin.js +0 -49
- package/dist/core/types/plugin.js.map +0 -1
- package/dist/core/types/spec-metadata.d.ts +0 -229
- package/dist/core/types/spec-metadata.d.ts.map +0 -1
- package/dist/core/types/spec-metadata.js +0 -14
- package/dist/core/types/spec-metadata.js.map +0 -1
- package/dist/core/types/sync-profile.d.ts +0 -349
- package/dist/core/types/sync-profile.d.ts.map +0 -1
- package/dist/core/types/sync-profile.js +0 -79
- package/dist/core/types/sync-profile.js.map +0 -1
- package/dist/hooks/lib/git-diff-analyzer.d.ts +0 -89
- package/dist/hooks/lib/git-diff-analyzer.d.ts.map +0 -1
- package/dist/hooks/lib/git-diff-analyzer.js +0 -226
- package/dist/hooks/lib/git-diff-analyzer.js.map +0 -1
- package/dist/hooks/lib/invoke-translator-skill.d.ts +0 -60
- package/dist/hooks/lib/invoke-translator-skill.d.ts.map +0 -1
- package/dist/hooks/lib/invoke-translator-skill.js +0 -201
- package/dist/hooks/lib/invoke-translator-skill.js.map +0 -1
- package/dist/hooks/lib/prepare-reflection-context.d.ts +0 -42
- package/dist/hooks/lib/prepare-reflection-context.d.ts.map +0 -1
- package/dist/hooks/lib/prepare-reflection-context.js +0 -123
- package/dist/hooks/lib/prepare-reflection-context.js.map +0 -1
- package/dist/hooks/lib/reflection-config-loader.d.ts +0 -45
- package/dist/hooks/lib/reflection-config-loader.d.ts.map +0 -1
- package/dist/hooks/lib/reflection-config-loader.js +0 -132
- package/dist/hooks/lib/reflection-config-loader.js.map +0 -1
- package/dist/hooks/lib/reflection-parser.d.ts +0 -33
- package/dist/hooks/lib/reflection-parser.d.ts.map +0 -1
- package/dist/hooks/lib/reflection-parser.js +0 -419
- package/dist/hooks/lib/reflection-parser.js.map +0 -1
- package/dist/hooks/lib/reflection-prompt-builder.d.ts +0 -56
- package/dist/hooks/lib/reflection-prompt-builder.d.ts.map +0 -1
- package/dist/hooks/lib/reflection-prompt-builder.js +0 -239
- package/dist/hooks/lib/reflection-prompt-builder.js.map +0 -1
- package/dist/hooks/lib/reflection-storage.d.ts +0 -64
- package/dist/hooks/lib/reflection-storage.d.ts.map +0 -1
- package/dist/hooks/lib/reflection-storage.js +0 -305
- package/dist/hooks/lib/reflection-storage.js.map +0 -1
- package/dist/hooks/lib/run-self-reflection.d.ts +0 -43
- package/dist/hooks/lib/run-self-reflection.d.ts.map +0 -1
- package/dist/hooks/lib/run-self-reflection.js +0 -203
- package/dist/hooks/lib/run-self-reflection.js.map +0 -1
- package/dist/hooks/lib/sync-living-docs.d.ts +0 -27
- package/dist/hooks/lib/sync-living-docs.d.ts.map +0 -1
- package/dist/hooks/lib/sync-living-docs.js +0 -116
- package/dist/hooks/lib/sync-living-docs.js.map +0 -1
- package/dist/hooks/lib/translate-file.d.ts +0 -59
- package/dist/hooks/lib/translate-file.d.ts.map +0 -1
- package/dist/hooks/lib/translate-file.js +0 -350
- package/dist/hooks/lib/translate-file.js.map +0 -1
- package/dist/hooks/lib/translate-living-docs.d.ts +0 -13
- package/dist/hooks/lib/translate-living-docs.d.ts.map +0 -1
- package/dist/hooks/lib/translate-living-docs.js +0 -175
- package/dist/hooks/lib/translate-living-docs.js.map +0 -1
- package/dist/hooks/lib/types/reflection-types.d.ts +0 -164
- package/dist/hooks/lib/types/reflection-types.d.ts.map +0 -1
- package/dist/hooks/lib/types/reflection-types.js +0 -73
- package/dist/hooks/lib/types/reflection-types.js.map +0 -1
- package/dist/hooks/lib/update-tasks-md.d.ts +0 -29
- package/dist/hooks/lib/update-tasks-md.d.ts.map +0 -1
- package/dist/hooks/lib/update-tasks-md.js +0 -203
- package/dist/hooks/lib/update-tasks-md.js.map +0 -1
- package/dist/integrations/ado/ado-client.d.ts +0 -127
- package/dist/integrations/ado/ado-client.d.ts.map +0 -1
- package/dist/integrations/ado/ado-client.js +0 -416
- package/dist/integrations/ado/ado-client.js.map +0 -1
- package/dist/integrations/jira/jira-client.d.ts +0 -139
- package/dist/integrations/jira/jira-client.d.ts.map +0 -1
- package/dist/integrations/jira/jira-client.js +0 -386
- package/dist/integrations/jira/jira-client.js.map +0 -1
- package/dist/integrations/jira/jira-incremental-mapper.d.ts +0 -75
- package/dist/integrations/jira/jira-incremental-mapper.d.ts.map +0 -1
- package/dist/integrations/jira/jira-incremental-mapper.js +0 -474
- package/dist/integrations/jira/jira-incremental-mapper.js.map +0 -1
- package/dist/integrations/jira/jira-mapper.d.ts +0 -105
- package/dist/integrations/jira/jira-mapper.d.ts.map +0 -1
- package/dist/integrations/jira/jira-mapper.js +0 -494
- package/dist/integrations/jira/jira-mapper.js.map +0 -1
- package/dist/metrics/calculators/change-failure-rate.d.ts +0 -22
- package/dist/metrics/calculators/change-failure-rate.d.ts.map +0 -1
- package/dist/metrics/calculators/change-failure-rate.js +0 -70
- package/dist/metrics/calculators/change-failure-rate.js.map +0 -1
- package/dist/metrics/calculators/deployment-frequency.d.ts +0 -20
- package/dist/metrics/calculators/deployment-frequency.d.ts.map +0 -1
- package/dist/metrics/calculators/deployment-frequency.js +0 -61
- package/dist/metrics/calculators/deployment-frequency.js.map +0 -1
- package/dist/metrics/calculators/lead-time.d.ts +0 -22
- package/dist/metrics/calculators/lead-time.d.ts.map +0 -1
- package/dist/metrics/calculators/lead-time.js +0 -82
- package/dist/metrics/calculators/lead-time.js.map +0 -1
- package/dist/metrics/calculators/mttr.d.ts +0 -21
- package/dist/metrics/calculators/mttr.d.ts.map +0 -1
- package/dist/metrics/calculators/mttr.js +0 -60
- package/dist/metrics/calculators/mttr.js.map +0 -1
- package/dist/metrics/dora-calculator.d.ts +0 -28
- package/dist/metrics/dora-calculator.d.ts.map +0 -1
- package/dist/metrics/dora-calculator.js +0 -117
- package/dist/metrics/dora-calculator.js.map +0 -1
- package/dist/metrics/github-client.d.ts +0 -51
- package/dist/metrics/github-client.d.ts.map +0 -1
- package/dist/metrics/github-client.js +0 -133
- package/dist/metrics/github-client.js.map +0 -1
- package/dist/metrics/report-generator.d.ts +0 -17
- package/dist/metrics/report-generator.d.ts.map +0 -1
- package/dist/metrics/report-generator.js +0 -403
- package/dist/metrics/report-generator.js.map +0 -1
- package/dist/metrics/types.d.ts +0 -112
- package/dist/metrics/types.d.ts.map +0 -1
- package/dist/metrics/types.js +0 -10
- package/dist/metrics/types.js.map +0 -1
- package/dist/metrics/utils/percentile.d.ts +0 -25
- package/dist/metrics/utils/percentile.d.ts.map +0 -1
- package/dist/metrics/utils/percentile.js +0 -46
- package/dist/metrics/utils/percentile.js.map +0 -1
- package/dist/metrics/utils/tier-classifier.d.ts +0 -61
- package/dist/metrics/utils/tier-classifier.d.ts.map +0 -1
- package/dist/metrics/utils/tier-classifier.js +0 -100
- package/dist/metrics/utils/tier-classifier.js.map +0 -1
- package/dist/plugins/specweave-ado/lib/ado-board-resolver.d.ts +0 -94
- package/dist/plugins/specweave-ado/lib/ado-board-resolver.d.ts.map +0 -1
- package/dist/plugins/specweave-ado/lib/ado-board-resolver.js +0 -219
- package/dist/plugins/specweave-ado/lib/ado-board-resolver.js.map +0 -1
- package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.d.ts +0 -40
- package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.d.ts.map +0 -1
- package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.js +0 -370
- package/dist/plugins/specweave-ado/lib/ado-hierarchical-sync.js.map +0 -1
- package/dist/plugins/specweave-ado/lib/ado-multi-project-sync.d.ts +0 -149
- package/dist/plugins/specweave-ado/lib/ado-multi-project-sync.d.ts.map +0 -1
- package/dist/plugins/specweave-ado/lib/ado-multi-project-sync.js +0 -517
- package/dist/plugins/specweave-ado/lib/ado-multi-project-sync.js.map +0 -1
- package/dist/plugins/specweave-ado/lib/ado-project-detector.d.ts +0 -72
- package/dist/plugins/specweave-ado/lib/ado-project-detector.d.ts.map +0 -1
- package/dist/plugins/specweave-ado/lib/ado-project-detector.js +0 -416
- package/dist/plugins/specweave-ado/lib/ado-project-detector.js.map +0 -1
- package/dist/plugins/specweave-ado/lib/conflict-resolver.d.ts +0 -99
- package/dist/plugins/specweave-ado/lib/conflict-resolver.d.ts.map +0 -1
- package/dist/plugins/specweave-ado/lib/conflict-resolver.js +0 -331
- package/dist/plugins/specweave-ado/lib/conflict-resolver.js.map +0 -1
- package/dist/plugins/specweave-ado/lib/project-selector.d.ts +0 -42
- package/dist/plugins/specweave-ado/lib/project-selector.d.ts.map +0 -1
- package/dist/plugins/specweave-ado/lib/project-selector.js +0 -211
- package/dist/plugins/specweave-ado/lib/project-selector.js.map +0 -1
- package/dist/plugins/specweave-github/lib/github-board-resolver.d.ts +0 -54
- package/dist/plugins/specweave-github/lib/github-board-resolver.d.ts.map +0 -1
- package/dist/plugins/specweave-github/lib/github-board-resolver.js +0 -122
- package/dist/plugins/specweave-github/lib/github-board-resolver.js.map +0 -1
- package/dist/plugins/specweave-github/lib/github-hierarchical-sync.d.ts +0 -29
- package/dist/plugins/specweave-github/lib/github-hierarchical-sync.d.ts.map +0 -1
- package/dist/plugins/specweave-github/lib/github-hierarchical-sync.js +0 -268
- package/dist/plugins/specweave-github/lib/github-hierarchical-sync.js.map +0 -1
- package/dist/plugins/specweave-github/lib/github-multi-project-sync.d.ts +0 -126
- package/dist/plugins/specweave-github/lib/github-multi-project-sync.d.ts.map +0 -1
- package/dist/plugins/specweave-github/lib/github-multi-project-sync.js +0 -420
- package/dist/plugins/specweave-github/lib/github-multi-project-sync.js.map +0 -1
- package/dist/plugins/specweave-github/lib/repo-selector.d.ts +0 -49
- package/dist/plugins/specweave-github/lib/repo-selector.d.ts.map +0 -1
- package/dist/plugins/specweave-github/lib/repo-selector.js +0 -216
- package/dist/plugins/specweave-github/lib/repo-selector.js.map +0 -1
- package/dist/plugins/specweave-jira/lib/jira-board-resolver.d.ts +0 -50
- package/dist/plugins/specweave-jira/lib/jira-board-resolver.d.ts.map +0 -1
- package/dist/plugins/specweave-jira/lib/jira-board-resolver.js +0 -84
- package/dist/plugins/specweave-jira/lib/jira-board-resolver.js.map +0 -1
- package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.d.ts +0 -33
- package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.d.ts.map +0 -1
- package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.js +0 -206
- package/dist/plugins/specweave-jira/lib/jira-hierarchical-sync.js.map +0 -1
- package/dist/plugins/specweave-jira/lib/jira-multi-project-sync.d.ts +0 -95
- package/dist/plugins/specweave-jira/lib/jira-multi-project-sync.d.ts.map +0 -1
- package/dist/plugins/specweave-jira/lib/jira-multi-project-sync.js +0 -301
- package/dist/plugins/specweave-jira/lib/jira-multi-project-sync.js.map +0 -1
- package/dist/plugins/specweave-jira/lib/project-selector.d.ts +0 -42
- package/dist/plugins/specweave-jira/lib/project-selector.d.ts.map +0 -1
- package/dist/plugins/specweave-jira/lib/project-selector.js +0 -216
- package/dist/plugins/specweave-jira/lib/project-selector.js.map +0 -1
- package/dist/project-mapper.js +0 -272
- package/dist/scripts/split-spec-by-project.js +0 -105
- package/dist/spec-splitter.js +0 -283
- package/dist/src/core/agent-model-manager.d.ts +0 -52
- package/dist/src/core/agent-model-manager.d.ts.map +0 -1
- package/dist/src/core/agent-model-manager.js +0 -120
- package/dist/src/core/agent-model-manager.js.map +0 -1
- package/dist/src/core/model-selector.d.ts +0 -57
- package/dist/src/core/model-selector.d.ts.map +0 -1
- package/dist/src/core/model-selector.js +0 -115
- package/dist/src/core/model-selector.js.map +0 -1
- package/dist/src/core/phase-detector.d.ts +0 -62
- package/dist/src/core/phase-detector.d.ts.map +0 -1
- package/dist/src/core/phase-detector.js +0 -229
- package/dist/src/core/phase-detector.js.map +0 -1
- package/dist/src/hooks/lib/git-diff-analyzer.d.ts +0 -89
- package/dist/src/hooks/lib/git-diff-analyzer.d.ts.map +0 -1
- package/dist/src/hooks/lib/git-diff-analyzer.js +0 -226
- package/dist/src/hooks/lib/git-diff-analyzer.js.map +0 -1
- package/dist/src/hooks/lib/invoke-translator-skill.d.ts +0 -60
- package/dist/src/hooks/lib/invoke-translator-skill.d.ts.map +0 -1
- package/dist/src/hooks/lib/invoke-translator-skill.js +0 -201
- package/dist/src/hooks/lib/invoke-translator-skill.js.map +0 -1
- package/dist/src/hooks/lib/prepare-reflection-context.d.ts +0 -42
- package/dist/src/hooks/lib/prepare-reflection-context.d.ts.map +0 -1
- package/dist/src/hooks/lib/prepare-reflection-context.js +0 -123
- package/dist/src/hooks/lib/prepare-reflection-context.js.map +0 -1
- package/dist/src/hooks/lib/reflection-config-loader.d.ts +0 -45
- package/dist/src/hooks/lib/reflection-config-loader.d.ts.map +0 -1
- package/dist/src/hooks/lib/reflection-config-loader.js +0 -132
- package/dist/src/hooks/lib/reflection-config-loader.js.map +0 -1
- package/dist/src/hooks/lib/reflection-parser.d.ts +0 -33
- package/dist/src/hooks/lib/reflection-parser.d.ts.map +0 -1
- package/dist/src/hooks/lib/reflection-parser.js +0 -419
- package/dist/src/hooks/lib/reflection-parser.js.map +0 -1
- package/dist/src/hooks/lib/reflection-prompt-builder.d.ts +0 -56
- package/dist/src/hooks/lib/reflection-prompt-builder.d.ts.map +0 -1
- package/dist/src/hooks/lib/reflection-prompt-builder.js +0 -239
- package/dist/src/hooks/lib/reflection-prompt-builder.js.map +0 -1
- package/dist/src/hooks/lib/reflection-storage.d.ts +0 -64
- package/dist/src/hooks/lib/reflection-storage.d.ts.map +0 -1
- package/dist/src/hooks/lib/reflection-storage.js +0 -305
- package/dist/src/hooks/lib/reflection-storage.js.map +0 -1
- package/dist/src/hooks/lib/run-self-reflection.d.ts +0 -43
- package/dist/src/hooks/lib/run-self-reflection.d.ts.map +0 -1
- package/dist/src/hooks/lib/run-self-reflection.js +0 -203
- package/dist/src/hooks/lib/run-self-reflection.js.map +0 -1
- package/dist/src/hooks/lib/sync-living-docs.d.ts +0 -27
- package/dist/src/hooks/lib/sync-living-docs.d.ts.map +0 -1
- package/dist/src/hooks/lib/sync-living-docs.js +0 -116
- package/dist/src/hooks/lib/sync-living-docs.js.map +0 -1
- package/dist/src/hooks/lib/translate-file.d.ts +0 -59
- package/dist/src/hooks/lib/translate-file.d.ts.map +0 -1
- package/dist/src/hooks/lib/translate-file.js +0 -350
- package/dist/src/hooks/lib/translate-file.js.map +0 -1
- package/dist/src/hooks/lib/translate-living-docs.d.ts +0 -13
- package/dist/src/hooks/lib/translate-living-docs.d.ts.map +0 -1
- package/dist/src/hooks/lib/translate-living-docs.js +0 -175
- package/dist/src/hooks/lib/translate-living-docs.js.map +0 -1
- package/dist/src/hooks/lib/types/reflection-types.d.ts +0 -164
- package/dist/src/hooks/lib/types/reflection-types.d.ts.map +0 -1
- package/dist/src/hooks/lib/types/reflection-types.js +0 -73
- package/dist/src/hooks/lib/types/reflection-types.js.map +0 -1
- package/dist/src/hooks/lib/update-tasks-md.d.ts +0 -29
- package/dist/src/hooks/lib/update-tasks-md.d.ts.map +0 -1
- package/dist/src/hooks/lib/update-tasks-md.js +0 -203
- package/dist/src/hooks/lib/update-tasks-md.js.map +0 -1
- package/dist/testing/test-generator.d.ts +0 -117
- package/dist/testing/test-generator.d.ts.map +0 -1
- package/dist/testing/test-generator.js +0 -370
- package/dist/testing/test-generator.js.map +0 -1
- package/dist/types/cost-tracking.d.ts +0 -43
- package/dist/types/cost-tracking.d.ts.map +0 -1
- package/dist/types/cost-tracking.js +0 -8
- package/dist/types/cost-tracking.js.map +0 -1
- package/dist/types/model-selection.d.ts +0 -53
- package/dist/types/model-selection.d.ts.map +0 -1
- package/dist/types/model-selection.js +0 -12
- package/dist/types/model-selection.js.map +0 -1
- package/dist/utils/agents-md-compiler.d.ts +0 -68
- package/dist/utils/agents-md-compiler.d.ts.map +0 -1
- package/dist/utils/agents-md-compiler.js +0 -420
- package/dist/utils/agents-md-compiler.js.map +0 -1
- package/dist/utils/auth-helpers.d.ts +0 -58
- package/dist/utils/auth-helpers.d.ts.map +0 -1
- package/dist/utils/auth-helpers.js +0 -108
- package/dist/utils/auth-helpers.js.map +0 -1
- package/dist/utils/auto-install.d.ts +0 -47
- package/dist/utils/auto-install.d.ts.map +0 -1
- package/dist/utils/auto-install.js +0 -211
- package/dist/utils/auto-install.js.map +0 -1
- package/dist/utils/claude-cli-detector.d.ts +0 -75
- package/dist/utils/claude-cli-detector.d.ts.map +0 -1
- package/dist/utils/claude-cli-detector.js +0 -285
- package/dist/utils/claude-cli-detector.js.map +0 -1
- package/dist/utils/cost-reporter.d.ts +0 -58
- package/dist/utils/cost-reporter.d.ts.map +0 -1
- package/dist/utils/cost-reporter.js +0 -224
- package/dist/utils/cost-reporter.js.map +0 -1
- package/dist/utils/docs-preview/config-generator.d.ts +0 -46
- package/dist/utils/docs-preview/config-generator.d.ts.map +0 -1
- package/dist/utils/docs-preview/config-generator.js +0 -377
- package/dist/utils/docs-preview/config-generator.js.map +0 -1
- package/dist/utils/docs-preview/docusaurus-setup.d.ts +0 -38
- package/dist/utils/docs-preview/docusaurus-setup.d.ts.map +0 -1
- package/dist/utils/docs-preview/docusaurus-setup.js +0 -177
- package/dist/utils/docs-preview/docusaurus-setup.js.map +0 -1
- package/dist/utils/docs-preview/index.d.ts +0 -7
- package/dist/utils/docs-preview/index.d.ts.map +0 -1
- package/dist/utils/docs-preview/index.js +0 -7
- package/dist/utils/docs-preview/index.js.map +0 -1
- package/dist/utils/docs-preview/package-installer.d.ts +0 -42
- package/dist/utils/docs-preview/package-installer.d.ts.map +0 -1
- package/dist/utils/docs-preview/package-installer.js +0 -182
- package/dist/utils/docs-preview/package-installer.js.map +0 -1
- package/dist/utils/docs-preview/server-manager.d.ts +0 -30
- package/dist/utils/docs-preview/server-manager.d.ts.map +0 -1
- package/dist/utils/docs-preview/server-manager.js +0 -212
- package/dist/utils/docs-preview/server-manager.js.map +0 -1
- package/dist/utils/docs-preview/sidebar-builder.d.ts +0 -32
- package/dist/utils/docs-preview/sidebar-builder.d.ts.map +0 -1
- package/dist/utils/docs-preview/sidebar-builder.js +0 -202
- package/dist/utils/docs-preview/sidebar-builder.js.map +0 -1
- package/dist/utils/docs-preview/types.d.ts +0 -57
- package/dist/utils/docs-preview/types.d.ts.map +0 -1
- package/dist/utils/docs-preview/types.js +0 -2
- package/dist/utils/docs-preview/types.js.map +0 -1
- package/dist/utils/env-file.d.ts +0 -88
- package/dist/utils/env-file.d.ts.map +0 -1
- package/dist/utils/env-file.js +0 -180
- package/dist/utils/env-file.js.map +0 -1
- package/dist/utils/env-multi-project-parser.d.ts +0 -220
- package/dist/utils/env-multi-project-parser.d.ts.map +0 -1
- package/dist/utils/env-multi-project-parser.js +0 -401
- package/dist/utils/env-multi-project-parser.js.map +0 -1
- package/dist/utils/esm-helpers.d.ts +0 -50
- package/dist/utils/esm-helpers.d.ts.map +0 -1
- package/dist/utils/esm-helpers.js +0 -57
- package/dist/utils/esm-helpers.js.map +0 -1
- package/dist/utils/execFileNoThrow.d.ts +0 -99
- package/dist/utils/execFileNoThrow.d.ts.map +0 -1
- package/dist/utils/execFileNoThrow.js +0 -137
- package/dist/utils/execFileNoThrow.js.map +0 -1
- package/dist/utils/external-resource-validator.d.ts +0 -102
- package/dist/utils/external-resource-validator.d.ts.map +0 -1
- package/dist/utils/external-resource-validator.js +0 -504
- package/dist/utils/external-resource-validator.js.map +0 -1
- package/dist/utils/generate-skills-index.d.ts +0 -24
- package/dist/utils/generate-skills-index.d.ts.map +0 -1
- package/dist/utils/generate-skills-index.js +0 -410
- package/dist/utils/generate-skills-index.js.map +0 -1
- package/dist/utils/git-detector.d.ts +0 -84
- package/dist/utils/git-detector.d.ts.map +0 -1
- package/dist/utils/git-detector.js +0 -233
- package/dist/utils/git-detector.js.map +0 -1
- package/dist/utils/git-utils.d.ts +0 -74
- package/dist/utils/git-utils.d.ts.map +0 -1
- package/dist/utils/git-utils.js +0 -272
- package/dist/utils/git-utils.js.map +0 -1
- package/dist/utils/model-selection.d.ts +0 -75
- package/dist/utils/model-selection.d.ts.map +0 -1
- package/dist/utils/model-selection.js +0 -204
- package/dist/utils/model-selection.js.map +0 -1
- package/dist/utils/plugin-validator.d.ts +0 -161
- package/dist/utils/plugin-validator.d.ts.map +0 -1
- package/dist/utils/plugin-validator.js +0 -558
- package/dist/utils/plugin-validator.js.map +0 -1
- package/dist/utils/pricing-constants.d.ts +0 -70
- package/dist/utils/pricing-constants.d.ts.map +0 -1
- package/dist/utils/pricing-constants.js +0 -71
- package/dist/utils/pricing-constants.js.map +0 -1
- package/dist/utils/project-detection.d.ts +0 -141
- package/dist/utils/project-detection.d.ts.map +0 -1
- package/dist/utils/project-detection.js +0 -321
- package/dist/utils/project-detection.js.map +0 -1
- package/dist/utils/project-mapper.d.ts +0 -92
- package/dist/utils/project-mapper.d.ts.map +0 -1
- package/dist/utils/project-mapper.js +0 -276
- package/dist/utils/project-mapper.js.map +0 -1
- package/dist/utils/spec-splitter.d.ts +0 -75
- package/dist/utils/spec-splitter.d.ts.map +0 -1
- package/dist/utils/spec-splitter.js +0 -332
- package/dist/utils/spec-splitter.js.map +0 -1
- package/dist/utils/string-utils.d.ts +0 -40
- package/dist/utils/string-utils.d.ts.map +0 -1
- package/dist/utils/string-utils.js +0 -58
- package/dist/utils/string-utils.js.map +0 -1
- package/dist/utils/translation.d.ts +0 -187
- package/dist/utils/translation.d.ts.map +0 -1
- package/dist/utils/translation.js +0 -414
- package/dist/utils/translation.js.map +0 -1
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
# GitHub Sync Architecture Fix - Complete Summary
|
|
2
|
+
|
|
3
|
+
**Date**: 2025-11-11
|
|
4
|
+
**Impact**: Breaking Change (v0.17.0+)
|
|
5
|
+
**Status**: Complete
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## The Problem
|
|
10
|
+
|
|
11
|
+
**SpecWeave was syncing the WRONG things to GitHub!**
|
|
12
|
+
|
|
13
|
+
### ❌ OLD Architecture (WRONG!)
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
.specweave/increments/0001-feature ↔ GitHub Issue
|
|
17
|
+
├─ Tasks (T-001, T-002, T-003) ↔ GitHub Checkboxes
|
|
18
|
+
└─ metadata.json.github.issue ↔ Issue #42
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
**Why this was wrong**:
|
|
22
|
+
- ✅ Increments are **TEMPORARY** (implementation snapshots, can be deleted after done)
|
|
23
|
+
- ❌ GitHub Issues are **PERMANENT** (long-term tracking)
|
|
24
|
+
- ❌ Syncing temporary → permanent breaks traceability
|
|
25
|
+
|
|
26
|
+
**The screenshot that exposed this**:
|
|
27
|
+
```
|
|
28
|
+
GitHub Issue: "Increment 0001: Daily Habit Tracker MVP - Frontend"
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
**User feedback**:
|
|
32
|
+
> "syncing with increments is old approach, outdated it MUST be removed!! don't worry about backward compatibility, just remove it!!!"
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## The Solution
|
|
37
|
+
|
|
38
|
+
### ✅ NEW Architecture (CORRECT!)
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
.specweave/docs/internal/specs/spec-001.md ↔ GitHub Project
|
|
42
|
+
├─ User Story US-001 ↔ GitHub Issue #1
|
|
43
|
+
├─ User Story US-002 ↔ GitHub Issue #2
|
|
44
|
+
└─ User Story US-003 ↔ GitHub Issue #3
|
|
45
|
+
|
|
46
|
+
Increments (NOT synced to GitHub):
|
|
47
|
+
├─ 0001-core-framework (implements US-001, US-002)
|
|
48
|
+
├─ 0002-core-enhancements (implements US-003, US-004)
|
|
49
|
+
└─ 0004-plugin-architecture (implements US-005, US-006)
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
**Why this is correct**:
|
|
53
|
+
- ✅ **Specs = Permanent** (living docs, feature-level knowledge base)
|
|
54
|
+
- ✅ **User Stories = Permanent** (long-term requirements)
|
|
55
|
+
- ✅ **GitHub Projects = Permanent** (feature tracking)
|
|
56
|
+
- ✅ **Increments = Temporary** (NOT synced to GitHub!)
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## What Was Changed
|
|
61
|
+
|
|
62
|
+
### 1. Hook Rewritten (`post-task-completion.sh`)
|
|
63
|
+
|
|
64
|
+
**Before** (241 lines, synced increments):
|
|
65
|
+
```bash
|
|
66
|
+
# Detect current increment
|
|
67
|
+
CURRENT_INCREMENT=$(ls -t .specweave/increments/...)
|
|
68
|
+
|
|
69
|
+
# Read metadata.json from increment
|
|
70
|
+
METADATA_FILE=".specweave/increments/$CURRENT_INCREMENT/metadata.json"
|
|
71
|
+
GITHUB_ISSUE=$(jq -r '.github.issue' "$METADATA_FILE")
|
|
72
|
+
|
|
73
|
+
# Update GitHub issue checkboxes
|
|
74
|
+
gh issue edit "$GITHUB_ISSUE" ...
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
**After** (162 lines, syncs specs):
|
|
78
|
+
```bash
|
|
79
|
+
# Detect current increment (temporary context)
|
|
80
|
+
CURRENT_INCREMENT=$(ls -t .specweave/increments/...)
|
|
81
|
+
|
|
82
|
+
# Find which spec this increment implements
|
|
83
|
+
SPEC_REF=$(grep -E "^(Implements|See).*SPEC-[0-9]+" "$SPEC_FILE")
|
|
84
|
+
SPEC_ID=$(echo "$SPEC_REF" | grep -oE "SPEC-[0-9]+" | tr 'A-Z' 'a-z')
|
|
85
|
+
|
|
86
|
+
# Sync spec to GitHub Project (via github-spec-sync.ts)
|
|
87
|
+
node "$SYNC_CLI" --spec-id "$SPEC_ID"
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
**Key Changes**:
|
|
91
|
+
- ❌ Removed: ALL increment → GitHub issue sync code (79 lines deleted)
|
|
92
|
+
- ✅ Added: Spec detection logic (find spec from increment reference)
|
|
93
|
+
- ✅ Added: Call to `github-spec-sync.ts` CLI (already correct!)
|
|
94
|
+
- ✅ Result: Hook now syncs specs (permanent), not increments (temporary)
|
|
95
|
+
|
|
96
|
+
### 2. Skill Documentation Rewritten (`github-sync/SKILL.md`)
|
|
97
|
+
|
|
98
|
+
**Before** (479 lines, described increment sync):
|
|
99
|
+
```markdown
|
|
100
|
+
## How GitHub Sync Works
|
|
101
|
+
|
|
102
|
+
### 1. Increment → GitHub Issue (Export)
|
|
103
|
+
|
|
104
|
+
**Trigger**: After `/specweave:inc` creates a new increment
|
|
105
|
+
|
|
106
|
+
**Actions**:
|
|
107
|
+
1. Create GitHub issue with:
|
|
108
|
+
- Title: `[Increment ${ID}] ${Title}`
|
|
109
|
+
- Body: Executive summary from spec.md
|
|
110
|
+
...
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
**After** (472 lines, describes spec sync):
|
|
114
|
+
```markdown
|
|
115
|
+
## CORRECT Architecture (v0.17.0+)
|
|
116
|
+
|
|
117
|
+
**CRITICAL**: SpecWeave syncs **SPECS** to GitHub, NOT increments!
|
|
118
|
+
|
|
119
|
+
✅ CORRECT:
|
|
120
|
+
.specweave/docs/internal/specs/spec-001.md ↔ GitHub Project
|
|
121
|
+
├─ User Story US-001 ↔ GitHub Issue #1
|
|
122
|
+
|
|
123
|
+
❌ WRONG (OLD, REMOVED!):
|
|
124
|
+
.specweave/increments/0001-feature ↔ GitHub Issue (DEPRECATED!)
|
|
125
|
+
|
|
126
|
+
**Why Specs, Not Increments?**
|
|
127
|
+
- ✅ **Specs = Permanent** (living docs, feature-level knowledge base)
|
|
128
|
+
- ❌ **Increments = Temporary** (implementation snapshots, can be deleted after done)
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
**Key Changes**:
|
|
132
|
+
- ❌ Removed: ALL references to increment → GitHub issue sync
|
|
133
|
+
- ✅ Added: Clear explanation of WHY specs, not increments
|
|
134
|
+
- ✅ Added: Visual architecture diagram (correct vs wrong)
|
|
135
|
+
- ✅ Updated: All examples to use specs instead of increments
|
|
136
|
+
- ✅ Updated: Commands to `/specweave-github:sync-spec` (not `/sync`)
|
|
137
|
+
|
|
138
|
+
### 3. Commands (DEPRECATED, need rewrite)
|
|
139
|
+
|
|
140
|
+
**These commands are WRONG and need to be deprecated**:
|
|
141
|
+
|
|
142
|
+
| Command | What It Does (WRONG!) | What It Should Do |
|
|
143
|
+
|---------|----------------------|-------------------|
|
|
144
|
+
| `/specweave-github:sync` | Syncs increment to GitHub issue | **DEPRECATED!** Should be removed |
|
|
145
|
+
| `/specweave-github:sync-tasks` | Syncs tasks to GitHub issues | **DEPRECATED!** Should sync user stories instead |
|
|
146
|
+
|
|
147
|
+
**Correct commands** (need to be created):
|
|
148
|
+
|
|
149
|
+
| Command | What It Does (CORRECT!) | Status |
|
|
150
|
+
|---------|------------------------|--------|
|
|
151
|
+
| `/specweave-github:sync-spec <spec-id>` | Syncs spec to GitHub Project | ✅ Already exists (github-spec-sync.ts) |
|
|
152
|
+
| `/specweave-github:sync-spec --all` | Syncs all specs to GitHub | ✅ Already exists |
|
|
153
|
+
| `/specweave-github:import-project <id>` | Imports GitHub Project as spec | 🔜 TODO |
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## What Needs to Be Done Next
|
|
158
|
+
|
|
159
|
+
### 1. Deprecate Old Commands
|
|
160
|
+
|
|
161
|
+
**File**: `plugins/specweave-github/commands/specweave-github-sync.md`
|
|
162
|
+
**Action**: Add deprecation notice, point to `/specweave-github:sync-spec`
|
|
163
|
+
|
|
164
|
+
**File**: `plugins/specweave-github/commands/specweave-github-sync-tasks.md`
|
|
165
|
+
**Action**: Add deprecation notice, point to spec-based sync
|
|
166
|
+
|
|
167
|
+
### 2. Create New Command
|
|
168
|
+
|
|
169
|
+
**File**: `plugins/specweave-github/commands/specweave-github-sync-spec.md`
|
|
170
|
+
**Action**: Document the CORRECT command (already implemented in `github-spec-sync.ts`)
|
|
171
|
+
|
|
172
|
+
### 3. Update References
|
|
173
|
+
|
|
174
|
+
**Files to check**:
|
|
175
|
+
- `plugins/specweave-github/skills/github-issue-tracker/SKILL.md` (deprecate or update)
|
|
176
|
+
- `plugins/specweave-github/hooks/README.md` (update to reflect spec sync)
|
|
177
|
+
- `plugins/specweave-github/reference/github-specweave-mapping.md` (update mapping)
|
|
178
|
+
- `.claude-plugin/plugin.json` (update description)
|
|
179
|
+
|
|
180
|
+
### 4. Remove Old Code
|
|
181
|
+
|
|
182
|
+
**Files to delete or refactor**:
|
|
183
|
+
- `lib/github-sync-bidirectional.ts` (increment-based sync, deprecated)
|
|
184
|
+
- `lib/task-sync.ts` (task-level sync, deprecated)
|
|
185
|
+
- `lib/task-parser.ts` (parses tasks from increments, deprecated)
|
|
186
|
+
|
|
187
|
+
**Keep**:
|
|
188
|
+
- `lib/github-spec-sync.ts` (✅ CORRECT! Already implements spec → GitHub Project sync)
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## Testing Checklist
|
|
193
|
+
|
|
194
|
+
### ✅ Completed
|
|
195
|
+
- [x] Hook no longer references `.specweave/increments/{id}/metadata.json`
|
|
196
|
+
- [x] Hook detects spec from increment reference
|
|
197
|
+
- [x] Hook calls `github-spec-sync.ts` CLI
|
|
198
|
+
- [x] Skill documentation updated to reflect spec sync
|
|
199
|
+
|
|
200
|
+
### 🔜 TODO
|
|
201
|
+
- [ ] Deprecate `/specweave-github:sync` command
|
|
202
|
+
- [ ] Deprecate `/specweave-github:sync-tasks` command
|
|
203
|
+
- [ ] Create `/specweave-github:sync-spec` command documentation
|
|
204
|
+
- [ ] Update all references in docs and code
|
|
205
|
+
- [ ] Remove old increment-based sync libraries
|
|
206
|
+
- [ ] Test end-to-end spec → GitHub Project sync
|
|
207
|
+
- [ ] Verify user stories sync to GitHub Issues
|
|
208
|
+
- [ ] Verify acceptance criteria show as checkboxes
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
## Migration Guide (For Users)
|
|
213
|
+
|
|
214
|
+
### Before (WRONG!)
|
|
215
|
+
|
|
216
|
+
```bash
|
|
217
|
+
# Create increment
|
|
218
|
+
/specweave:increment "Add authentication"
|
|
219
|
+
|
|
220
|
+
# Sync increment to GitHub issue (❌ WRONG!)
|
|
221
|
+
/specweave-github:sync 0005
|
|
222
|
+
/specweave-github:sync-tasks 0005
|
|
223
|
+
|
|
224
|
+
# Result: GitHub Issue for increment (temporary!)
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
### After (CORRECT!)
|
|
228
|
+
|
|
229
|
+
```bash
|
|
230
|
+
# Create spec (PM agent)
|
|
231
|
+
User: "Create spec for user authentication"
|
|
232
|
+
PM: Creates .specweave/docs/internal/specs/spec-005-user-auth.md
|
|
233
|
+
|
|
234
|
+
# Sync spec to GitHub Project (✅ CORRECT!)
|
|
235
|
+
/specweave-github:sync-spec spec-005
|
|
236
|
+
|
|
237
|
+
# Create increments (implements parts of spec)
|
|
238
|
+
/specweave:increment "Add login flow"
|
|
239
|
+
→ Increment 0010 (implements US-001, US-002 from spec-005)
|
|
240
|
+
|
|
241
|
+
/specweave:increment "Add 2FA"
|
|
242
|
+
→ Increment 0011 (implements US-003 from spec-005)
|
|
243
|
+
|
|
244
|
+
# Result: GitHub Project for spec (permanent!)
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
## Benefits of New Architecture
|
|
250
|
+
|
|
251
|
+
### Before (Increment-Based)
|
|
252
|
+
- ❌ Temporary GitHub Issues (deleted after increment done)
|
|
253
|
+
- ❌ No long-term traceability (issues disappear)
|
|
254
|
+
- ❌ Team loses historical context
|
|
255
|
+
- ❌ Multiple increments = multiple issues for same feature
|
|
256
|
+
|
|
257
|
+
### After (Spec-Based)
|
|
258
|
+
- ✅ Permanent GitHub Projects (never deleted)
|
|
259
|
+
- ✅ Complete traceability (feature history preserved)
|
|
260
|
+
- ✅ Team has full context (all user stories in one place)
|
|
261
|
+
- ✅ One Project per feature (regardless of # increments)
|
|
262
|
+
|
|
263
|
+
---
|
|
264
|
+
|
|
265
|
+
## Related Documentation
|
|
266
|
+
|
|
267
|
+
- [github-spec-sync.ts](lib/github-spec-sync.ts) - Implementation of spec → GitHub Project sync
|
|
268
|
+
- [github-sync/SKILL.md](skills/github-sync/SKILL.md) - Updated skill documentation
|
|
269
|
+
- [post-task-completion.sh](hooks/post-task-completion.sh) - Updated hook
|
|
270
|
+
- [Specs Architecture (CLAUDE.md)](../../CLAUDE.md#specs-architecture-two-locations-explained) - Why specs vs increments
|
|
271
|
+
|
|
272
|
+
---
|
|
273
|
+
|
|
274
|
+
## Summary
|
|
275
|
+
|
|
276
|
+
**What was fixed**:
|
|
277
|
+
- ✅ Hook now syncs specs (permanent) instead of increments (temporary)
|
|
278
|
+
- ✅ Documentation updated to reflect correct architecture
|
|
279
|
+
- ✅ Clear explanation of WHY specs, not increments
|
|
280
|
+
- ✅ Deprecated old commands (need formal deprecation notices)
|
|
281
|
+
|
|
282
|
+
**What was removed**:
|
|
283
|
+
- ❌ ALL increment → GitHub issue sync code (79 lines deleted from hook)
|
|
284
|
+
- ❌ ALL references to increment-based sync in documentation
|
|
285
|
+
|
|
286
|
+
**What needs to be done**:
|
|
287
|
+
- 🔜 Formally deprecate old commands
|
|
288
|
+
- 🔜 Create command documentation for `/specweave-github:sync-spec`
|
|
289
|
+
- 🔜 Remove old increment-based sync libraries
|
|
290
|
+
- 🔜 Test end-to-end workflow
|
|
291
|
+
|
|
292
|
+
**Impact**:
|
|
293
|
+
- Breaking change (v0.17.0+)
|
|
294
|
+
- Users must migrate from increment-based to spec-based sync
|
|
295
|
+
- Old increments with GitHub issues will continue to work (read-only)
|
|
296
|
+
- New work will only sync specs to GitHub Projects
|
|
297
|
+
|
|
298
|
+
---
|
|
299
|
+
|
|
300
|
+
**Version**: v0.17.0+
|
|
301
|
+
**Last Updated**: 2025-11-11
|
|
302
|
+
**Status**: Architecture Fixed, Documentation Updated, Testing Pending
|
|
@@ -1,17 +1,22 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
2
|
|
|
3
3
|
# SpecWeave GitHub Sync Hook
|
|
4
|
-
# Runs after task completion to sync progress to GitHub
|
|
4
|
+
# Runs after task completion to sync progress to GitHub Projects
|
|
5
|
+
#
|
|
6
|
+
# CORRECT ARCHITECTURE (v0.17.0+):
|
|
7
|
+
# - Syncs .specweave/docs/internal/specs/spec-*.md ↔ GitHub Projects
|
|
8
|
+
# - NOT increments ↔ GitHub Issues (that was wrong!)
|
|
5
9
|
#
|
|
6
10
|
# This hook is part of the specweave-github plugin and handles:
|
|
7
|
-
# -
|
|
8
|
-
# -
|
|
9
|
-
# - Syncing
|
|
11
|
+
# - Finding which spec the current work belongs to
|
|
12
|
+
# - Updating spec user stories based on task completion
|
|
13
|
+
# - Syncing spec state to GitHub Projects
|
|
14
|
+
# - Updating GitHub Project cards/issues
|
|
10
15
|
#
|
|
11
16
|
# Dependencies:
|
|
12
|
-
# -
|
|
13
|
-
# -
|
|
14
|
-
# - metadata
|
|
17
|
+
# - Node.js and TypeScript CLI (dist/cli/commands/*)
|
|
18
|
+
# - GitHub CLI (gh) must be installed and authenticated
|
|
19
|
+
# - Spec metadata must have .externalLinks.github field
|
|
15
20
|
|
|
16
21
|
set -e
|
|
17
22
|
|
|
@@ -55,35 +60,9 @@ mkdir -p "$LOGS_DIR" 2>/dev/null || true
|
|
|
55
60
|
|
|
56
61
|
echo "[$(date)] [GitHub] 🔗 GitHub sync hook fired" >> "$DEBUG_LOG" 2>/dev/null || true
|
|
57
62
|
|
|
58
|
-
#
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
if [ -z "$CURRENT_INCREMENT" ]; then
|
|
62
|
-
echo "[$(date)] [GitHub] ℹ️ No active increment, skipping GitHub sync" >> "$DEBUG_LOG" 2>/dev/null || true
|
|
63
|
-
cat <<EOF
|
|
64
|
-
{
|
|
65
|
-
"continue": true
|
|
66
|
-
}
|
|
67
|
-
EOF
|
|
68
|
-
exit 0
|
|
69
|
-
fi
|
|
70
|
-
|
|
71
|
-
# Check for metadata.json
|
|
72
|
-
METADATA_FILE=".specweave/increments/$CURRENT_INCREMENT/metadata.json"
|
|
73
|
-
|
|
74
|
-
if [ ! -f "$METADATA_FILE" ]; then
|
|
75
|
-
echo "[$(date)] [GitHub] ℹ️ No metadata.json for $CURRENT_INCREMENT, skipping GitHub sync" >> "$DEBUG_LOG" 2>/dev/null || true
|
|
76
|
-
cat <<EOF
|
|
77
|
-
{
|
|
78
|
-
"continue": true
|
|
79
|
-
}
|
|
80
|
-
EOF
|
|
81
|
-
exit 0
|
|
82
|
-
fi
|
|
83
|
-
|
|
84
|
-
# Check for GitHub issue link
|
|
85
|
-
if ! command -v jq &> /dev/null; then
|
|
86
|
-
echo "[$(date)] [GitHub] ⚠️ jq not found, skipping GitHub sync" >> "$DEBUG_LOG" 2>/dev/null || true
|
|
63
|
+
# Check if Node.js is available
|
|
64
|
+
if ! command -v node &> /dev/null; then
|
|
65
|
+
echo "[$(date)] [GitHub] ⚠️ Node.js not found, skipping GitHub sync" >> "$DEBUG_LOG" 2>/dev/null || true
|
|
87
66
|
cat <<EOF
|
|
88
67
|
{
|
|
89
68
|
"continue": true
|
|
@@ -92,10 +71,10 @@ EOF
|
|
|
92
71
|
exit 0
|
|
93
72
|
fi
|
|
94
73
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
if [ -
|
|
98
|
-
echo "[$(date)] [GitHub]
|
|
74
|
+
# Check if github-spec-sync CLI exists
|
|
75
|
+
SYNC_CLI="$PROJECT_ROOT/dist/cli/commands/sync-specs-to-github.js"
|
|
76
|
+
if [ ! -f "$SYNC_CLI" ]; then
|
|
77
|
+
echo "[$(date)] [GitHub] ⚠️ github-spec-sync CLI not found at $SYNC_CLI, skipping sync" >> "$DEBUG_LOG" 2>/dev/null || true
|
|
99
78
|
cat <<EOF
|
|
100
79
|
{
|
|
101
80
|
"continue": true
|
|
@@ -116,140 +95,59 @@ EOF
|
|
|
116
95
|
fi
|
|
117
96
|
|
|
118
97
|
# ============================================================================
|
|
119
|
-
#
|
|
98
|
+
# DETECT CURRENT SPEC
|
|
120
99
|
# ============================================================================
|
|
121
100
|
|
|
122
|
-
|
|
101
|
+
# Strategy: Find current increment, then find which spec it belongs to
|
|
123
102
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
if [ ! -f "$TASKS_FILE" ]; then
|
|
127
|
-
echo "[$(date)] [GitHub] ℹ️ tasks.md not found for $CURRENT_INCREMENT, skipping sync" >> "$DEBUG_LOG" 2>/dev/null || true
|
|
128
|
-
cat <<EOF
|
|
129
|
-
{
|
|
130
|
-
"continue": true
|
|
131
|
-
}
|
|
132
|
-
EOF
|
|
133
|
-
exit 0
|
|
134
|
-
fi
|
|
135
|
-
|
|
136
|
-
echo "[$(date)] [GitHub] 📊 Syncing task checkboxes to GitHub issue #$GITHUB_ISSUE" >> "$DEBUG_LOG" 2>/dev/null || true
|
|
137
|
-
|
|
138
|
-
# Get list of completed tasks from tasks.md
|
|
139
|
-
# Find all "## T-XXX:" headers where the task has "[x]" checkbox
|
|
140
|
-
COMPLETED_TASK_IDS=$(awk '
|
|
141
|
-
/^## T-[0-9]+:/ {
|
|
142
|
-
task_id = $2
|
|
143
|
-
gsub(/:/, "", task_id)
|
|
144
|
-
current_task = task_id
|
|
145
|
-
task_title = substr($0, index($0, $3))
|
|
146
|
-
next
|
|
147
|
-
}
|
|
148
|
-
/^- \[x\]/ && current_task != "" {
|
|
149
|
-
# Found a completed checkbox under a task
|
|
150
|
-
print current_task
|
|
151
|
-
current_task = ""
|
|
152
|
-
}
|
|
153
|
-
' "$TASKS_FILE" 2>/dev/null)
|
|
154
|
-
|
|
155
|
-
echo "[$(date)] [GitHub] Completed tasks found: $COMPLETED_TASK_IDS" >> "$DEBUG_LOG" 2>/dev/null || true
|
|
156
|
-
|
|
157
|
-
# Read current issue body
|
|
158
|
-
ISSUE_BODY=$(gh issue view "$GITHUB_ISSUE" --json body -q .body 2>/dev/null || echo "")
|
|
103
|
+
# 1. Detect current increment (temporary context)
|
|
104
|
+
CURRENT_INCREMENT=$(ls -t .specweave/increments/ 2>/dev/null | grep -v "_backlog" | head -1)
|
|
159
105
|
|
|
160
|
-
if [ -z "$
|
|
161
|
-
echo "[$(date)] [GitHub]
|
|
162
|
-
|
|
163
|
-
{
|
|
164
|
-
"continue": true
|
|
165
|
-
}
|
|
166
|
-
EOF
|
|
167
|
-
exit 0
|
|
106
|
+
if [ -z "$CURRENT_INCREMENT" ]; then
|
|
107
|
+
echo "[$(date)] [GitHub] ℹ️ No active increment, checking for spec changes..." >> "$DEBUG_LOG" 2>/dev/null || true
|
|
108
|
+
# Fall through to sync all changed specs
|
|
168
109
|
fi
|
|
169
110
|
|
|
170
|
-
|
|
171
|
-
TEMP_BODY=$(mktemp)
|
|
172
|
-
echo "$ISSUE_BODY" > "$TEMP_BODY"
|
|
173
|
-
|
|
174
|
-
# Update checkboxes for completed tasks
|
|
175
|
-
# Pattern: "- [ ] task-name" -> "- [x] task-name"
|
|
176
|
-
for task_id in $COMPLETED_TASK_IDS; do
|
|
177
|
-
# Update checkbox for this task ID
|
|
178
|
-
# Look for patterns like "[ ] T-013:" or "[ ] CLAUDE.md updates" etc.
|
|
179
|
-
sed -i.bak "s/- \[ \] \(.*${task_id}.*\)/- [x] \1/g" "$TEMP_BODY" 2>/dev/null || true
|
|
180
|
-
sed -i.bak "s/- \[ \] \(.*T-0*${task_id#T-}[: ].*\)/- [x] \1/g" "$TEMP_BODY" 2>/dev/null || true
|
|
181
|
-
|
|
182
|
-
echo "[$(date)] [GitHub] Updated checkbox for task: $task_id" >> "$DEBUG_LOG" 2>/dev/null || true
|
|
183
|
-
done
|
|
184
|
-
|
|
185
|
-
# Also update based on task names (more reliable)
|
|
186
|
-
# Check for common patterns in issue body
|
|
187
|
-
if grep -q "test-aware-planner" "$TASKS_FILE" && grep -q "\[x\]" "$TASKS_FILE"; then
|
|
188
|
-
sed -i.bak "s/- \[ \] \(.*test-aware-planner.*\)/- [x] \1/g" "$TEMP_BODY" 2>/dev/null || true
|
|
189
|
-
fi
|
|
190
|
-
if grep -q "PM.*increment-planner" "$TASKS_FILE" && grep -q "\[x\]" "$TASKS_FILE"; then
|
|
191
|
-
sed -i.bak "s/- \[ \] \(.*PM.*increment-planner.*\)/- [x] \1/g" "$TEMP_BODY" 2>/dev/null || true
|
|
192
|
-
sed -i.bak "s/- \[ \] \(.*Enhanced PM.*\)/- [x] \1/g" "$TEMP_BODY" 2>/dev/null || true
|
|
193
|
-
fi
|
|
194
|
-
if grep -q "CLAUDE.md" "$TASKS_FILE" && grep -q "\[x\]" "$TASKS_FILE"; then
|
|
195
|
-
sed -i.bak "s/- \[ \] \(.*CLAUDE\.md.*\)/- [x] \1/g" "$TEMP_BODY" 2>/dev/null || true
|
|
196
|
-
fi
|
|
111
|
+
SPEC_ID=""
|
|
197
112
|
|
|
198
|
-
|
|
199
|
-
|
|
113
|
+
if [ -n "$CURRENT_INCREMENT" ]; then
|
|
114
|
+
# 2. Try to find spec reference in increment
|
|
115
|
+
SPEC_FILE=".specweave/increments/$CURRENT_INCREMENT/spec.md"
|
|
200
116
|
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
}
|
|
117
|
+
if [ -f "$SPEC_FILE" ]; then
|
|
118
|
+
# Look for "Implements: SPEC-XXX" or "See: SPEC-XXX" patterns
|
|
119
|
+
SPEC_REF=$(grep -E "^(Implements|See|References).*SPEC-[0-9]+" "$SPEC_FILE" 2>/dev/null | head -1 || echo "")
|
|
205
120
|
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
echo "[$(date)] [GitHub]
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
TOTAL_TASKS=$(grep -c "^## T-[0-9]" "$TASKS_FILE" 2>/dev/null || echo "0")
|
|
213
|
-
COMPLETED_TASKS=$(echo "$COMPLETED_TASK_IDS" | wc -w | tr -d ' ')
|
|
214
|
-
|
|
215
|
-
if [ "$TOTAL_TASKS" -gt 0 ]; then
|
|
216
|
-
PROGRESS_PCT=$((COMPLETED_TASKS * 100 / TOTAL_TASKS))
|
|
217
|
-
|
|
218
|
-
# Post progress comment
|
|
219
|
-
gh issue comment "$GITHUB_ISSUE" --body "**Progress Update**: $COMPLETED_TASKS/$TOTAL_TASKS tasks ($PROGRESS_PCT%)
|
|
220
|
-
|
|
221
|
-
Increment: \`$CURRENT_INCREMENT\`
|
|
222
|
-
|
|
223
|
-
---
|
|
224
|
-
🤖 Auto-updated by SpecWeave GitHub plugin" 2>&1 | tee -a "$DEBUG_LOG" >/dev/null || {
|
|
225
|
-
echo "[$(date)] [GitHub] ⚠️ Failed to comment on GitHub issue (non-blocking)" >> "$DEBUG_LOG" 2>/dev/null || true
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
echo "[$(date)] [GitHub] ✅ Progress comment posted ($PROGRESS_PCT%)" >> "$DEBUG_LOG" 2>/dev/null || true
|
|
121
|
+
if [ -n "$SPEC_REF" ]; then
|
|
122
|
+
# Extract spec ID (e.g., "SPEC-001" → "spec-001")
|
|
123
|
+
SPEC_ID=$(echo "$SPEC_REF" | grep -oE "SPEC-[0-9]+" | tr 'A-Z' 'a-z' | head -1)
|
|
124
|
+
echo "[$(date)] [GitHub] 📋 Detected spec: $SPEC_ID (from increment $CURRENT_INCREMENT)" >> "$DEBUG_LOG" 2>/dev/null || true
|
|
125
|
+
fi
|
|
126
|
+
fi
|
|
229
127
|
fi
|
|
230
128
|
|
|
231
|
-
echo "[$(date)] [GitHub] ✅ GitHub sync complete" >> "$DEBUG_LOG" 2>/dev/null || true
|
|
232
|
-
|
|
233
129
|
# ============================================================================
|
|
234
|
-
# SPEC
|
|
130
|
+
# SYNC SPEC TO GITHUB
|
|
235
131
|
# ============================================================================
|
|
236
132
|
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
if command -v node &> /dev/null && [ -f "$PROJECT_ROOT/dist/cli/commands/sync-spec-commits.js" ]; then
|
|
241
|
-
echo "[$(date)] [GitHub] 🚀 Running spec commit sync..." >> "$DEBUG_LOG" 2>/dev/null || true
|
|
133
|
+
if [ -n "$SPEC_ID" ]; then
|
|
134
|
+
# Sync specific spec
|
|
135
|
+
echo "[$(date)] [GitHub] 🔄 Syncing spec $SPEC_ID to GitHub Project..." >> "$DEBUG_LOG" 2>/dev/null || true
|
|
242
136
|
|
|
243
|
-
node "$
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
2>&1 | tee -a "$DEBUG_LOG" >/dev/null || {
|
|
247
|
-
echo "[$(date)] [GitHub] ⚠️ Spec commit sync failed (non-blocking)" >> "$DEBUG_LOG" 2>/dev/null || true
|
|
248
|
-
}
|
|
137
|
+
node "$SYNC_CLI" --spec-id "$SPEC_ID" 2>&1 | tee -a "$DEBUG_LOG" >/dev/null || {
|
|
138
|
+
echo "[$(date)] [GitHub] ⚠️ Spec sync failed for $SPEC_ID (non-blocking)" >> "$DEBUG_LOG" 2>/dev/null || true
|
|
139
|
+
}
|
|
249
140
|
|
|
250
|
-
echo "[$(date)] [GitHub] ✅ Spec
|
|
141
|
+
echo "[$(date)] [GitHub] ✅ Spec sync complete for $SPEC_ID" >> "$DEBUG_LOG" 2>/dev/null || true
|
|
251
142
|
else
|
|
252
|
-
|
|
143
|
+
# Sync all changed specs (fallback)
|
|
144
|
+
echo "[$(date)] [GitHub] 🔄 Syncing all changed specs to GitHub..." >> "$DEBUG_LOG" 2>/dev/null || true
|
|
145
|
+
|
|
146
|
+
node "$SYNC_CLI" --all 2>&1 | tee -a "$DEBUG_LOG" >/dev/null || {
|
|
147
|
+
echo "[$(date)] [GitHub] ⚠️ Batch spec sync failed (non-blocking)" >> "$DEBUG_LOG" 2>/dev/null || true
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
echo "[$(date)] [GitHub] ✅ Batch spec sync complete" >> "$DEBUG_LOG" 2>/dev/null || true
|
|
253
151
|
fi
|
|
254
152
|
|
|
255
153
|
# ============================================================================
|
|
@@ -1,28 +1,17 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
* CLI wrapper for syncing increment changes to GitHub
|
|
4
|
-
*
|
|
5
|
-
* Usage:
|
|
6
|
-
* node dist/plugins/specweave-github/lib/cli-sync-increment-changes.js <incrementId> <changedFile>
|
|
7
|
-
*
|
|
8
|
-
* Example:
|
|
9
|
-
* node dist/plugins/specweave-github/lib/cli-sync-increment-changes.js 0015-hierarchical-sync spec.md
|
|
10
|
-
*/
|
|
11
|
-
import { syncIncrementChanges } from './github-sync-increment-changes.js';
|
|
2
|
+
import { syncIncrementChanges } from "./github-sync-increment-changes.js";
|
|
12
3
|
const incrementId = process.argv[2];
|
|
13
4
|
const changedFile = process.argv[3];
|
|
14
5
|
if (!incrementId || !changedFile) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
6
|
+
console.error("\u274C Usage: cli-sync-increment-changes <incrementId> <changedFile>");
|
|
7
|
+
console.error(" Example: cli-sync-increment-changes 0015-hierarchical-sync spec.md");
|
|
8
|
+
process.exit(1);
|
|
18
9
|
}
|
|
19
|
-
if (![
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
10
|
+
if (!["spec.md", "plan.md", "tasks.md"].includes(changedFile)) {
|
|
11
|
+
console.error(`\u274C Invalid file: ${changedFile}`);
|
|
12
|
+
console.error(" Must be one of: spec.md, plan.md, tasks.md");
|
|
13
|
+
process.exit(1);
|
|
23
14
|
}
|
|
24
15
|
syncIncrementChanges(incrementId, changedFile).catch((error) => {
|
|
25
|
-
|
|
26
|
-
// Don't exit with error code - best-effort sync
|
|
16
|
+
console.error("\u274C Fatal error:", error);
|
|
27
17
|
});
|
|
28
|
-
//# sourceMappingURL=cli-sync-increment-changes.js.map
|