specweave 0.17.1 → 0.17.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/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
- /package/dist/{locales → src/locales}/de/.gitkeep +0 -0
- /package/dist/{locales → src/locales}/de/cli.json +0 -0
- /package/dist/{locales → src/locales}/en/cli.json +0 -0
- /package/dist/{locales → src/locales}/en/errors.json +0 -0
- /package/dist/{locales → src/locales}/en/templates.json +0 -0
- /package/dist/{locales → src/locales}/es/.gitkeep +0 -0
- /package/dist/{locales → src/locales}/es/cli.json +0 -0
- /package/dist/{locales → src/locales}/fr/.gitkeep +0 -0
- /package/dist/{locales → src/locales}/fr/cli.json +0 -0
- /package/dist/{locales → src/locales}/ja/.gitkeep +0 -0
- /package/dist/{locales → src/locales}/ja/cli.json +0 -0
- /package/dist/{locales → src/locales}/ko/.gitkeep +0 -0
- /package/dist/{locales → src/locales}/ko/cli.json +0 -0
- /package/dist/{locales → src/locales}/pt/.gitkeep +0 -0
- /package/dist/{locales → src/locales}/pt/cli.json +0 -0
- /package/dist/{locales → src/locales}/ru/.gitkeep +0 -0
- /package/dist/{locales → src/locales}/ru/cli.json +0 -0
- /package/dist/{locales → src/locales}/zh/.gitkeep +0 -0
- /package/dist/{locales → src/locales}/zh/cli.json +0 -0
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Anthropic API Pricing Constants
|
|
3
|
-
*
|
|
4
|
-
* Pricing as of 2025-10-31 (verified against https://www.anthropic.com/pricing)
|
|
5
|
-
*
|
|
6
|
-
* Model Tier Mapping:
|
|
7
|
-
* - sonnet → claude-sonnet-4-5-20250929 (latest Sonnet 4.5)
|
|
8
|
-
* - haiku → claude-4-5-haiku-20250110 (latest Haiku 4.5)
|
|
9
|
-
* - opus → claude-opus-4-0-... (when released)
|
|
10
|
-
*
|
|
11
|
-
* Note: This file should be updated when Anthropic releases new models.
|
|
12
|
-
*/
|
|
13
|
-
/**
|
|
14
|
-
* Pricing per 1M tokens (input/output) in USD
|
|
15
|
-
*/
|
|
16
|
-
export const PRICING = {
|
|
17
|
-
sonnet: {
|
|
18
|
-
input: 0.000003, // $3 per 1M input tokens
|
|
19
|
-
output: 0.000015, // $15 per 1M output tokens
|
|
20
|
-
},
|
|
21
|
-
haiku: {
|
|
22
|
-
input: 0.000001, // $1 per 1M input tokens
|
|
23
|
-
output: 0.000005, // $5 per 1M output tokens
|
|
24
|
-
},
|
|
25
|
-
opus: {
|
|
26
|
-
input: 0.000015, // $15 per 1M input tokens
|
|
27
|
-
output: 0.000075, // $75 per 1M output tokens
|
|
28
|
-
},
|
|
29
|
-
};
|
|
30
|
-
/**
|
|
31
|
-
* Calculate cost for a given model and token usage
|
|
32
|
-
*
|
|
33
|
-
* @param model - Model tier (sonnet, haiku, opus)
|
|
34
|
-
* @param inputTokens - Number of input tokens
|
|
35
|
-
* @param outputTokens - Number of output tokens
|
|
36
|
-
* @returns Total cost in USD
|
|
37
|
-
*
|
|
38
|
-
* @example
|
|
39
|
-
* ```typescript
|
|
40
|
-
* const cost = calculateCost('haiku', 1000, 500);
|
|
41
|
-
* // Returns: 0.0035 ($0.0035 = $0.001 input + $0.0025 output)
|
|
42
|
-
* ```
|
|
43
|
-
*/
|
|
44
|
-
export function calculateCost(model, inputTokens, outputTokens) {
|
|
45
|
-
const pricing = PRICING[model];
|
|
46
|
-
return (inputTokens * pricing.input) + (outputTokens * pricing.output);
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Get pricing constants for a specific model
|
|
50
|
-
*
|
|
51
|
-
* @param model - Model tier
|
|
52
|
-
* @returns Pricing object with input/output costs
|
|
53
|
-
*/
|
|
54
|
-
export function getModelPricing(model) {
|
|
55
|
-
return PRICING[model];
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Calculate cost savings vs baseline (all-Sonnet)
|
|
59
|
-
*
|
|
60
|
-
* @param actualModel - Model actually used
|
|
61
|
-
* @param inputTokens - Input tokens
|
|
62
|
-
* @param outputTokens - Output tokens
|
|
63
|
-
* @returns Savings amount in dollars (positive = saved money)
|
|
64
|
-
*/
|
|
65
|
-
export function calculateSavings(actualModel, inputTokens, outputTokens) {
|
|
66
|
-
const actualCost = calculateCost(actualModel, inputTokens, outputTokens);
|
|
67
|
-
const baselineCost = calculateCost('sonnet', inputTokens, outputTokens);
|
|
68
|
-
const savedAmount = baselineCost - actualCost;
|
|
69
|
-
return savedAmount;
|
|
70
|
-
}
|
|
71
|
-
//# sourceMappingURL=pricing-constants.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pricing-constants.js","sourceRoot":"","sources":["../../src/utils/pricing-constants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,MAAM,EAAE;QACN,KAAK,EAAE,QAAQ,EAAI,yBAAyB;QAC5C,MAAM,EAAE,QAAQ,EAAG,2BAA2B;KAC/C;IACD,KAAK,EAAE;QACL,KAAK,EAAE,QAAQ,EAAI,yBAAyB;QAC5C,MAAM,EAAE,QAAQ,EAAG,0BAA0B;KAC9C;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,QAAQ,EAAI,0BAA0B;QAC7C,MAAM,EAAE,QAAQ,EAAG,2BAA2B;KAC/C;CACO,CAAC;AAEX;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,aAAa,CAC3B,KAAkC,EAClC,WAAmB,EACnB,YAAoB;IAEpB,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/B,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AACzE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,KAAkC;IAChE,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAC9B,WAAwC,EACxC,WAAmB,EACnB,YAAoB;IAEpB,MAAM,UAAU,GAAG,aAAa,CAAC,WAAW,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;IACzE,MAAM,YAAY,GAAG,aAAa,CAAC,QAAQ,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;IACxE,MAAM,WAAW,GAAG,YAAY,GAAG,UAAU,CAAC;IAE9C,OAAO,WAAW,CAAC;AACrB,CAAC"}
|
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Project ID Auto-Detection Utilities
|
|
3
|
-
*
|
|
4
|
-
* Detects project ID from:
|
|
5
|
-
* 1. Git remote (GitHub repo name)
|
|
6
|
-
* 2. Sync configuration (JIRA project key, ADO project name)
|
|
7
|
-
* 3. User prompt (fallback)
|
|
8
|
-
*/
|
|
9
|
-
/**
|
|
10
|
-
* Auto-detect project ID from git remote URL
|
|
11
|
-
*
|
|
12
|
-
* Extracts repository name from git remote URL
|
|
13
|
-
*
|
|
14
|
-
* @param projectRoot - Project root directory
|
|
15
|
-
* @returns Project ID (repo name) or null if not detected
|
|
16
|
-
*
|
|
17
|
-
* @example
|
|
18
|
-
* // Git remote: https://github.com/anton-abyzov/specweave.git
|
|
19
|
-
* detectProjectIdFromGit('/path/to/project')
|
|
20
|
-
* // Returns: "specweave"
|
|
21
|
-
*
|
|
22
|
-
* @example
|
|
23
|
-
* // Git remote: git@github.com:my-org/web-app.git
|
|
24
|
-
* detectProjectIdFromGit('/path/to/project')
|
|
25
|
-
* // Returns: "web-app"
|
|
26
|
-
*/
|
|
27
|
-
export declare function detectProjectIdFromGit(projectRoot: string): string | null;
|
|
28
|
-
/**
|
|
29
|
-
* Auto-detect project ID from sync configuration
|
|
30
|
-
*
|
|
31
|
-
* Checks existing sync profiles for JIRA project key or ADO project name
|
|
32
|
-
*
|
|
33
|
-
* @param projectRoot - Project root directory
|
|
34
|
-
* @returns Project ID from sync config or null if not detected
|
|
35
|
-
*
|
|
36
|
-
* @example
|
|
37
|
-
* // Config has JIRA: { projectKey: "WEBAPP" }
|
|
38
|
-
* detectProjectIdFromSync('/path/to/project')
|
|
39
|
-
* // Returns: "webapp"
|
|
40
|
-
*/
|
|
41
|
-
export declare function detectProjectIdFromSync(projectRoot: string): string | null;
|
|
42
|
-
/**
|
|
43
|
-
* Prompt user for project ID
|
|
44
|
-
*
|
|
45
|
-
* Interactive prompt with validation and helpful examples
|
|
46
|
-
*
|
|
47
|
-
* @param suggestedId - Optional suggested project ID (from detection)
|
|
48
|
-
* @returns Project ID entered by user
|
|
49
|
-
*
|
|
50
|
-
* @example
|
|
51
|
-
* await promptForProjectId()
|
|
52
|
-
* // User sees:
|
|
53
|
-
* // Project ID (matches GitHub repo, JIRA project, or ADO project): █
|
|
54
|
-
* // User enters: "web-app"
|
|
55
|
-
* // Returns: "web-app"
|
|
56
|
-
*/
|
|
57
|
-
export declare function promptForProjectId(suggestedId?: string): Promise<string>;
|
|
58
|
-
/**
|
|
59
|
-
* Auto-detect project ID synchronously (no prompts)
|
|
60
|
-
*
|
|
61
|
-
* Priority:
|
|
62
|
-
* 1. Git remote (GitHub repo name)
|
|
63
|
-
* 2. Sync configuration (JIRA/ADO project)
|
|
64
|
-
* 3. "default" (fallback)
|
|
65
|
-
*
|
|
66
|
-
* @param projectRoot - Project root directory
|
|
67
|
-
* @param options - Detection options
|
|
68
|
-
* @returns Detected project ID or "default"
|
|
69
|
-
*
|
|
70
|
-
* @example
|
|
71
|
-
* // In git repo: https://github.com/anton-abyzov/specweave.git
|
|
72
|
-
* autoDetectProjectIdSync('/path/to/project')
|
|
73
|
-
* // Returns: "specweave"
|
|
74
|
-
*
|
|
75
|
-
* @example
|
|
76
|
-
* // No git, no sync
|
|
77
|
-
* autoDetectProjectIdSync('/path/to/project')
|
|
78
|
-
* // Returns: "default"
|
|
79
|
-
*/
|
|
80
|
-
export declare function autoDetectProjectIdSync(projectRoot: string, options?: {
|
|
81
|
-
silent?: boolean;
|
|
82
|
-
}): string;
|
|
83
|
-
/**
|
|
84
|
-
* Auto-detect project ID with fallback chain (async version with prompts)
|
|
85
|
-
*
|
|
86
|
-
* Priority:
|
|
87
|
-
* 1. Git remote (GitHub repo name)
|
|
88
|
-
* 2. Sync configuration (JIRA/ADO project)
|
|
89
|
-
* 3. User prompt (with detected suggestion)
|
|
90
|
-
* 4. "default" (if user accepts default in prompt)
|
|
91
|
-
*
|
|
92
|
-
* @param projectRoot - Project root directory
|
|
93
|
-
* @param options - Detection options
|
|
94
|
-
* @returns Detected or prompted project ID
|
|
95
|
-
*
|
|
96
|
-
* @example
|
|
97
|
-
* // In git repo: https://github.com/anton-abyzov/specweave.git
|
|
98
|
-
* await autoDetectProjectId('/path/to/project')
|
|
99
|
-
* // Output: "✅ Detected git repository: specweave"
|
|
100
|
-
* // Returns: "specweave"
|
|
101
|
-
*
|
|
102
|
-
* @example
|
|
103
|
-
* // No git, no sync, user prompted
|
|
104
|
-
* await autoDetectProjectId('/path/to/project')
|
|
105
|
-
* // Output: "📝 No git repository or sync configuration detected."
|
|
106
|
-
* // Prompts user for project ID
|
|
107
|
-
* // Returns: user input (e.g., "my-project")
|
|
108
|
-
*/
|
|
109
|
-
export declare function autoDetectProjectId(projectRoot: string, options?: {
|
|
110
|
-
silent?: boolean;
|
|
111
|
-
promptIfNotDetected?: boolean;
|
|
112
|
-
}): Promise<string>;
|
|
113
|
-
/**
|
|
114
|
-
* Format project ID to display name
|
|
115
|
-
*
|
|
116
|
-
* Converts kebab-case/snake_case to Title Case
|
|
117
|
-
*
|
|
118
|
-
* @param projectId - Project ID (e.g., "web-app", "mobile_app")
|
|
119
|
-
* @returns Formatted name (e.g., "Web App", "Mobile App")
|
|
120
|
-
*
|
|
121
|
-
* @example
|
|
122
|
-
* formatProjectName('web-app')
|
|
123
|
-
* // Returns: "Web App"
|
|
124
|
-
*
|
|
125
|
-
* @example
|
|
126
|
-
* formatProjectName('mobile_app')
|
|
127
|
-
* // Returns: "Mobile App"
|
|
128
|
-
*
|
|
129
|
-
* @example
|
|
130
|
-
* formatProjectName('specweave')
|
|
131
|
-
* // Returns: "SpecWeave"
|
|
132
|
-
*/
|
|
133
|
-
export declare function formatProjectName(projectId: string): string;
|
|
134
|
-
/**
|
|
135
|
-
* Validate project ID format
|
|
136
|
-
*
|
|
137
|
-
* @param projectId - Project ID to validate
|
|
138
|
-
* @returns True if valid, error message if invalid
|
|
139
|
-
*/
|
|
140
|
-
export declare function validateProjectId(projectId: string): true | string;
|
|
141
|
-
//# sourceMappingURL=project-detection.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"project-detection.d.ts","sourceRoot":"","sources":["../../src/utils/project-detection.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkCzE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAsD1E;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,kBAAkB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA4B9E;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE;IACP,MAAM,CAAC,EAAE,OAAO,CAAC;CACb,GACL,MAAM,CAuBR;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE;IACP,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC1B,GACL,OAAO,CAAC,MAAM,CAAC,CAsCjB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAkB3D;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAkBlE"}
|
|
@@ -1,321 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Project ID Auto-Detection Utilities
|
|
3
|
-
*
|
|
4
|
-
* Detects project ID from:
|
|
5
|
-
* 1. Git remote (GitHub repo name)
|
|
6
|
-
* 2. Sync configuration (JIRA project key, ADO project name)
|
|
7
|
-
* 3. User prompt (fallback)
|
|
8
|
-
*/
|
|
9
|
-
import fs from 'fs-extra';
|
|
10
|
-
import path from 'path';
|
|
11
|
-
import inquirer from 'inquirer';
|
|
12
|
-
import { ConfigManager } from '../core/config-manager';
|
|
13
|
-
/**
|
|
14
|
-
* Auto-detect project ID from git remote URL
|
|
15
|
-
*
|
|
16
|
-
* Extracts repository name from git remote URL
|
|
17
|
-
*
|
|
18
|
-
* @param projectRoot - Project root directory
|
|
19
|
-
* @returns Project ID (repo name) or null if not detected
|
|
20
|
-
*
|
|
21
|
-
* @example
|
|
22
|
-
* // Git remote: https://github.com/anton-abyzov/specweave.git
|
|
23
|
-
* detectProjectIdFromGit('/path/to/project')
|
|
24
|
-
* // Returns: "specweave"
|
|
25
|
-
*
|
|
26
|
-
* @example
|
|
27
|
-
* // Git remote: git@github.com:my-org/web-app.git
|
|
28
|
-
* detectProjectIdFromGit('/path/to/project')
|
|
29
|
-
* // Returns: "web-app"
|
|
30
|
-
*/
|
|
31
|
-
export function detectProjectIdFromGit(projectRoot) {
|
|
32
|
-
try {
|
|
33
|
-
const gitConfigPath = path.join(projectRoot, '.git', 'config');
|
|
34
|
-
// Check if .git/config exists
|
|
35
|
-
if (!fs.existsSync(gitConfigPath)) {
|
|
36
|
-
return null;
|
|
37
|
-
}
|
|
38
|
-
// Read git config
|
|
39
|
-
const gitConfig = fs.readFileSync(gitConfigPath, 'utf8');
|
|
40
|
-
// Extract remote URL (match both HTTPS and SSH formats)
|
|
41
|
-
// HTTPS: https://github.com/owner/repo.git
|
|
42
|
-
// SSH: git@github.com:owner/repo.git
|
|
43
|
-
const httpsMatch = gitConfig.match(/url = https?:\/\/[^\/]+\/[^\/]+\/([^\/\s]+?)(?:\.git)?$/m);
|
|
44
|
-
const sshMatch = gitConfig.match(/url = git@[^:]+:[^\/]+\/([^\/\s]+?)(?:\.git)?$/m);
|
|
45
|
-
const match = httpsMatch || sshMatch;
|
|
46
|
-
if (match && match[1]) {
|
|
47
|
-
const repoName = match[1].trim();
|
|
48
|
-
// Validate repo name (lowercase, alphanumeric, hyphens, underscores)
|
|
49
|
-
if (/^[a-z0-9_-]+$/i.test(repoName)) {
|
|
50
|
-
return repoName.toLowerCase();
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
return null;
|
|
54
|
-
}
|
|
55
|
-
catch (error) {
|
|
56
|
-
// Silently fail (not in git repo or permission error)
|
|
57
|
-
return null;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Auto-detect project ID from sync configuration
|
|
62
|
-
*
|
|
63
|
-
* Checks existing sync profiles for JIRA project key or ADO project name
|
|
64
|
-
*
|
|
65
|
-
* @param projectRoot - Project root directory
|
|
66
|
-
* @returns Project ID from sync config or null if not detected
|
|
67
|
-
*
|
|
68
|
-
* @example
|
|
69
|
-
* // Config has JIRA: { projectKey: "WEBAPP" }
|
|
70
|
-
* detectProjectIdFromSync('/path/to/project')
|
|
71
|
-
* // Returns: "webapp"
|
|
72
|
-
*/
|
|
73
|
-
export function detectProjectIdFromSync(projectRoot) {
|
|
74
|
-
try {
|
|
75
|
-
const configManager = new ConfigManager(projectRoot);
|
|
76
|
-
const config = configManager.load();
|
|
77
|
-
// Check sync profiles for project identifiers
|
|
78
|
-
if (config.sync?.profiles) {
|
|
79
|
-
const profiles = Object.values(config.sync.profiles);
|
|
80
|
-
for (const profile of profiles) {
|
|
81
|
-
// GitHub profile (extract repo name)
|
|
82
|
-
if (profile.provider === 'github') {
|
|
83
|
-
const githubConfig = profile.config;
|
|
84
|
-
if (githubConfig?.repo) {
|
|
85
|
-
return githubConfig.repo.toLowerCase();
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
// JIRA profile (use project key)
|
|
89
|
-
if (profile.provider === 'jira') {
|
|
90
|
-
const jiraConfig = profile.config;
|
|
91
|
-
if (jiraConfig?.projectKey) {
|
|
92
|
-
return jiraConfig.projectKey.toLowerCase();
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
// Azure DevOps profile (use project name)
|
|
96
|
-
if (profile.provider === 'ado') {
|
|
97
|
-
const adoConfig = profile.config;
|
|
98
|
-
if (adoConfig?.project) {
|
|
99
|
-
return adoConfig.project.toLowerCase().replace(/\s+/g, '-');
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
// Legacy: Check old sync config format (pre-profiles)
|
|
105
|
-
if (config.sync?.jira?.projectKey) {
|
|
106
|
-
return config.sync.jira.projectKey.toLowerCase();
|
|
107
|
-
}
|
|
108
|
-
if (config.sync?.ado?.project) {
|
|
109
|
-
return config.sync.ado.project.toLowerCase().replace(/\s+/g, '-');
|
|
110
|
-
}
|
|
111
|
-
if (config.sync?.github?.repo) {
|
|
112
|
-
return config.sync.github.repo.toLowerCase();
|
|
113
|
-
}
|
|
114
|
-
return null;
|
|
115
|
-
}
|
|
116
|
-
catch (error) {
|
|
117
|
-
// Config doesn't exist or is invalid
|
|
118
|
-
return null;
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
/**
|
|
122
|
-
* Prompt user for project ID
|
|
123
|
-
*
|
|
124
|
-
* Interactive prompt with validation and helpful examples
|
|
125
|
-
*
|
|
126
|
-
* @param suggestedId - Optional suggested project ID (from detection)
|
|
127
|
-
* @returns Project ID entered by user
|
|
128
|
-
*
|
|
129
|
-
* @example
|
|
130
|
-
* await promptForProjectId()
|
|
131
|
-
* // User sees:
|
|
132
|
-
* // Project ID (matches GitHub repo, JIRA project, or ADO project): █
|
|
133
|
-
* // User enters: "web-app"
|
|
134
|
-
* // Returns: "web-app"
|
|
135
|
-
*/
|
|
136
|
-
export async function promptForProjectId(suggestedId) {
|
|
137
|
-
const { projectId } = await inquirer.prompt([{
|
|
138
|
-
type: 'input',
|
|
139
|
-
name: 'projectId',
|
|
140
|
-
message: 'Project ID (matches GitHub repo, JIRA project, or ADO project):',
|
|
141
|
-
default: suggestedId || 'default',
|
|
142
|
-
validate: (input) => {
|
|
143
|
-
if (!input) {
|
|
144
|
-
return 'Project ID is required';
|
|
145
|
-
}
|
|
146
|
-
if (!/^[a-z0-9_-]+$/.test(input)) {
|
|
147
|
-
return 'Project ID must be lowercase, alphanumeric, with hyphens or underscores';
|
|
148
|
-
}
|
|
149
|
-
if (input.length < 2) {
|
|
150
|
-
return 'Project ID must be at least 2 characters';
|
|
151
|
-
}
|
|
152
|
-
if (input.length > 64) {
|
|
153
|
-
return 'Project ID must be at most 64 characters';
|
|
154
|
-
}
|
|
155
|
-
return true;
|
|
156
|
-
}
|
|
157
|
-
}]);
|
|
158
|
-
return projectId;
|
|
159
|
-
}
|
|
160
|
-
/**
|
|
161
|
-
* Auto-detect project ID synchronously (no prompts)
|
|
162
|
-
*
|
|
163
|
-
* Priority:
|
|
164
|
-
* 1. Git remote (GitHub repo name)
|
|
165
|
-
* 2. Sync configuration (JIRA/ADO project)
|
|
166
|
-
* 3. "default" (fallback)
|
|
167
|
-
*
|
|
168
|
-
* @param projectRoot - Project root directory
|
|
169
|
-
* @param options - Detection options
|
|
170
|
-
* @returns Detected project ID or "default"
|
|
171
|
-
*
|
|
172
|
-
* @example
|
|
173
|
-
* // In git repo: https://github.com/anton-abyzov/specweave.git
|
|
174
|
-
* autoDetectProjectIdSync('/path/to/project')
|
|
175
|
-
* // Returns: "specweave"
|
|
176
|
-
*
|
|
177
|
-
* @example
|
|
178
|
-
* // No git, no sync
|
|
179
|
-
* autoDetectProjectIdSync('/path/to/project')
|
|
180
|
-
* // Returns: "default"
|
|
181
|
-
*/
|
|
182
|
-
export function autoDetectProjectIdSync(projectRoot, options = {}) {
|
|
183
|
-
const { silent = false } = options;
|
|
184
|
-
// 1. Try git remote
|
|
185
|
-
const gitProjectId = detectProjectIdFromGit(projectRoot);
|
|
186
|
-
if (gitProjectId) {
|
|
187
|
-
if (!silent) {
|
|
188
|
-
console.log(`✅ Detected git repository: ${gitProjectId}`);
|
|
189
|
-
}
|
|
190
|
-
return gitProjectId;
|
|
191
|
-
}
|
|
192
|
-
// 2. Try sync config
|
|
193
|
-
const syncProjectId = detectProjectIdFromSync(projectRoot);
|
|
194
|
-
if (syncProjectId) {
|
|
195
|
-
if (!silent) {
|
|
196
|
-
console.log(`✅ Detected sync configuration: ${syncProjectId}`);
|
|
197
|
-
}
|
|
198
|
-
return syncProjectId;
|
|
199
|
-
}
|
|
200
|
-
// 3. Fallback to "default"
|
|
201
|
-
return 'default';
|
|
202
|
-
}
|
|
203
|
-
/**
|
|
204
|
-
* Auto-detect project ID with fallback chain (async version with prompts)
|
|
205
|
-
*
|
|
206
|
-
* Priority:
|
|
207
|
-
* 1. Git remote (GitHub repo name)
|
|
208
|
-
* 2. Sync configuration (JIRA/ADO project)
|
|
209
|
-
* 3. User prompt (with detected suggestion)
|
|
210
|
-
* 4. "default" (if user accepts default in prompt)
|
|
211
|
-
*
|
|
212
|
-
* @param projectRoot - Project root directory
|
|
213
|
-
* @param options - Detection options
|
|
214
|
-
* @returns Detected or prompted project ID
|
|
215
|
-
*
|
|
216
|
-
* @example
|
|
217
|
-
* // In git repo: https://github.com/anton-abyzov/specweave.git
|
|
218
|
-
* await autoDetectProjectId('/path/to/project')
|
|
219
|
-
* // Output: "✅ Detected git repository: specweave"
|
|
220
|
-
* // Returns: "specweave"
|
|
221
|
-
*
|
|
222
|
-
* @example
|
|
223
|
-
* // No git, no sync, user prompted
|
|
224
|
-
* await autoDetectProjectId('/path/to/project')
|
|
225
|
-
* // Output: "📝 No git repository or sync configuration detected."
|
|
226
|
-
* // Prompts user for project ID
|
|
227
|
-
* // Returns: user input (e.g., "my-project")
|
|
228
|
-
*/
|
|
229
|
-
export async function autoDetectProjectId(projectRoot, options = {}) {
|
|
230
|
-
const { silent = false, promptIfNotDetected = true } = options;
|
|
231
|
-
// 1. Try git remote
|
|
232
|
-
const gitProjectId = detectProjectIdFromGit(projectRoot);
|
|
233
|
-
if (gitProjectId) {
|
|
234
|
-
if (!silent) {
|
|
235
|
-
console.log(`✅ Detected git repository: ${gitProjectId}`);
|
|
236
|
-
}
|
|
237
|
-
return gitProjectId;
|
|
238
|
-
}
|
|
239
|
-
// 2. Try sync config
|
|
240
|
-
const syncProjectId = detectProjectIdFromSync(projectRoot);
|
|
241
|
-
if (syncProjectId) {
|
|
242
|
-
if (!silent) {
|
|
243
|
-
console.log(`✅ Detected sync configuration: ${syncProjectId}`);
|
|
244
|
-
}
|
|
245
|
-
return syncProjectId;
|
|
246
|
-
}
|
|
247
|
-
// 3. Prompt user (if enabled)
|
|
248
|
-
if (promptIfNotDetected) {
|
|
249
|
-
if (!silent) {
|
|
250
|
-
console.log('\n📝 No git repository or sync configuration detected.');
|
|
251
|
-
console.log(' Please enter your project identifier.\n');
|
|
252
|
-
console.log(' Examples:');
|
|
253
|
-
console.log(' • GitHub repo "web-app" → enter: web-app');
|
|
254
|
-
console.log(' • JIRA project "WEBAPP" → enter: webapp');
|
|
255
|
-
console.log(' • ADO project "Platform" → enter: platform');
|
|
256
|
-
console.log(' • Generic project → enter: default\n');
|
|
257
|
-
}
|
|
258
|
-
return await promptForProjectId();
|
|
259
|
-
}
|
|
260
|
-
// 4. Fallback to "default" (no prompt)
|
|
261
|
-
return 'default';
|
|
262
|
-
}
|
|
263
|
-
/**
|
|
264
|
-
* Format project ID to display name
|
|
265
|
-
*
|
|
266
|
-
* Converts kebab-case/snake_case to Title Case
|
|
267
|
-
*
|
|
268
|
-
* @param projectId - Project ID (e.g., "web-app", "mobile_app")
|
|
269
|
-
* @returns Formatted name (e.g., "Web App", "Mobile App")
|
|
270
|
-
*
|
|
271
|
-
* @example
|
|
272
|
-
* formatProjectName('web-app')
|
|
273
|
-
* // Returns: "Web App"
|
|
274
|
-
*
|
|
275
|
-
* @example
|
|
276
|
-
* formatProjectName('mobile_app')
|
|
277
|
-
* // Returns: "Mobile App"
|
|
278
|
-
*
|
|
279
|
-
* @example
|
|
280
|
-
* formatProjectName('specweave')
|
|
281
|
-
* // Returns: "SpecWeave"
|
|
282
|
-
*/
|
|
283
|
-
export function formatProjectName(projectId) {
|
|
284
|
-
// Special cases (known project names)
|
|
285
|
-
const specialCases = {
|
|
286
|
-
'specweave': 'SpecWeave',
|
|
287
|
-
'webapp': 'WebApp',
|
|
288
|
-
'default': 'Default Project'
|
|
289
|
-
};
|
|
290
|
-
if (specialCases[projectId.toLowerCase()]) {
|
|
291
|
-
return specialCases[projectId.toLowerCase()];
|
|
292
|
-
}
|
|
293
|
-
// Convert kebab-case or snake_case to Title Case
|
|
294
|
-
return projectId
|
|
295
|
-
.replace(/[-_]/g, ' ')
|
|
296
|
-
.split(' ')
|
|
297
|
-
.map(word => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
|
|
298
|
-
.join(' ');
|
|
299
|
-
}
|
|
300
|
-
/**
|
|
301
|
-
* Validate project ID format
|
|
302
|
-
*
|
|
303
|
-
* @param projectId - Project ID to validate
|
|
304
|
-
* @returns True if valid, error message if invalid
|
|
305
|
-
*/
|
|
306
|
-
export function validateProjectId(projectId) {
|
|
307
|
-
if (!projectId) {
|
|
308
|
-
return 'Project ID is required';
|
|
309
|
-
}
|
|
310
|
-
if (!/^[a-z0-9_-]+$/.test(projectId)) {
|
|
311
|
-
return 'Project ID must be lowercase, alphanumeric, with hyphens or underscores';
|
|
312
|
-
}
|
|
313
|
-
if (projectId.length < 2) {
|
|
314
|
-
return 'Project ID must be at least 2 characters';
|
|
315
|
-
}
|
|
316
|
-
if (projectId.length > 64) {
|
|
317
|
-
return 'Project ID must be at most 64 characters';
|
|
318
|
-
}
|
|
319
|
-
return true;
|
|
320
|
-
}
|
|
321
|
-
//# sourceMappingURL=project-detection.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"project-detection.js","sourceRoot":"","sources":["../../src/utils/project-detection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Project Mapper - Intelligent User Story to Project Classification
|
|
3
|
-
*
|
|
4
|
-
* Analyzes user story content, tech stack mentions, and component architecture
|
|
5
|
-
* to intelligently map user stories to the correct projects (FE, BE, MOBILE, etc.)
|
|
6
|
-
*
|
|
7
|
-
* @module project-mapper
|
|
8
|
-
*/
|
|
9
|
-
export interface ProjectMapping {
|
|
10
|
-
projectId: string;
|
|
11
|
-
confidence: number;
|
|
12
|
-
reasoning: string[];
|
|
13
|
-
}
|
|
14
|
-
export interface UserStory {
|
|
15
|
-
id: string;
|
|
16
|
-
title: string;
|
|
17
|
-
description: string;
|
|
18
|
-
acceptanceCriteria: string[];
|
|
19
|
-
technicalContext?: string;
|
|
20
|
-
}
|
|
21
|
-
export interface ProjectRule {
|
|
22
|
-
id: string;
|
|
23
|
-
name: string;
|
|
24
|
-
keywords: string[];
|
|
25
|
-
techStack: string[];
|
|
26
|
-
componentTypes: string[];
|
|
27
|
-
excludeKeywords?: string[];
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Project mapper configuration
|
|
31
|
-
*/
|
|
32
|
-
export interface ProjectMapperConfig {
|
|
33
|
-
/**
|
|
34
|
-
* Minimum confidence threshold (0.0-1.0) for primary project match
|
|
35
|
-
* Default: 0.3 (30%)
|
|
36
|
-
*
|
|
37
|
-
* Lower values (0.15-0.2) work better for business-focused specs
|
|
38
|
-
* Higher values (0.4-0.5) work better for tech-focused specs
|
|
39
|
-
*/
|
|
40
|
-
confidenceThreshold?: number;
|
|
41
|
-
/**
|
|
42
|
-
* Custom project rules (overrides default rules)
|
|
43
|
-
*/
|
|
44
|
-
customRules?: ProjectRule[];
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Default project mapping rules
|
|
48
|
-
* These can be customized via .specweave/config.json
|
|
49
|
-
*/
|
|
50
|
-
export declare const DEFAULT_PROJECT_RULES: ProjectRule[];
|
|
51
|
-
/**
|
|
52
|
-
* Analyze user story content and map to projects
|
|
53
|
-
*
|
|
54
|
-
* @param userStory User story to analyze
|
|
55
|
-
* @param projectRules Project mapping rules (defaults to DEFAULT_PROJECT_RULES)
|
|
56
|
-
* @returns Array of project mappings sorted by confidence (highest first)
|
|
57
|
-
*/
|
|
58
|
-
export declare function mapUserStoryToProjects(userStory: UserStory, projectRules?: ProjectRule[]): ProjectMapping[];
|
|
59
|
-
/**
|
|
60
|
-
* Determine primary project for a user story
|
|
61
|
-
* (highest confidence mapping)
|
|
62
|
-
*
|
|
63
|
-
* @param userStory User story to analyze
|
|
64
|
-
* @param projectRules Project mapping rules
|
|
65
|
-
* @param config Optional configuration (confidence threshold, custom rules)
|
|
66
|
-
* @returns Primary project mapping or null if no confident match
|
|
67
|
-
*/
|
|
68
|
-
export declare function getPrimaryProject(userStory: UserStory, projectRules?: ProjectRule[], config?: ProjectMapperConfig): ProjectMapping | null;
|
|
69
|
-
/**
|
|
70
|
-
* Split spec into project-specific specs based on user story mappings
|
|
71
|
-
*
|
|
72
|
-
* @param userStories Array of user stories
|
|
73
|
-
* @param projectRules Project mapping rules
|
|
74
|
-
* @returns Map of projectId → user stories
|
|
75
|
-
*/
|
|
76
|
-
export declare function splitSpecByProject(userStories: UserStory[], projectRules?: ProjectRule[]): Map<string, UserStory[]>;
|
|
77
|
-
/**
|
|
78
|
-
* Suggest JIRA item type hierarchy based on user story scope
|
|
79
|
-
*
|
|
80
|
-
* @param userStory User story to analyze
|
|
81
|
-
* @returns Suggested JIRA item type (Epic, Story, Task, Subtask)
|
|
82
|
-
*/
|
|
83
|
-
export declare function suggestJiraItemType(userStory: UserStory): 'Epic' | 'Story' | 'Task' | 'Subtask';
|
|
84
|
-
/**
|
|
85
|
-
* Format project mapping report (for display to user)
|
|
86
|
-
*
|
|
87
|
-
* @param userStory User story
|
|
88
|
-
* @param mappings Project mappings
|
|
89
|
-
* @returns Formatted markdown report
|
|
90
|
-
*/
|
|
91
|
-
export declare function formatProjectMappingReport(userStory: UserStory, mappings: ProjectMapping[]): string;
|
|
92
|
-
//# sourceMappingURL=project-mapper.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"project-mapper.d.ts","sourceRoot":"","sources":["../../src/utils/project-mapper.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,WAAW,CAAC,EAAE,WAAW,EAAE,CAAC;CAC7B;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,WAAW,EAwF9C,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,SAAS,EACpB,YAAY,GAAE,WAAW,EAA0B,GAClD,cAAc,EAAE,CAiFlB;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,SAAS,EACpB,YAAY,GAAE,WAAW,EAA0B,EACnD,MAAM,CAAC,EAAE,mBAAmB,GAC3B,cAAc,GAAG,IAAI,CAUvB;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,SAAS,EAAE,EACxB,YAAY,GAAE,WAAW,EAA0B,GAClD,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAmB1B;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAoB/F;AAeD;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,cAAc,EAAE,GACzB,MAAM,CA4BR"}
|