specweave 0.12.1 → 0.12.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/CLAUDE.md +22 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +44 -12
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/core/specs/spec-metadata-manager.d.ts +70 -0
- package/dist/core/specs/spec-metadata-manager.d.ts.map +1 -0
- package/dist/core/specs/spec-metadata-manager.js +371 -0
- package/dist/core/specs/spec-metadata-manager.js.map +1 -0
- package/dist/core/specs/spec-parser.d.ts +66 -0
- package/dist/core/specs/spec-parser.d.ts.map +1 -0
- package/dist/core/specs/spec-parser.js +276 -0
- package/dist/core/specs/spec-parser.js.map +1 -0
- package/dist/core/types/config.d.ts.map +1 -1
- package/dist/core/types/config.js +7 -0
- package/dist/core/types/config.js.map +1 -1
- package/dist/core/types/spec-metadata.d.ts +229 -0
- package/dist/core/types/spec-metadata.d.ts.map +1 -0
- package/dist/core/types/spec-metadata.js +14 -0
- package/dist/core/types/spec-metadata.js.map +1 -0
- package/dist/hooks/lib/prepare-reflection-context.js +1 -1
- package/dist/hooks/lib/prepare-reflection-context.js.map +1 -1
- package/package.json +10 -3
- package/plugins/specweave/agents/pm/AGENT.md +183 -0
- package/plugins/specweave/hooks/post-spec-update.sh +158 -0
- package/plugins/specweave/hooks/post-user-story-complete.sh +179 -0
- package/plugins/specweave/skills/increment-planner/SKILL.md +17 -0
- package/plugins/specweave-ado/commands/specweave-ado-sync-spec.md +255 -0
- package/plugins/specweave-ado/lib/ado-spec-sync.ts +593 -0
- package/plugins/specweave-ado/skills/ado-sync/SKILL.md +12 -6
- package/plugins/specweave-github/commands/specweave-github-sync-spec.md +208 -0
- package/plugins/specweave-github/lib/github-spec-sync.ts +656 -0
- package/plugins/specweave-github/skills/github-sync/SKILL.md +16 -8
- package/plugins/specweave-jira/commands/specweave-jira-sync-spec.md +240 -0
- package/plugins/specweave-jira/lib/jira-spec-sync.ts +582 -0
- package/plugins/specweave-jira/skills/jira-sync/SKILL.md +20 -5
- package/dist/cli/commands/docs-build.d.ts +0 -7
- package/dist/cli/commands/docs-build.d.ts.map +0 -1
- package/dist/cli/commands/docs-build.js +0 -31
- package/dist/cli/commands/docs-build.js.map +0 -1
- package/dist/cli/commands/docs-preview.d.ts +0 -7
- package/dist/cli/commands/docs-preview.d.ts.map +0 -1
- package/dist/cli/commands/docs-preview.js +0 -50
- package/dist/cli/commands/docs-preview.js.map +0 -1
- package/dist/cli/commands/docs-setup.d.ts +0 -7
- package/dist/cli/commands/docs-setup.d.ts.map +0 -1
- package/dist/cli/commands/docs-setup.js +0 -31
- package/dist/cli/commands/docs-setup.js.map +0 -1
- package/dist/cli/commands/plugin.d.ts +0 -54
- package/dist/cli/commands/plugin.d.ts.map +0 -1
- package/dist/core/rfc-generator.d.ts +0 -147
- package/dist/core/rfc-generator.d.ts.map +0 -1
- package/dist/core/rfc-generator.js +0 -434
- package/dist/core/rfc-generator.js.map +0 -1
- package/dist/core/schemas/plugin-manifest.schema.json +0 -253
- package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.d.ts +0 -89
- package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.d.ts.map +0 -1
- package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.js +0 -226
- package/dist/plugins/specweave/lib/hooks/git-diff-analyzer.js.map +0 -1
- package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.d.ts +0 -60
- package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.d.ts.map +0 -1
- package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.js +0 -201
- package/dist/plugins/specweave/lib/hooks/invoke-translator-skill.js.map +0 -1
- package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.d.ts +0 -42
- package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.d.ts.map +0 -1
- package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.js +0 -123
- package/dist/plugins/specweave/lib/hooks/prepare-reflection-context.js.map +0 -1
- package/dist/plugins/specweave/lib/hooks/reflection-config-loader.d.ts +0 -45
- package/dist/plugins/specweave/lib/hooks/reflection-config-loader.d.ts.map +0 -1
- package/dist/plugins/specweave/lib/hooks/reflection-config-loader.js +0 -132
- package/dist/plugins/specweave/lib/hooks/reflection-config-loader.js.map +0 -1
- package/dist/plugins/specweave/lib/hooks/reflection-parser.d.ts +0 -33
- package/dist/plugins/specweave/lib/hooks/reflection-parser.d.ts.map +0 -1
- package/dist/plugins/specweave/lib/hooks/reflection-parser.js +0 -419
- package/dist/plugins/specweave/lib/hooks/reflection-parser.js.map +0 -1
- package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.d.ts +0 -56
- package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.d.ts.map +0 -1
- package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.js +0 -239
- package/dist/plugins/specweave/lib/hooks/reflection-prompt-builder.js.map +0 -1
- package/dist/plugins/specweave/lib/hooks/reflection-storage.d.ts +0 -64
- package/dist/plugins/specweave/lib/hooks/reflection-storage.d.ts.map +0 -1
- package/dist/plugins/specweave/lib/hooks/reflection-storage.js +0 -305
- package/dist/plugins/specweave/lib/hooks/reflection-storage.js.map +0 -1
- package/dist/plugins/specweave/lib/hooks/run-self-reflection.d.ts +0 -43
- package/dist/plugins/specweave/lib/hooks/run-self-reflection.d.ts.map +0 -1
- package/dist/plugins/specweave/lib/hooks/run-self-reflection.js +0 -203
- package/dist/plugins/specweave/lib/hooks/run-self-reflection.js.map +0 -1
- package/dist/plugins/specweave/lib/hooks/sync-living-docs.d.ts +0 -27
- package/dist/plugins/specweave/lib/hooks/sync-living-docs.d.ts.map +0 -1
- package/dist/plugins/specweave/lib/hooks/sync-living-docs.js +0 -116
- package/dist/plugins/specweave/lib/hooks/sync-living-docs.js.map +0 -1
- package/dist/plugins/specweave/lib/hooks/translate-file.d.ts +0 -59
- package/dist/plugins/specweave/lib/hooks/translate-file.d.ts.map +0 -1
- package/dist/plugins/specweave/lib/hooks/translate-file.js +0 -350
- package/dist/plugins/specweave/lib/hooks/translate-file.js.map +0 -1
- package/dist/plugins/specweave/lib/hooks/translate-living-docs.d.ts +0 -13
- package/dist/plugins/specweave/lib/hooks/translate-living-docs.d.ts.map +0 -1
- package/dist/plugins/specweave/lib/hooks/translate-living-docs.js +0 -175
- package/dist/plugins/specweave/lib/hooks/translate-living-docs.js.map +0 -1
- package/dist/plugins/specweave/lib/hooks/types/reflection-types.d.ts +0 -164
- package/dist/plugins/specweave/lib/hooks/types/reflection-types.d.ts.map +0 -1
- package/dist/plugins/specweave/lib/hooks/types/reflection-types.js +0 -73
- package/dist/plugins/specweave/lib/hooks/types/reflection-types.js.map +0 -1
- package/dist/plugins/specweave/lib/hooks/update-tasks-md.d.ts +0 -29
- package/dist/plugins/specweave/lib/hooks/update-tasks-md.d.ts.map +0 -1
- package/dist/plugins/specweave/lib/hooks/update-tasks-md.js +0 -203
- package/dist/plugins/specweave/lib/hooks/update-tasks-md.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-client-v2.d.ts +0 -124
- package/dist/plugins/specweave-ado/lib/ado-client-v2.d.ts.map +0 -1
- package/dist/plugins/specweave-ado/lib/ado-client-v2.js +0 -382
- package/dist/plugins/specweave-ado/lib/ado-client-v2.js.map +0 -1
- package/dist/plugins/specweave-ado/lib/ado-client.d.ts +0 -112
- package/dist/plugins/specweave-ado/lib/ado-client.d.ts.map +0 -1
- package/dist/plugins/specweave-ado/lib/ado-client.js +0 -257
- package/dist/plugins/specweave-ado/lib/ado-client.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/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-client-v2.d.ts +0 -104
- package/dist/plugins/specweave-github/lib/github-client-v2.d.ts.map +0 -1
- package/dist/plugins/specweave-github/lib/github-client-v2.js +0 -408
- package/dist/plugins/specweave-github/lib/github-client-v2.js.map +0 -1
- package/dist/plugins/specweave-github/lib/github-client.d.ts +0 -96
- package/dist/plugins/specweave-github/lib/github-client.d.ts.map +0 -1
- package/dist/plugins/specweave-github/lib/github-client.js +0 -299
- package/dist/plugins/specweave-github/lib/github-client.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/index.d.ts +0 -10
- package/dist/plugins/specweave-github/lib/index.d.ts.map +0 -1
- package/dist/plugins/specweave-github/lib/index.js +0 -10
- package/dist/plugins/specweave-github/lib/index.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-github/lib/subtask-sync.d.ts +0 -51
- package/dist/plugins/specweave-github/lib/subtask-sync.d.ts.map +0 -1
- package/dist/plugins/specweave-github/lib/subtask-sync.js +0 -147
- package/dist/plugins/specweave-github/lib/subtask-sync.js.map +0 -1
- package/dist/plugins/specweave-github/lib/task-parser.d.ts +0 -37
- package/dist/plugins/specweave-github/lib/task-parser.d.ts.map +0 -1
- package/dist/plugins/specweave-github/lib/task-parser.js +0 -211
- package/dist/plugins/specweave-github/lib/task-parser.js.map +0 -1
- package/dist/plugins/specweave-github/lib/task-sync.d.ts +0 -51
- package/dist/plugins/specweave-github/lib/task-sync.d.ts.map +0 -1
- package/dist/plugins/specweave-github/lib/task-sync.js +0 -332
- package/dist/plugins/specweave-github/lib/task-sync.js.map +0 -1
- package/dist/plugins/specweave-github/lib/types.d.ts +0 -80
- package/dist/plugins/specweave-github/lib/types.d.ts.map +0 -1
- package/dist/plugins/specweave-github/lib/types.js +0 -5
- package/dist/plugins/specweave-github/lib/types.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/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/plugins/specweave-jira/lib/reorganization-detector.d.ts +0 -67
- package/dist/plugins/specweave-jira/lib/reorganization-detector.d.ts.map +0 -1
- package/dist/plugins/specweave-jira/lib/reorganization-detector.js +0 -252
- package/dist/plugins/specweave-jira/lib/reorganization-detector.js.map +0 -1
- package/dist/plugins/specweave-jira/lib/setup-wizard.d.ts +0 -29
- package/dist/plugins/specweave-jira/lib/setup-wizard.d.ts.map +0 -1
- package/dist/plugins/specweave-jira/lib/setup-wizard.js +0 -219
- package/dist/plugins/specweave-jira/lib/setup-wizard.js.map +0 -1
- package/dist/src/adapters/adapter-base.d.ts +0 -71
- package/dist/src/adapters/adapter-base.d.ts.map +0 -1
- package/dist/src/adapters/adapter-base.js +0 -139
- package/dist/src/adapters/adapter-base.js.map +0 -1
- package/dist/src/adapters/adapter-interface.d.ts +0 -149
- package/dist/src/adapters/adapter-interface.d.ts.map +0 -1
- package/dist/src/adapters/adapter-interface.js +0 -8
- package/dist/src/adapters/adapter-interface.js.map +0 -1
- package/dist/src/adapters/adapter-loader.d.ts +0 -91
- package/dist/src/adapters/adapter-loader.d.ts.map +0 -1
- package/dist/src/adapters/adapter-loader.js +0 -238
- package/dist/src/adapters/adapter-loader.js.map +0 -1
- package/dist/src/adapters/agents-md-generator.d.ts +0 -48
- package/dist/src/adapters/agents-md-generator.d.ts.map +0 -1
- package/dist/src/adapters/agents-md-generator.js +0 -193
- package/dist/src/adapters/agents-md-generator.js.map +0 -1
- package/dist/src/adapters/claude/adapter.d.ts +0 -128
- package/dist/src/adapters/claude/adapter.d.ts.map +0 -1
- package/dist/src/adapters/claude/adapter.js +0 -415
- package/dist/src/adapters/claude/adapter.js.map +0 -1
- package/dist/src/adapters/claude-md-generator.d.ts +0 -78
- package/dist/src/adapters/claude-md-generator.d.ts.map +0 -1
- package/dist/src/adapters/claude-md-generator.js +0 -307
- package/dist/src/adapters/claude-md-generator.js.map +0 -1
- package/dist/src/adapters/codex/adapter.d.ts +0 -50
- package/dist/src/adapters/codex/adapter.d.ts.map +0 -1
- package/dist/src/adapters/codex/adapter.js +0 -316
- package/dist/src/adapters/codex/adapter.js.map +0 -1
- package/dist/src/adapters/cursor/adapter.d.ts +0 -98
- package/dist/src/adapters/cursor/adapter.d.ts.map +0 -1
- package/dist/src/adapters/cursor/adapter.js +0 -406
- package/dist/src/adapters/cursor/adapter.js.map +0 -1
- package/dist/src/adapters/doc-generator.d.ts +0 -69
- package/dist/src/adapters/doc-generator.d.ts.map +0 -1
- package/dist/src/adapters/doc-generator.js +0 -247
- package/dist/src/adapters/doc-generator.js.map +0 -1
- package/dist/src/adapters/gemini/adapter.d.ts +0 -50
- package/dist/src/adapters/gemini/adapter.d.ts.map +0 -1
- package/dist/src/adapters/gemini/adapter.js +0 -281
- package/dist/src/adapters/gemini/adapter.js.map +0 -1
- package/dist/src/adapters/generic/adapter.d.ts +0 -86
- package/dist/src/adapters/generic/adapter.d.ts.map +0 -1
- package/dist/src/adapters/generic/adapter.js +0 -338
- package/dist/src/adapters/generic/adapter.js.map +0 -1
- package/dist/src/cli/commands/abandon.d.ts +0 -13
- package/dist/src/cli/commands/abandon.d.ts.map +0 -1
- package/dist/src/cli/commands/abandon.js +0 -15
- package/dist/src/cli/commands/abandon.js.map +0 -1
- package/dist/src/cli/commands/import-docs.d.ts +0 -21
- package/dist/src/cli/commands/import-docs.d.ts.map +0 -1
- package/dist/src/cli/commands/import-docs.js +0 -146
- package/dist/src/cli/commands/import-docs.js.map +0 -1
- package/dist/src/cli/commands/init-multiproject.d.ts +0 -11
- package/dist/src/cli/commands/init-multiproject.d.ts.map +0 -1
- package/dist/src/cli/commands/init-multiproject.js +0 -202
- package/dist/src/cli/commands/init-multiproject.js.map +0 -1
- package/dist/src/cli/commands/init.d.ts +0 -9
- package/dist/src/cli/commands/init.d.ts.map +0 -1
- package/dist/src/cli/commands/init.js +0 -1205
- package/dist/src/cli/commands/init.js.map +0 -1
- package/dist/src/cli/commands/install.d.ts +0 -9
- package/dist/src/cli/commands/install.d.ts.map +0 -1
- package/dist/src/cli/commands/install.js +0 -127
- package/dist/src/cli/commands/install.js.map +0 -1
- package/dist/src/cli/commands/list.d.ts +0 -8
- package/dist/src/cli/commands/list.d.ts.map +0 -1
- package/dist/src/cli/commands/list.js +0 -119
- package/dist/src/cli/commands/list.js.map +0 -1
- package/dist/src/cli/commands/migrate-to-multiproject.d.ts +0 -37
- package/dist/src/cli/commands/migrate-to-multiproject.d.ts.map +0 -1
- package/dist/src/cli/commands/migrate-to-multiproject.js +0 -189
- package/dist/src/cli/commands/migrate-to-multiproject.js.map +0 -1
- package/dist/src/cli/commands/migrate-to-profiles.d.ts +0 -25
- package/dist/src/cli/commands/migrate-to-profiles.d.ts.map +0 -1
- package/dist/src/cli/commands/migrate-to-profiles.js +0 -350
- package/dist/src/cli/commands/migrate-to-profiles.js.map +0 -1
- package/dist/src/cli/commands/pause.d.ts +0 -13
- package/dist/src/cli/commands/pause.d.ts.map +0 -1
- package/dist/src/cli/commands/pause.js +0 -15
- package/dist/src/cli/commands/pause.js.map +0 -1
- package/dist/src/cli/commands/qa.d.ts +0 -54
- package/dist/src/cli/commands/qa.d.ts.map +0 -1
- package/dist/src/cli/commands/qa.js +0 -98
- package/dist/src/cli/commands/qa.js.map +0 -1
- package/dist/src/cli/commands/resume.d.ts +0 -12
- package/dist/src/cli/commands/resume.d.ts.map +0 -1
- package/dist/src/cli/commands/resume.js +0 -14
- package/dist/src/cli/commands/resume.js.map +0 -1
- package/dist/src/cli/commands/status.d.ts +0 -12
- package/dist/src/cli/commands/status.d.ts.map +0 -1
- package/dist/src/cli/commands/status.js +0 -23
- package/dist/src/cli/commands/status.js.map +0 -1
- package/dist/src/cli/commands/switch-project.d.ts +0 -13
- package/dist/src/cli/commands/switch-project.d.ts.map +0 -1
- package/dist/src/cli/commands/switch-project.js +0 -91
- package/dist/src/cli/commands/switch-project.js.map +0 -1
- package/dist/src/cli/commands/validate-jira.d.ts +0 -35
- package/dist/src/cli/commands/validate-jira.d.ts.map +0 -1
- package/dist/src/cli/commands/validate-jira.js +0 -112
- package/dist/src/cli/commands/validate-jira.js.map +0 -1
- package/dist/src/cli/commands/validate-plugins.d.ts +0 -41
- package/dist/src/cli/commands/validate-plugins.d.ts.map +0 -1
- package/dist/src/cli/commands/validate-plugins.js +0 -171
- package/dist/src/cli/commands/validate-plugins.js.map +0 -1
- package/dist/src/cli/helpers/issue-tracker/ado.d.ts +0 -57
- package/dist/src/cli/helpers/issue-tracker/ado.d.ts.map +0 -1
- package/dist/src/cli/helpers/issue-tracker/ado.js +0 -243
- package/dist/src/cli/helpers/issue-tracker/ado.js.map +0 -1
- package/dist/src/cli/helpers/issue-tracker/github.d.ts +0 -65
- package/dist/src/cli/helpers/issue-tracker/github.d.ts.map +0 -1
- package/dist/src/cli/helpers/issue-tracker/github.js +0 -426
- package/dist/src/cli/helpers/issue-tracker/github.js.map +0 -1
- package/dist/src/cli/helpers/issue-tracker/index.d.ts +0 -22
- package/dist/src/cli/helpers/issue-tracker/index.d.ts.map +0 -1
- package/dist/src/cli/helpers/issue-tracker/index.js +0 -314
- package/dist/src/cli/helpers/issue-tracker/index.js.map +0 -1
- package/dist/src/cli/helpers/issue-tracker/jira.d.ts +0 -61
- package/dist/src/cli/helpers/issue-tracker/jira.d.ts.map +0 -1
- package/dist/src/cli/helpers/issue-tracker/jira.js +0 -404
- package/dist/src/cli/helpers/issue-tracker/jira.js.map +0 -1
- package/dist/src/cli/helpers/issue-tracker/types.d.ts +0 -107
- package/dist/src/cli/helpers/issue-tracker/types.d.ts.map +0 -1
- package/dist/src/cli/helpers/issue-tracker/types.js +0 -16
- package/dist/src/cli/helpers/issue-tracker/types.js.map +0 -1
- package/dist/src/cli/helpers/issue-tracker/utils.d.ts +0 -112
- package/dist/src/cli/helpers/issue-tracker/utils.d.ts.map +0 -1
- package/dist/src/cli/helpers/issue-tracker/utils.js +0 -247
- package/dist/src/cli/helpers/issue-tracker/utils.js.map +0 -1
- 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/brownfield/analyzer.d.ts +0 -86
- package/dist/src/core/brownfield/analyzer.d.ts.map +0 -1
- package/dist/src/core/brownfield/analyzer.js +0 -365
- package/dist/src/core/brownfield/analyzer.js.map +0 -1
- package/dist/src/core/brownfield/importer.d.ts +0 -76
- package/dist/src/core/brownfield/importer.d.ts.map +0 -1
- package/dist/src/core/brownfield/importer.js +0 -287
- package/dist/src/core/brownfield/importer.js.map +0 -1
- package/dist/src/core/config-manager.d.ts +0 -47
- package/dist/src/core/config-manager.d.ts.map +0 -1
- package/dist/src/core/config-manager.js +0 -136
- package/dist/src/core/config-manager.js.map +0 -1
- package/dist/src/core/cost-tracker.d.ts +0 -108
- package/dist/src/core/cost-tracker.d.ts.map +0 -1
- package/dist/src/core/cost-tracker.js +0 -281
- package/dist/src/core/cost-tracker.js.map +0 -1
- package/dist/src/core/credentials-manager.d.ts +0 -107
- package/dist/src/core/credentials-manager.d.ts.map +0 -1
- package/dist/src/core/credentials-manager.js +0 -457
- package/dist/src/core/credentials-manager.js.map +0 -1
- package/dist/src/core/i18n/language-detector.d.ts +0 -29
- package/dist/src/core/i18n/language-detector.d.ts.map +0 -1
- package/dist/src/core/i18n/language-detector.js +0 -143
- package/dist/src/core/i18n/language-detector.js.map +0 -1
- package/dist/src/core/i18n/language-manager.d.ts +0 -101
- package/dist/src/core/i18n/language-manager.d.ts.map +0 -1
- package/dist/src/core/i18n/language-manager.js +0 -232
- package/dist/src/core/i18n/language-manager.js.map +0 -1
- package/dist/src/core/i18n/language-registry.d.ts +0 -44
- package/dist/src/core/i18n/language-registry.d.ts.map +0 -1
- package/dist/src/core/i18n/language-registry.js +0 -234
- package/dist/src/core/i18n/language-registry.js.map +0 -1
- package/dist/src/core/i18n/locale-manager.d.ts +0 -62
- package/dist/src/core/i18n/locale-manager.d.ts.map +0 -1
- package/dist/src/core/i18n/locale-manager.js +0 -137
- package/dist/src/core/i18n/locale-manager.js.map +0 -1
- package/dist/src/core/i18n/system-prompt-injector.d.ts +0 -33
- package/dist/src/core/i18n/system-prompt-injector.d.ts.map +0 -1
- package/dist/src/core/i18n/system-prompt-injector.js +0 -131
- package/dist/src/core/i18n/system-prompt-injector.js.map +0 -1
- package/dist/src/core/i18n/types.d.ts +0 -151
- package/dist/src/core/i18n/types.d.ts.map +0 -1
- package/dist/src/core/i18n/types.js +0 -11
- package/dist/src/core/i18n/types.js.map +0 -1
- package/dist/src/core/increment/limits.d.ts +0 -68
- package/dist/src/core/increment/limits.d.ts.map +0 -1
- package/dist/src/core/increment/limits.js +0 -224
- package/dist/src/core/increment/limits.js.map +0 -1
- package/dist/src/core/increment/metadata-manager.d.ts +0 -114
- package/dist/src/core/increment/metadata-manager.d.ts.map +0 -1
- package/dist/src/core/increment/metadata-manager.js +0 -320
- package/dist/src/core/increment/metadata-manager.js.map +0 -1
- package/dist/src/core/increment/status-commands.d.ts +0 -43
- package/dist/src/core/increment/status-commands.d.ts.map +0 -1
- package/dist/src/core/increment/status-commands.js +0 -277
- package/dist/src/core/increment/status-commands.js.map +0 -1
- package/dist/src/core/increment-status.d.ts +0 -72
- package/dist/src/core/increment-status.d.ts.map +0 -1
- package/dist/src/core/increment-status.js +0 -227
- package/dist/src/core/increment-status.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/core/plugin-loader.d.ts +0 -131
- package/dist/src/core/plugin-loader.d.ts.map +0 -1
- package/dist/src/core/plugin-loader.js +0 -421
- package/dist/src/core/plugin-loader.js.map +0 -1
- package/dist/src/core/project-manager.d.ts +0 -127
- package/dist/src/core/project-manager.d.ts.map +0 -1
- package/dist/src/core/project-manager.js +0 -524
- package/dist/src/core/project-manager.js.map +0 -1
- package/dist/src/core/project-structure-detector.d.ts +0 -92
- package/dist/src/core/project-structure-detector.d.ts.map +0 -1
- package/dist/src/core/project-structure-detector.js +0 -289
- package/dist/src/core/project-structure-detector.js.map +0 -1
- package/dist/src/core/qa/qa-runner.d.ts +0 -16
- package/dist/src/core/qa/qa-runner.d.ts.map +0 -1
- package/dist/src/core/qa/qa-runner.js +0 -404
- package/dist/src/core/qa/qa-runner.js.map +0 -1
- package/dist/src/core/qa/quality-gate-decider.d.ts +0 -53
- package/dist/src/core/qa/quality-gate-decider.d.ts.map +0 -1
- package/dist/src/core/qa/quality-gate-decider.js +0 -268
- package/dist/src/core/qa/quality-gate-decider.js.map +0 -1
- package/dist/src/core/qa/risk-calculator.d.ts +0 -126
- package/dist/src/core/qa/risk-calculator.d.ts.map +0 -1
- package/dist/src/core/qa/risk-calculator.js +0 -247
- package/dist/src/core/qa/risk-calculator.js.map +0 -1
- package/dist/src/core/qa/types.d.ts +0 -315
- package/dist/src/core/qa/types.d.ts.map +0 -1
- package/dist/src/core/qa/types.js +0 -8
- package/dist/src/core/qa/types.js.map +0 -1
- package/dist/src/core/rfc-generator-v2.d.ts +0 -149
- package/dist/src/core/rfc-generator-v2.d.ts.map +0 -1
- package/dist/src/core/rfc-generator-v2.js +0 -399
- package/dist/src/core/rfc-generator-v2.js.map +0 -1
- package/dist/src/core/sync/bidirectional-engine.d.ts +0 -110
- package/dist/src/core/sync/bidirectional-engine.d.ts.map +0 -1
- package/dist/src/core/sync/bidirectional-engine.js +0 -356
- package/dist/src/core/sync/bidirectional-engine.js.map +0 -1
- package/dist/src/core/sync/folder-mapper.d.ts +0 -71
- package/dist/src/core/sync/folder-mapper.d.ts.map +0 -1
- package/dist/src/core/sync/folder-mapper.js +0 -168
- package/dist/src/core/sync/folder-mapper.js.map +0 -1
- package/dist/src/core/sync/profile-manager.d.ts +0 -72
- package/dist/src/core/sync/profile-manager.d.ts.map +0 -1
- package/dist/src/core/sync/profile-manager.js +0 -338
- package/dist/src/core/sync/profile-manager.js.map +0 -1
- package/dist/src/core/sync/profile-selector.d.ts +0 -52
- package/dist/src/core/sync/profile-selector.d.ts.map +0 -1
- package/dist/src/core/sync/profile-selector.js +0 -179
- package/dist/src/core/sync/profile-selector.js.map +0 -1
- package/dist/src/core/sync/profile-validator.d.ts +0 -52
- package/dist/src/core/sync/profile-validator.d.ts.map +0 -1
- package/dist/src/core/sync/profile-validator.js +0 -225
- package/dist/src/core/sync/profile-validator.js.map +0 -1
- package/dist/src/core/sync/project-context.d.ts +0 -81
- package/dist/src/core/sync/project-context.d.ts.map +0 -1
- package/dist/src/core/sync/project-context.js +0 -354
- package/dist/src/core/sync/project-context.js.map +0 -1
- package/dist/src/core/sync/rate-limiter.d.ts +0 -116
- package/dist/src/core/sync/rate-limiter.d.ts.map +0 -1
- package/dist/src/core/sync/rate-limiter.js +0 -308
- package/dist/src/core/sync/rate-limiter.js.map +0 -1
- package/dist/src/core/sync/time-range-selector.d.ts +0 -48
- package/dist/src/core/sync/time-range-selector.d.ts.map +0 -1
- package/dist/src/core/sync/time-range-selector.js +0 -224
- package/dist/src/core/sync/time-range-selector.js.map +0 -1
- package/dist/src/core/types/config.d.ts +0 -90
- package/dist/src/core/types/config.d.ts.map +0 -1
- package/dist/src/core/types/config.js +0 -37
- package/dist/src/core/types/config.js.map +0 -1
- package/dist/src/core/types/increment-metadata.d.ts +0 -120
- package/dist/src/core/types/increment-metadata.d.ts.map +0 -1
- package/dist/src/core/types/increment-metadata.js +0 -138
- package/dist/src/core/types/increment-metadata.js.map +0 -1
- package/dist/src/core/types/plugin.d.ts +0 -283
- package/dist/src/core/types/plugin.d.ts.map +0 -1
- package/dist/src/core/types/plugin.js +0 -49
- package/dist/src/core/types/plugin.js.map +0 -1
- package/dist/src/core/types/sync-profile.d.ts +0 -403
- package/dist/src/core/types/sync-profile.d.ts.map +0 -1
- package/dist/src/core/types/sync-profile.js +0 -55
- package/dist/src/core/types/sync-profile.js.map +0 -1
- package/dist/src/hooks/lib/types/reflection-types.d.ts +0 -125
- package/dist/src/hooks/lib/types/reflection-types.d.ts.map +0 -1
- package/dist/src/hooks/lib/types/reflection-types.js +0 -54
- package/dist/src/hooks/lib/types/reflection-types.js.map +0 -1
- package/dist/src/integrations/ado/ado-client.d.ts +0 -127
- package/dist/src/integrations/ado/ado-client.d.ts.map +0 -1
- package/dist/src/integrations/ado/ado-client.js +0 -416
- package/dist/src/integrations/ado/ado-client.js.map +0 -1
- package/dist/src/integrations/jira/jira-client.d.ts +0 -139
- package/dist/src/integrations/jira/jira-client.d.ts.map +0 -1
- package/dist/src/integrations/jira/jira-client.js +0 -386
- package/dist/src/integrations/jira/jira-client.js.map +0 -1
- package/dist/src/integrations/jira/jira-incremental-mapper.d.ts +0 -75
- package/dist/src/integrations/jira/jira-incremental-mapper.d.ts.map +0 -1
- package/dist/src/integrations/jira/jira-incremental-mapper.js +0 -474
- package/dist/src/integrations/jira/jira-incremental-mapper.js.map +0 -1
- package/dist/src/integrations/jira/jira-mapper.d.ts +0 -105
- package/dist/src/integrations/jira/jira-mapper.d.ts.map +0 -1
- package/dist/src/integrations/jira/jira-mapper.js +0 -494
- package/dist/src/integrations/jira/jira-mapper.js.map +0 -1
- package/dist/src/metrics/calculators/change-failure-rate.d.ts +0 -22
- package/dist/src/metrics/calculators/change-failure-rate.d.ts.map +0 -1
- package/dist/src/metrics/calculators/change-failure-rate.js +0 -70
- package/dist/src/metrics/calculators/change-failure-rate.js.map +0 -1
- package/dist/src/metrics/calculators/deployment-frequency.d.ts +0 -20
- package/dist/src/metrics/calculators/deployment-frequency.d.ts.map +0 -1
- package/dist/src/metrics/calculators/deployment-frequency.js +0 -61
- package/dist/src/metrics/calculators/deployment-frequency.js.map +0 -1
- package/dist/src/metrics/calculators/lead-time.d.ts +0 -22
- package/dist/src/metrics/calculators/lead-time.d.ts.map +0 -1
- package/dist/src/metrics/calculators/lead-time.js +0 -82
- package/dist/src/metrics/calculators/lead-time.js.map +0 -1
- package/dist/src/metrics/calculators/mttr.d.ts +0 -21
- package/dist/src/metrics/calculators/mttr.d.ts.map +0 -1
- package/dist/src/metrics/calculators/mttr.js +0 -60
- package/dist/src/metrics/calculators/mttr.js.map +0 -1
- package/dist/src/metrics/dora-calculator.d.ts +0 -28
- package/dist/src/metrics/dora-calculator.d.ts.map +0 -1
- package/dist/src/metrics/dora-calculator.js +0 -117
- package/dist/src/metrics/dora-calculator.js.map +0 -1
- package/dist/src/metrics/github-client.d.ts +0 -51
- package/dist/src/metrics/github-client.d.ts.map +0 -1
- package/dist/src/metrics/github-client.js +0 -133
- package/dist/src/metrics/github-client.js.map +0 -1
- package/dist/src/metrics/report-generator.d.ts +0 -17
- package/dist/src/metrics/report-generator.d.ts.map +0 -1
- package/dist/src/metrics/report-generator.js +0 -403
- package/dist/src/metrics/report-generator.js.map +0 -1
- package/dist/src/metrics/types.d.ts +0 -112
- package/dist/src/metrics/types.d.ts.map +0 -1
- package/dist/src/metrics/types.js +0 -10
- package/dist/src/metrics/types.js.map +0 -1
- package/dist/src/metrics/utils/percentile.d.ts +0 -25
- package/dist/src/metrics/utils/percentile.d.ts.map +0 -1
- package/dist/src/metrics/utils/percentile.js +0 -46
- package/dist/src/metrics/utils/percentile.js.map +0 -1
- package/dist/src/metrics/utils/tier-classifier.d.ts +0 -61
- package/dist/src/metrics/utils/tier-classifier.d.ts.map +0 -1
- package/dist/src/metrics/utils/tier-classifier.js +0 -100
- package/dist/src/metrics/utils/tier-classifier.js.map +0 -1
- package/dist/src/testing/test-generator.d.ts +0 -117
- package/dist/src/testing/test-generator.d.ts.map +0 -1
- package/dist/src/testing/test-generator.js +0 -370
- package/dist/src/testing/test-generator.js.map +0 -1
- package/dist/src/types/cost-tracking.d.ts +0 -43
- package/dist/src/types/cost-tracking.d.ts.map +0 -1
- package/dist/src/types/cost-tracking.js +0 -8
- package/dist/src/types/cost-tracking.js.map +0 -1
- package/dist/src/types/model-selection.d.ts +0 -53
- package/dist/src/types/model-selection.d.ts.map +0 -1
- package/dist/src/types/model-selection.js +0 -12
- package/dist/src/types/model-selection.js.map +0 -1
- package/dist/src/utils/agents-md-compiler.d.ts +0 -68
- package/dist/src/utils/agents-md-compiler.d.ts.map +0 -1
- package/dist/src/utils/agents-md-compiler.js +0 -420
- package/dist/src/utils/agents-md-compiler.js.map +0 -1
- package/dist/src/utils/auth-helpers.d.ts +0 -58
- package/dist/src/utils/auth-helpers.d.ts.map +0 -1
- package/dist/src/utils/auth-helpers.js +0 -108
- package/dist/src/utils/auth-helpers.js.map +0 -1
- package/dist/src/utils/auto-install.d.ts +0 -47
- package/dist/src/utils/auto-install.d.ts.map +0 -1
- package/dist/src/utils/auto-install.js +0 -211
- package/dist/src/utils/auto-install.js.map +0 -1
- package/dist/src/utils/claude-cli-detector.d.ts +0 -75
- package/dist/src/utils/claude-cli-detector.d.ts.map +0 -1
- package/dist/src/utils/claude-cli-detector.js +0 -285
- package/dist/src/utils/claude-cli-detector.js.map +0 -1
- package/dist/src/utils/cost-reporter.d.ts +0 -58
- package/dist/src/utils/cost-reporter.d.ts.map +0 -1
- package/dist/src/utils/cost-reporter.js +0 -224
- package/dist/src/utils/cost-reporter.js.map +0 -1
- package/dist/src/utils/docs-preview/config-generator.d.ts +0 -46
- package/dist/src/utils/docs-preview/config-generator.d.ts.map +0 -1
- package/dist/src/utils/docs-preview/config-generator.js +0 -377
- package/dist/src/utils/docs-preview/config-generator.js.map +0 -1
- package/dist/src/utils/docs-preview/docusaurus-setup.d.ts +0 -38
- package/dist/src/utils/docs-preview/docusaurus-setup.d.ts.map +0 -1
- package/dist/src/utils/docs-preview/docusaurus-setup.js +0 -177
- package/dist/src/utils/docs-preview/docusaurus-setup.js.map +0 -1
- package/dist/src/utils/docs-preview/index.d.ts +0 -7
- package/dist/src/utils/docs-preview/index.d.ts.map +0 -1
- package/dist/src/utils/docs-preview/index.js +0 -7
- package/dist/src/utils/docs-preview/index.js.map +0 -1
- package/dist/src/utils/docs-preview/package-installer.d.ts +0 -42
- package/dist/src/utils/docs-preview/package-installer.d.ts.map +0 -1
- package/dist/src/utils/docs-preview/package-installer.js +0 -182
- package/dist/src/utils/docs-preview/package-installer.js.map +0 -1
- package/dist/src/utils/docs-preview/server-manager.d.ts +0 -30
- package/dist/src/utils/docs-preview/server-manager.d.ts.map +0 -1
- package/dist/src/utils/docs-preview/server-manager.js +0 -212
- package/dist/src/utils/docs-preview/server-manager.js.map +0 -1
- package/dist/src/utils/docs-preview/sidebar-builder.d.ts +0 -32
- package/dist/src/utils/docs-preview/sidebar-builder.d.ts.map +0 -1
- package/dist/src/utils/docs-preview/sidebar-builder.js +0 -202
- package/dist/src/utils/docs-preview/sidebar-builder.js.map +0 -1
- package/dist/src/utils/docs-preview/types.d.ts +0 -57
- package/dist/src/utils/docs-preview/types.d.ts.map +0 -1
- package/dist/src/utils/docs-preview/types.js +0 -2
- package/dist/src/utils/docs-preview/types.js.map +0 -1
- package/dist/src/utils/env-file.d.ts +0 -88
- package/dist/src/utils/env-file.d.ts.map +0 -1
- package/dist/src/utils/env-file.js +0 -180
- package/dist/src/utils/env-file.js.map +0 -1
- package/dist/src/utils/env-multi-project-parser.d.ts +0 -220
- package/dist/src/utils/env-multi-project-parser.d.ts.map +0 -1
- package/dist/src/utils/env-multi-project-parser.js +0 -403
- package/dist/src/utils/env-multi-project-parser.js.map +0 -1
- package/dist/src/utils/esm-helpers.d.ts +0 -50
- package/dist/src/utils/esm-helpers.d.ts.map +0 -1
- package/dist/src/utils/esm-helpers.js +0 -57
- package/dist/src/utils/esm-helpers.js.map +0 -1
- package/dist/src/utils/execFileNoThrow.d.ts +0 -99
- package/dist/src/utils/execFileNoThrow.d.ts.map +0 -1
- package/dist/src/utils/execFileNoThrow.js +0 -137
- package/dist/src/utils/execFileNoThrow.js.map +0 -1
- package/dist/src/utils/external-resource-validator.d.ts +0 -102
- package/dist/src/utils/external-resource-validator.d.ts.map +0 -1
- package/dist/src/utils/external-resource-validator.js +0 -400
- package/dist/src/utils/external-resource-validator.js.map +0 -1
- package/dist/src/utils/generate-skills-index.d.ts +0 -24
- package/dist/src/utils/generate-skills-index.d.ts.map +0 -1
- package/dist/src/utils/generate-skills-index.js +0 -410
- package/dist/src/utils/generate-skills-index.js.map +0 -1
- package/dist/src/utils/model-selection.d.ts +0 -75
- package/dist/src/utils/model-selection.d.ts.map +0 -1
- package/dist/src/utils/model-selection.js +0 -204
- package/dist/src/utils/model-selection.js.map +0 -1
- package/dist/src/utils/plugin-validator.d.ts +0 -161
- package/dist/src/utils/plugin-validator.d.ts.map +0 -1
- package/dist/src/utils/plugin-validator.js +0 -558
- package/dist/src/utils/plugin-validator.js.map +0 -1
- package/dist/src/utils/pricing-constants.d.ts +0 -70
- package/dist/src/utils/pricing-constants.d.ts.map +0 -1
- package/dist/src/utils/pricing-constants.js +0 -71
- package/dist/src/utils/pricing-constants.js.map +0 -1
- package/dist/src/utils/project-detection.d.ts +0 -141
- package/dist/src/utils/project-detection.d.ts.map +0 -1
- package/dist/src/utils/project-detection.js +0 -321
- package/dist/src/utils/project-detection.js.map +0 -1
- package/dist/src/utils/string-utils.d.ts +0 -40
- package/dist/src/utils/string-utils.d.ts.map +0 -1
- package/dist/src/utils/string-utils.js +0 -58
- package/dist/src/utils/string-utils.js.map +0 -1
- package/dist/src/utils/translation.d.ts +0 -187
- package/dist/src/utils/translation.d.ts.map +0 -1
- package/dist/src/utils/translation.js +0 -414
- package/dist/src/utils/translation.js.map +0 -1
- package/dist/utils/docs-preview.bak/config-generator.d.ts +0 -46
- package/dist/utils/docs-preview.bak/config-generator.d.ts.map +0 -1
- package/dist/utils/docs-preview.bak/config-generator.js +0 -377
- package/dist/utils/docs-preview.bak/config-generator.js.map +0 -1
- package/dist/utils/docs-preview.bak/package-installer.d.ts +0 -42
- package/dist/utils/docs-preview.bak/package-installer.d.ts.map +0 -1
- package/dist/utils/docs-preview.bak/package-installer.js +0 -182
- package/dist/utils/docs-preview.bak/package-installer.js.map +0 -1
- package/dist/utils/docs-preview.bak/server-manager.d.ts +0 -30
- package/dist/utils/docs-preview.bak/server-manager.d.ts.map +0 -1
- package/dist/utils/docs-preview.bak/server-manager.js +0 -207
- package/dist/utils/docs-preview.bak/server-manager.js.map +0 -1
- package/dist/utils/docs-preview.bak/sidebar-builder.d.ts +0 -31
- package/dist/utils/docs-preview.bak/sidebar-builder.d.ts.map +0 -1
- package/dist/utils/docs-preview.bak/sidebar-builder.js +0 -202
- package/dist/utils/docs-preview.bak/sidebar-builder.js.map +0 -1
- package/dist/utils/docs-preview.bak/types.d.ts +0 -60
- package/dist/utils/docs-preview.bak/types.d.ts.map +0 -1
- package/dist/utils/docs-preview.bak/types.js +0 -5
- package/dist/utils/docs-preview.bak/types.js.map +0 -1
- package/dist/utils/plugin-detection.d.ts +0 -50
- package/dist/utils/plugin-detection.d.ts.map +0 -1
- package/dist/utils/secrets-loader.d.ts +0 -88
- package/dist/utils/secrets-loader.d.ts.map +0 -1
- package/dist/utils/secrets-loader.js +0 -271
- package/dist/utils/secrets-loader.js.map +0 -1
- package/src/templates/environments/minimal/.env.production +0 -16
- package/src/templates/environments/standard/.env.production +0 -30
|
@@ -1,524 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ProjectManager - Multi-project support for SpecWeave
|
|
3
|
-
*
|
|
4
|
-
* Handles project context, path resolution, and project switching.
|
|
5
|
-
* Key principle: Single project = multi-project with 1 project (no special cases)
|
|
6
|
-
*/
|
|
7
|
-
import path from 'path';
|
|
8
|
-
import fs from 'fs-extra';
|
|
9
|
-
import { ConfigManager } from './config-manager';
|
|
10
|
-
import { autoDetectProjectIdSync, formatProjectName } from '../utils/project-detection';
|
|
11
|
-
export class ProjectManager {
|
|
12
|
-
constructor(projectRoot) {
|
|
13
|
-
this.cachedProject = null;
|
|
14
|
-
this.projectRoot = projectRoot;
|
|
15
|
-
this.configManager = new ConfigManager(projectRoot);
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Get current active project
|
|
19
|
-
* Auto-detects project ID from git remote or sync config
|
|
20
|
-
*
|
|
21
|
-
* @returns ProjectContext
|
|
22
|
-
*/
|
|
23
|
-
getActiveProject() {
|
|
24
|
-
// Return cached project if available
|
|
25
|
-
if (this.cachedProject) {
|
|
26
|
-
return this.cachedProject;
|
|
27
|
-
}
|
|
28
|
-
const config = this.configManager.load();
|
|
29
|
-
// Single project mode → return auto-detected project
|
|
30
|
-
if (!config.multiProject?.enabled) {
|
|
31
|
-
// Auto-detect project ID (git remote, sync config, or "default")
|
|
32
|
-
const projectId = autoDetectProjectIdSync(this.projectRoot, { silent: true });
|
|
33
|
-
this.cachedProject = {
|
|
34
|
-
id: projectId,
|
|
35
|
-
name: config.project?.name || formatProjectName(projectId),
|
|
36
|
-
description: config.project?.description || `${formatProjectName(projectId)} project`,
|
|
37
|
-
techStack: config.project?.techStack || [],
|
|
38
|
-
team: config.project?.team || 'Engineering Team'
|
|
39
|
-
};
|
|
40
|
-
return this.cachedProject;
|
|
41
|
-
}
|
|
42
|
-
// Multi-project mode → return active project
|
|
43
|
-
const activeProjectId = config.multiProject.activeProject;
|
|
44
|
-
if (!activeProjectId) {
|
|
45
|
-
throw new Error('Multi-project mode enabled but no active project set in config');
|
|
46
|
-
}
|
|
47
|
-
const project = config.multiProject.projects.find((p) => p.id === activeProjectId);
|
|
48
|
-
if (!project) {
|
|
49
|
-
throw new Error(`Active project '${activeProjectId}' not found in config. Available projects: ${config.multiProject.projects.map((p) => p.id).join(', ')}`);
|
|
50
|
-
}
|
|
51
|
-
this.cachedProject = project;
|
|
52
|
-
return project;
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Get all projects
|
|
56
|
-
*
|
|
57
|
-
* @returns ProjectContext[]
|
|
58
|
-
*/
|
|
59
|
-
getAllProjects() {
|
|
60
|
-
const config = this.configManager.load();
|
|
61
|
-
if (!config.multiProject?.enabled) {
|
|
62
|
-
// Auto-detect project ID for single project mode
|
|
63
|
-
const projectId = autoDetectProjectIdSync(this.projectRoot, { silent: true });
|
|
64
|
-
return [{
|
|
65
|
-
id: projectId,
|
|
66
|
-
name: config.project?.name || formatProjectName(projectId),
|
|
67
|
-
description: config.project?.description || `${formatProjectName(projectId)} project`,
|
|
68
|
-
techStack: config.project?.techStack || [],
|
|
69
|
-
team: config.project?.team || 'Engineering Team'
|
|
70
|
-
}];
|
|
71
|
-
}
|
|
72
|
-
return config.multiProject.projects;
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Get project by ID
|
|
76
|
-
*
|
|
77
|
-
* @param projectId - Project identifier
|
|
78
|
-
* @returns ProjectContext or null
|
|
79
|
-
*/
|
|
80
|
-
getProjectById(projectId) {
|
|
81
|
-
const projects = this.getAllProjects();
|
|
82
|
-
return projects.find(p => p.id === projectId) || null;
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Get base path for active project
|
|
86
|
-
* Example: .specweave/docs/internal/projects/default/
|
|
87
|
-
*
|
|
88
|
-
* @returns string
|
|
89
|
-
*/
|
|
90
|
-
getProjectBasePath(projectId) {
|
|
91
|
-
const project = projectId ? this.getProjectById(projectId) : this.getActiveProject();
|
|
92
|
-
if (!project) {
|
|
93
|
-
throw new Error(`Project '${projectId}' not found`);
|
|
94
|
-
}
|
|
95
|
-
return path.join(this.projectRoot, '.specweave/docs/internal/projects', project.id);
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* Get specs path for active project
|
|
99
|
-
* Example: .specweave/docs/internal/projects/default/specs/
|
|
100
|
-
*
|
|
101
|
-
* @returns string
|
|
102
|
-
*/
|
|
103
|
-
getSpecsPath(projectId) {
|
|
104
|
-
return path.join(this.getProjectBasePath(projectId), 'specs');
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* Get modules path for active project
|
|
108
|
-
* Example: .specweave/docs/internal/projects/default/modules/
|
|
109
|
-
*
|
|
110
|
-
* @returns string
|
|
111
|
-
*/
|
|
112
|
-
getModulesPath(projectId) {
|
|
113
|
-
return path.join(this.getProjectBasePath(projectId), 'modules');
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* Get team docs path for active project
|
|
117
|
-
* Example: .specweave/docs/internal/projects/default/team/
|
|
118
|
-
*
|
|
119
|
-
* @returns string
|
|
120
|
-
*/
|
|
121
|
-
getTeamPath(projectId) {
|
|
122
|
-
return path.join(this.getProjectBasePath(projectId), 'team');
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* Get architecture path for active project
|
|
126
|
-
* Example: .specweave/docs/internal/projects/default/architecture/
|
|
127
|
-
*
|
|
128
|
-
* @returns string
|
|
129
|
-
*/
|
|
130
|
-
getArchitecturePath(projectId) {
|
|
131
|
-
return path.join(this.getProjectBasePath(projectId), 'architecture');
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* Get legacy docs path for active project
|
|
135
|
-
* Example: .specweave/docs/internal/projects/default/legacy/
|
|
136
|
-
* Or with source: .specweave/docs/internal/projects/default/legacy/notion/
|
|
137
|
-
*
|
|
138
|
-
* @param source - Optional source type (notion, confluence, wiki, custom)
|
|
139
|
-
* @returns string
|
|
140
|
-
*/
|
|
141
|
-
getLegacyPath(source, projectId) {
|
|
142
|
-
const basePath = path.join(this.getProjectBasePath(projectId), 'legacy');
|
|
143
|
-
return source ? path.join(basePath, source) : basePath;
|
|
144
|
-
}
|
|
145
|
-
/**
|
|
146
|
-
* Switch active project
|
|
147
|
-
*
|
|
148
|
-
* @param projectId - Project identifier
|
|
149
|
-
*/
|
|
150
|
-
async switchProject(projectId) {
|
|
151
|
-
const config = this.configManager.load();
|
|
152
|
-
if (!config.multiProject?.enabled) {
|
|
153
|
-
throw new Error('Multi-project mode not enabled. Run /specweave:init-multiproject first.');
|
|
154
|
-
}
|
|
155
|
-
const project = config.multiProject.projects.find((p) => p.id === projectId);
|
|
156
|
-
if (!project) {
|
|
157
|
-
const availableProjects = config.multiProject.projects.map((p) => p.id).join(', ');
|
|
158
|
-
throw new Error(`Project '${projectId}' not found. Available projects: ${availableProjects}`);
|
|
159
|
-
}
|
|
160
|
-
// Update config
|
|
161
|
-
config.multiProject.activeProject = projectId;
|
|
162
|
-
await this.configManager.save(config);
|
|
163
|
-
// Clear cache
|
|
164
|
-
this.cachedProject = null;
|
|
165
|
-
console.log(`✅ Switched to project: ${project.name} (${projectId})`);
|
|
166
|
-
}
|
|
167
|
-
/**
|
|
168
|
-
* Create project structure with all folders
|
|
169
|
-
*
|
|
170
|
-
* @param projectId - Project identifier
|
|
171
|
-
*/
|
|
172
|
-
async createProjectStructure(projectId) {
|
|
173
|
-
const basePath = this.getProjectBasePath(projectId);
|
|
174
|
-
// Create folders
|
|
175
|
-
await fs.ensureDir(path.join(basePath, 'specs'));
|
|
176
|
-
await fs.ensureDir(path.join(basePath, 'modules'));
|
|
177
|
-
await fs.ensureDir(path.join(basePath, 'team'));
|
|
178
|
-
await fs.ensureDir(path.join(basePath, 'architecture/adr'));
|
|
179
|
-
await fs.ensureDir(path.join(basePath, 'legacy'));
|
|
180
|
-
// Create README files
|
|
181
|
-
const project = this.getProjectById(projectId);
|
|
182
|
-
if (project) {
|
|
183
|
-
await this.createProjectREADME(project, basePath);
|
|
184
|
-
await this.createModulesREADME(basePath);
|
|
185
|
-
await this.createTeamREADME(basePath);
|
|
186
|
-
await this.createArchitectureREADME(basePath);
|
|
187
|
-
await this.createLegacyREADME(basePath);
|
|
188
|
-
}
|
|
189
|
-
console.log(`📁 Created project structure: ${basePath}`);
|
|
190
|
-
}
|
|
191
|
-
/**
|
|
192
|
-
* Add new project to config
|
|
193
|
-
*
|
|
194
|
-
* @param project - Project context
|
|
195
|
-
*/
|
|
196
|
-
async addProject(project) {
|
|
197
|
-
const config = this.configManager.load();
|
|
198
|
-
// Initialize multiProject if not present
|
|
199
|
-
if (!config.multiProject) {
|
|
200
|
-
config.multiProject = {
|
|
201
|
-
enabled: false,
|
|
202
|
-
activeProject: 'default',
|
|
203
|
-
projects: []
|
|
204
|
-
};
|
|
205
|
-
}
|
|
206
|
-
// Check for duplicate ID
|
|
207
|
-
const existingProject = config.multiProject.projects.find((p) => p.id === project.id);
|
|
208
|
-
if (existingProject) {
|
|
209
|
-
throw new Error(`Project with ID '${project.id}' already exists`);
|
|
210
|
-
}
|
|
211
|
-
// Validate project ID (kebab-case)
|
|
212
|
-
const kebabCaseRegex = /^[a-z0-9-]+$/;
|
|
213
|
-
if (!kebabCaseRegex.test(project.id)) {
|
|
214
|
-
throw new Error(`Project ID '${project.id}' is invalid. Must be kebab-case (lowercase, hyphens only)`);
|
|
215
|
-
}
|
|
216
|
-
// Add project
|
|
217
|
-
config.multiProject.projects.push(project);
|
|
218
|
-
await this.configManager.save(config);
|
|
219
|
-
// Create structure
|
|
220
|
-
await this.createProjectStructure(project.id);
|
|
221
|
-
console.log(`✅ Added project: ${project.name} (${project.id})`);
|
|
222
|
-
}
|
|
223
|
-
/**
|
|
224
|
-
* Remove project from config
|
|
225
|
-
*
|
|
226
|
-
* @param projectId - Project identifier
|
|
227
|
-
*/
|
|
228
|
-
async removeProject(projectId) {
|
|
229
|
-
const config = this.configManager.load();
|
|
230
|
-
if (!config.multiProject?.enabled) {
|
|
231
|
-
throw new Error('Multi-project mode not enabled');
|
|
232
|
-
}
|
|
233
|
-
if (projectId === 'default') {
|
|
234
|
-
throw new Error('Cannot remove default project');
|
|
235
|
-
}
|
|
236
|
-
if (config.multiProject.activeProject === projectId) {
|
|
237
|
-
throw new Error('Cannot remove active project. Switch to another project first.');
|
|
238
|
-
}
|
|
239
|
-
const projectIndex = config.multiProject.projects.findIndex((p) => p.id === projectId);
|
|
240
|
-
if (projectIndex === -1) {
|
|
241
|
-
throw new Error(`Project '${projectId}' not found`);
|
|
242
|
-
}
|
|
243
|
-
// Remove from config
|
|
244
|
-
config.multiProject.projects.splice(projectIndex, 1);
|
|
245
|
-
await this.configManager.save(config);
|
|
246
|
-
console.log(`✅ Removed project: ${projectId}`);
|
|
247
|
-
console.log('⚠️ Project files not deleted. Remove manually if needed.');
|
|
248
|
-
}
|
|
249
|
-
/**
|
|
250
|
-
* Clear cached project (force reload)
|
|
251
|
-
*/
|
|
252
|
-
clearCache() {
|
|
253
|
-
this.cachedProject = null;
|
|
254
|
-
}
|
|
255
|
-
// README creation methods
|
|
256
|
-
async createProjectREADME(project, basePath) {
|
|
257
|
-
const content = `# ${project.name}
|
|
258
|
-
|
|
259
|
-
${project.description}
|
|
260
|
-
|
|
261
|
-
## Project Information
|
|
262
|
-
|
|
263
|
-
- **Team**: ${project.team}
|
|
264
|
-
- **Tech Stack**: ${project.techStack.length > 0 ? project.techStack.join(', ') : 'Not specified'}
|
|
265
|
-
${project.contacts?.lead ? `- **Tech Lead**: ${project.contacts.lead}` : ''}
|
|
266
|
-
${project.contacts?.pm ? `- **Product Manager**: ${project.contacts.pm}` : ''}
|
|
267
|
-
|
|
268
|
-
## Folder Structure
|
|
269
|
-
|
|
270
|
-
- \`specs/\` - Living documentation specs (spec-001, spec-002, ...)
|
|
271
|
-
- \`modules/\` - Module-level documentation (auth, payments, etc.)
|
|
272
|
-
- \`team/\` - Team playbooks (onboarding, conventions, workflows)
|
|
273
|
-
- \`architecture/\` - Project-specific architecture (optional)
|
|
274
|
-
- \`legacy/\` - Brownfield imported documentation
|
|
275
|
-
|
|
276
|
-
## Documentation
|
|
277
|
-
|
|
278
|
-
### Specs
|
|
279
|
-
Living documentation for features and requirements. Each spec follows the format:
|
|
280
|
-
- \`spec-NNN-feature-name.md\`
|
|
281
|
-
|
|
282
|
-
### Modules
|
|
283
|
-
Module-level documentation for components, services, and domains. Examples:
|
|
284
|
-
- \`auth-module.md\` - Authentication domain
|
|
285
|
-
- \`payment-module.md\` - Payment processing
|
|
286
|
-
- \`ml-pipeline-module.md\` - Machine learning pipeline
|
|
287
|
-
|
|
288
|
-
### Team Playbooks
|
|
289
|
-
Team-specific conventions, workflows, and processes:
|
|
290
|
-
- \`onboarding.md\` - How to join this team
|
|
291
|
-
- \`conventions.md\` - Coding conventions, naming standards
|
|
292
|
-
- \`workflows.md\` - PR process, deployment, incident handling
|
|
293
|
-
|
|
294
|
-
## External Sync
|
|
295
|
-
|
|
296
|
-
${project.syncProfiles && project.syncProfiles.length > 0 ?
|
|
297
|
-
`This project syncs with external tools:
|
|
298
|
-
${project.syncProfiles.map(profile => `- ${profile}`).join('\n')}` :
|
|
299
|
-
'No external sync profiles configured yet.'}
|
|
300
|
-
|
|
301
|
-
---
|
|
302
|
-
|
|
303
|
-
**Created**: ${new Date().toISOString().split('T')[0]}
|
|
304
|
-
**Last Updated**: ${new Date().toISOString().split('T')[0]}
|
|
305
|
-
`;
|
|
306
|
-
await fs.writeFile(path.join(basePath, 'README.md'), content);
|
|
307
|
-
}
|
|
308
|
-
async createModulesREADME(basePath) {
|
|
309
|
-
const content = `# Module Documentation
|
|
310
|
-
|
|
311
|
-
Module-level documentation for components, services, and domains.
|
|
312
|
-
|
|
313
|
-
## What Goes Here
|
|
314
|
-
|
|
315
|
-
- **Module architecture** - How the module is structured
|
|
316
|
-
- **Key components** - Main classes, services, controllers
|
|
317
|
-
- **Integration points** - How it connects to other modules
|
|
318
|
-
- **Security considerations** - Auth, permissions, data handling
|
|
319
|
-
- **Performance notes** - Caching, optimization, scalability
|
|
320
|
-
|
|
321
|
-
## Module Examples
|
|
322
|
-
|
|
323
|
-
### Example: \`auth-module.md\`
|
|
324
|
-
|
|
325
|
-
\`\`\`markdown
|
|
326
|
-
# Authentication Module
|
|
327
|
-
|
|
328
|
-
## Overview
|
|
329
|
-
Handles user authentication, session management, OAuth2 integration.
|
|
330
|
-
|
|
331
|
-
## Architecture
|
|
332
|
-
- AuthService.ts - Core authentication logic
|
|
333
|
-
- SessionManager.ts - Session persistence
|
|
334
|
-
- OAuth2Provider.ts - OAuth2 integration
|
|
335
|
-
|
|
336
|
-
## Integration Points
|
|
337
|
-
- Uses Redis for session storage
|
|
338
|
-
- Integrates with user-service for profile data
|
|
339
|
-
- Publishes auth events to message bus
|
|
340
|
-
|
|
341
|
-
## Security Considerations
|
|
342
|
-
- All passwords hashed with bcrypt (cost: 12)
|
|
343
|
-
- JWT tokens expire after 15 minutes
|
|
344
|
-
- Refresh tokens expire after 7 days
|
|
345
|
-
\`\`\`
|
|
346
|
-
|
|
347
|
-
## When to Create Module Docs
|
|
348
|
-
|
|
349
|
-
- **Large codebase** with distinct modules (auth, payments, notifications)
|
|
350
|
-
- **Domain-specific knowledge** (payment processing, ML pipeline)
|
|
351
|
-
- **Design system components** (button, modal, form)
|
|
352
|
-
- **Microservices** with complex interactions
|
|
353
|
-
|
|
354
|
-
## Module vs Architecture Docs
|
|
355
|
-
|
|
356
|
-
| Aspect | Module Docs | Architecture Docs |
|
|
357
|
-
|--------|-------------|-------------------|
|
|
358
|
-
| **Scope** | Component-level | System-level |
|
|
359
|
-
| **Location** | \`projects/{id}/modules/\` | \`architecture/\` (shared) or \`projects/{id}/architecture/\` (project-specific) |
|
|
360
|
-
| **Audience** | Developers working on module | All technical stakeholders |
|
|
361
|
-
| **Examples** | auth-module.md, payment-module.md | HLD, ADR, system diagrams |
|
|
362
|
-
|
|
363
|
-
---
|
|
364
|
-
|
|
365
|
-
**See**: [../README.md](../README.md) for project overview
|
|
366
|
-
`;
|
|
367
|
-
await fs.writeFile(path.join(basePath, 'modules', 'README.md'), content);
|
|
368
|
-
}
|
|
369
|
-
async createTeamREADME(basePath) {
|
|
370
|
-
const content = `# Team Playbook
|
|
371
|
-
|
|
372
|
-
Team-specific conventions, workflows, and processes.
|
|
373
|
-
|
|
374
|
-
## What Goes Here
|
|
375
|
-
|
|
376
|
-
- **Onboarding** - How to join this team
|
|
377
|
-
- **Conventions** - Coding conventions, naming standards
|
|
378
|
-
- **Workflows** - PR process, deployment, incident handling
|
|
379
|
-
- **Contacts** - Team members, on-call rotation
|
|
380
|
-
|
|
381
|
-
## Typical Team Docs
|
|
382
|
-
|
|
383
|
-
### 1. \`onboarding.md\`
|
|
384
|
-
- Development environment setup
|
|
385
|
-
- Required accounts and permissions
|
|
386
|
-
- Codebase walkthrough
|
|
387
|
-
- First tasks for new team members
|
|
388
|
-
|
|
389
|
-
### 2. \`conventions.md\`
|
|
390
|
-
- Naming conventions (files, functions, variables)
|
|
391
|
-
- Code patterns and best practices
|
|
392
|
-
- Tech stack preferences
|
|
393
|
-
- Testing approach
|
|
394
|
-
|
|
395
|
-
### 3. \`workflows.md\`
|
|
396
|
-
- Git workflow and branching strategy
|
|
397
|
-
- PR review process
|
|
398
|
-
- Deployment procedures
|
|
399
|
-
- Incident response
|
|
400
|
-
|
|
401
|
-
### 4. \`contacts.md\`
|
|
402
|
-
- Team members and roles
|
|
403
|
-
- On-call rotation
|
|
404
|
-
- Escalation paths
|
|
405
|
-
|
|
406
|
-
## Example: \`conventions.md\`
|
|
407
|
-
|
|
408
|
-
\`\`\`markdown
|
|
409
|
-
# Team Conventions
|
|
410
|
-
|
|
411
|
-
## Naming Conventions
|
|
412
|
-
- React components: PascalCase (UserProfile.tsx)
|
|
413
|
-
- Hooks: camelCase with "use" prefix (useAuth.ts)
|
|
414
|
-
- Test files: *.test.ts (not *.spec.ts)
|
|
415
|
-
|
|
416
|
-
## Code Patterns
|
|
417
|
-
- Always use TypeScript strict mode
|
|
418
|
-
- Prefer functional components over class components
|
|
419
|
-
- Use React Query for API calls (not Redux)
|
|
420
|
-
|
|
421
|
-
## Tech Stack
|
|
422
|
-
- Frontend: React 18, TypeScript, Tailwind CSS
|
|
423
|
-
- Backend: Node.js, Express, PostgreSQL
|
|
424
|
-
- Testing: Vitest, Playwright
|
|
425
|
-
\`\`\`
|
|
426
|
-
|
|
427
|
-
---
|
|
428
|
-
|
|
429
|
-
**See**: [../README.md](../README.md) for project overview
|
|
430
|
-
`;
|
|
431
|
-
await fs.writeFile(path.join(basePath, 'team', 'README.md'), content);
|
|
432
|
-
}
|
|
433
|
-
async createArchitectureREADME(basePath) {
|
|
434
|
-
const content = `# Project-Specific Architecture
|
|
435
|
-
|
|
436
|
-
Project-specific architecture documentation and ADRs.
|
|
437
|
-
|
|
438
|
-
## When to Use This vs Shared Architecture
|
|
439
|
-
|
|
440
|
-
### Project-Specific Architecture (\`projects/{id}/architecture/\`)
|
|
441
|
-
- Decisions specific to this project/team
|
|
442
|
-
- Component-level design
|
|
443
|
-
- Project-specific ADRs
|
|
444
|
-
|
|
445
|
-
### Shared Architecture (\`.specweave/docs/internal/architecture/\`)
|
|
446
|
-
- System-wide architecture
|
|
447
|
-
- Cross-cutting concerns
|
|
448
|
-
- Shared ADRs affecting all projects
|
|
449
|
-
|
|
450
|
-
## ADR Naming Convention
|
|
451
|
-
|
|
452
|
-
\`NNNN-decision-title.md\`
|
|
453
|
-
|
|
454
|
-
Example: \`0001-use-postgres-for-user-data.md\`
|
|
455
|
-
|
|
456
|
-
## ADR Template
|
|
457
|
-
|
|
458
|
-
\`\`\`markdown
|
|
459
|
-
# ADR-NNNN: Decision Title
|
|
460
|
-
|
|
461
|
-
**Status**: Accepted | Proposed | Deprecated
|
|
462
|
-
**Date**: YYYY-MM-DD
|
|
463
|
-
**Deciders**: Who made this decision
|
|
464
|
-
|
|
465
|
-
## Context
|
|
466
|
-
What is the issue we're addressing?
|
|
467
|
-
|
|
468
|
-
## Decision
|
|
469
|
-
What decision did we make?
|
|
470
|
-
|
|
471
|
-
## Consequences
|
|
472
|
-
What are the trade-offs?
|
|
473
|
-
- ✅ Positive consequences
|
|
474
|
-
- ❌ Negative consequences
|
|
475
|
-
|
|
476
|
-
## Alternatives Considered
|
|
477
|
-
What other options did we evaluate?
|
|
478
|
-
\`\`\`
|
|
479
|
-
|
|
480
|
-
---
|
|
481
|
-
|
|
482
|
-
**See**: [../README.md](../README.md) for project overview
|
|
483
|
-
`;
|
|
484
|
-
await fs.writeFile(path.join(basePath, 'architecture', 'README.md'), content);
|
|
485
|
-
}
|
|
486
|
-
async createLegacyREADME(basePath) {
|
|
487
|
-
const content = `# Legacy Documentation
|
|
488
|
-
|
|
489
|
-
Brownfield documentation imported from external sources.
|
|
490
|
-
|
|
491
|
-
## Purpose
|
|
492
|
-
|
|
493
|
-
This folder contains documentation imported from:
|
|
494
|
-
- Notion exports
|
|
495
|
-
- Confluence exports
|
|
496
|
-
- GitHub Wiki
|
|
497
|
-
- Other markdown sources
|
|
498
|
-
|
|
499
|
-
## Organization
|
|
500
|
-
|
|
501
|
-
- \`notion/\` - Imported from Notion workspace
|
|
502
|
-
- \`confluence/\` - Imported from Confluence space
|
|
503
|
-
- \`wiki/\` - Imported from GitHub Wiki or other wikis
|
|
504
|
-
- \`custom/\` - Other imported documentation
|
|
505
|
-
|
|
506
|
-
## Migration Strategy
|
|
507
|
-
|
|
508
|
-
1. **Review imported files** for accuracy
|
|
509
|
-
2. **Manually move misclassified files** if needed
|
|
510
|
-
3. **Update spec numbers** to follow SpecWeave conventions
|
|
511
|
-
4. **Delete this folder** when migration is complete
|
|
512
|
-
|
|
513
|
-
## Import History
|
|
514
|
-
|
|
515
|
-
See \`.specweave/config.json\` → \`brownfield.importHistory\` for import details.
|
|
516
|
-
|
|
517
|
-
---
|
|
518
|
-
|
|
519
|
-
**See**: [../README.md](../README.md) for project overview
|
|
520
|
-
`;
|
|
521
|
-
await fs.writeFile(path.join(basePath, 'legacy', 'README.md'), content);
|
|
522
|
-
}
|
|
523
|
-
}
|
|
524
|
-
//# sourceMappingURL=project-manager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"project-manager.js","sourceRoot":"","sources":["../../../src/core/project-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Project Structure Detector
|
|
3
|
-
*
|
|
4
|
-
* Automatically detects project management structure from:
|
|
5
|
-
* - Existing increments and work items
|
|
6
|
-
* - Source system metadata (Jira, ADO, GitHub)
|
|
7
|
-
* - Environment variables
|
|
8
|
-
*
|
|
9
|
-
* Supports various hierarchies:
|
|
10
|
-
* - Jira: Epic → Story → Sub-task
|
|
11
|
-
* - ADO: Epic → Feature → User Story → Task
|
|
12
|
-
* - GitHub: Milestone → Issue (or flat Issues)
|
|
13
|
-
* - Custom: Detected from patterns
|
|
14
|
-
*/
|
|
15
|
-
/**
|
|
16
|
-
* Hierarchy levels:
|
|
17
|
-
* - FLAT: No hierarchy (GitHub issues, flat ADO)
|
|
18
|
-
* - SINGLE_PARENT: Milestone/Feature → Items
|
|
19
|
-
* - TWO_LEVEL: Epic → Stories → Tasks
|
|
20
|
-
* - THREE_LEVEL: Initiative → Epic → Feature → Stories
|
|
21
|
-
*/
|
|
22
|
-
export type HierarchyLevel = 'flat' | 'single_parent' | 'two_level' | 'three_level';
|
|
23
|
-
/**
|
|
24
|
-
* Work item types vary by system
|
|
25
|
-
*/
|
|
26
|
-
export interface WorkItemTypes {
|
|
27
|
-
topLevel?: string;
|
|
28
|
-
parentLevel?: string;
|
|
29
|
-
itemLevel: string;
|
|
30
|
-
subItemLevel?: string;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Grouping strategy for RFC organization
|
|
34
|
-
*/
|
|
35
|
-
export type GroupingStrategy = 'by_type' | 'by_parent' | 'by_priority' | 'by_label' | 'flat' | 'custom';
|
|
36
|
-
/**
|
|
37
|
-
* Project structure configuration
|
|
38
|
-
*/
|
|
39
|
-
export interface ProjectStructure {
|
|
40
|
-
source: 'jira' | 'ado' | 'github' | 'manual';
|
|
41
|
-
hierarchyLevel: HierarchyLevel;
|
|
42
|
-
workItemTypes: WorkItemTypes;
|
|
43
|
-
groupingStrategy: GroupingStrategy;
|
|
44
|
-
customGrouping?: (items: any[]) => Record<string, any[]>;
|
|
45
|
-
epicFieldName?: string;
|
|
46
|
-
featureFieldName?: string;
|
|
47
|
-
milestoneFieldName?: string;
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Detected structure from analysis
|
|
51
|
-
*/
|
|
52
|
-
export interface DetectedStructure {
|
|
53
|
-
structure: ProjectStructure;
|
|
54
|
-
confidence: number;
|
|
55
|
-
evidence: string[];
|
|
56
|
-
sampleIncrements: string[];
|
|
57
|
-
}
|
|
58
|
-
export declare class ProjectStructureDetector {
|
|
59
|
-
private projectRoot;
|
|
60
|
-
constructor(projectRoot?: string);
|
|
61
|
-
/**
|
|
62
|
-
* Detect project structure with pure auto-detection
|
|
63
|
-
*/
|
|
64
|
-
detectStructure(): Promise<ProjectStructure>;
|
|
65
|
-
/**
|
|
66
|
-
* Auto-detect structure from existing increments
|
|
67
|
-
*/
|
|
68
|
-
private autoDetectStructure;
|
|
69
|
-
/**
|
|
70
|
-
* Analyze increments to detect structure
|
|
71
|
-
*/
|
|
72
|
-
private analyzeIncrements;
|
|
73
|
-
/**
|
|
74
|
-
* Infer work item types from source and hierarchy
|
|
75
|
-
*/
|
|
76
|
-
private inferWorkItemTypes;
|
|
77
|
-
/**
|
|
78
|
-
* Infer grouping strategy from source and hierarchy
|
|
79
|
-
*/
|
|
80
|
-
private inferGroupingStrategy;
|
|
81
|
-
/**
|
|
82
|
-
* Get default structure when no increments exist
|
|
83
|
-
*/
|
|
84
|
-
private getDefaultStructure;
|
|
85
|
-
/**
|
|
86
|
-
* Get structure summary for display
|
|
87
|
-
*/
|
|
88
|
-
getStructureSummary(structure: ProjectStructure): string;
|
|
89
|
-
private getHierarchyDescription;
|
|
90
|
-
private getGroupingDescription;
|
|
91
|
-
}
|
|
92
|
-
//# sourceMappingURL=project-structure-detector.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"project-structure-detector.d.ts","sourceRoot":"","sources":["../../../src/core/project-structure-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,eAAe,GAAG,WAAW,GAAG,aAAa,CAAC;AAEpF;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GACxB,SAAS,GACT,WAAW,GACX,aAAa,GACb,UAAU,GACV,MAAM,GACN,QAAQ,CAAC;AAEb;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC7C,cAAc,EAAE,cAAc,CAAC;IAC/B,aAAa,EAAE,aAAa,CAAC;IAC7B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAGzD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,gBAAgB,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,qBAAa,wBAAwB;IACnC,OAAO,CAAC,WAAW,CAAS;gBAEhB,WAAW,GAAE,MAAsB;IAI/C;;OAEG;IACU,eAAe,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAMzD;;OAEG;YACW,mBAAmB;IA2BjC;;OAEG;YACW,iBAAiB;IA2G/B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAqC1B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAwB7B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAwD3B;;OAEG;IACI,mBAAmB,CAAC,SAAS,EAAE,gBAAgB,GAAG,MAAM;IAO/D,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,sBAAsB;CAY/B"}
|