specweave 0.7.1 β†’ 0.8.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.
Files changed (137) hide show
  1. package/CLAUDE.md +307 -11
  2. package/README.md +41 -3
  3. package/bin/specweave.js +0 -27
  4. package/dist/cli/commands/import-docs.d.ts +21 -0
  5. package/dist/cli/commands/import-docs.d.ts.map +1 -0
  6. package/dist/cli/commands/import-docs.js +146 -0
  7. package/dist/cli/commands/import-docs.js.map +1 -0
  8. package/dist/cli/commands/init-multiproject.d.ts +11 -0
  9. package/dist/cli/commands/init-multiproject.d.ts.map +1 -0
  10. package/dist/cli/commands/init-multiproject.js +202 -0
  11. package/dist/cli/commands/init-multiproject.js.map +1 -0
  12. package/dist/cli/commands/init.d.ts.map +1 -1
  13. package/dist/cli/commands/init.js +4 -93
  14. package/dist/cli/commands/init.js.map +1 -1
  15. package/dist/cli/commands/migrate-to-multiproject.d.ts +37 -0
  16. package/dist/cli/commands/migrate-to-multiproject.d.ts.map +1 -0
  17. package/dist/cli/commands/migrate-to-multiproject.js +189 -0
  18. package/dist/cli/commands/migrate-to-multiproject.js.map +1 -0
  19. package/dist/cli/commands/migrate-to-profiles.d.ts +25 -0
  20. package/dist/cli/commands/migrate-to-profiles.d.ts.map +1 -0
  21. package/dist/cli/commands/migrate-to-profiles.js +350 -0
  22. package/dist/cli/commands/migrate-to-profiles.js.map +1 -0
  23. package/dist/cli/commands/switch-project.d.ts +13 -0
  24. package/dist/cli/commands/switch-project.d.ts.map +1 -0
  25. package/dist/cli/commands/switch-project.js +91 -0
  26. package/dist/cli/commands/switch-project.js.map +1 -0
  27. package/dist/cli/helpers/issue-tracker/index.js +4 -4
  28. package/dist/cli/helpers/issue-tracker/index.js.map +1 -1
  29. package/dist/cli/helpers/issue-tracker/utils.d.ts +6 -3
  30. package/dist/cli/helpers/issue-tracker/utils.d.ts.map +1 -1
  31. package/dist/cli/helpers/issue-tracker/utils.js +9 -7
  32. package/dist/cli/helpers/issue-tracker/utils.js.map +1 -1
  33. package/dist/core/brownfield/analyzer.d.ts +86 -0
  34. package/dist/core/brownfield/analyzer.d.ts.map +1 -0
  35. package/dist/core/brownfield/analyzer.js +365 -0
  36. package/dist/core/brownfield/analyzer.js.map +1 -0
  37. package/dist/core/brownfield/importer.d.ts +76 -0
  38. package/dist/core/brownfield/importer.d.ts.map +1 -0
  39. package/dist/core/brownfield/importer.js +287 -0
  40. package/dist/core/brownfield/importer.js.map +1 -0
  41. package/dist/core/config-manager.d.ts +47 -0
  42. package/dist/core/config-manager.d.ts.map +1 -0
  43. package/dist/core/config-manager.js +136 -0
  44. package/dist/core/config-manager.js.map +1 -0
  45. package/dist/core/project-manager.d.ts +127 -0
  46. package/dist/core/project-manager.d.ts.map +1 -0
  47. package/dist/core/project-manager.js +524 -0
  48. package/dist/core/project-manager.js.map +1 -0
  49. package/dist/core/sync/profile-manager.d.ts +72 -0
  50. package/dist/core/sync/profile-manager.d.ts.map +1 -0
  51. package/dist/core/sync/profile-manager.js +338 -0
  52. package/dist/core/sync/profile-manager.js.map +1 -0
  53. package/dist/core/sync/profile-selector.d.ts +52 -0
  54. package/dist/core/sync/profile-selector.d.ts.map +1 -0
  55. package/dist/core/sync/profile-selector.js +179 -0
  56. package/dist/core/sync/profile-selector.js.map +1 -0
  57. package/dist/core/sync/project-context.d.ts +81 -0
  58. package/dist/core/sync/project-context.d.ts.map +1 -0
  59. package/dist/core/sync/project-context.js +354 -0
  60. package/dist/core/sync/project-context.js.map +1 -0
  61. package/dist/core/sync/rate-limiter.d.ts +116 -0
  62. package/dist/core/sync/rate-limiter.d.ts.map +1 -0
  63. package/dist/core/sync/rate-limiter.js +308 -0
  64. package/dist/core/sync/rate-limiter.js.map +1 -0
  65. package/dist/core/sync/time-range-selector.d.ts +48 -0
  66. package/dist/core/sync/time-range-selector.d.ts.map +1 -0
  67. package/dist/core/sync/time-range-selector.js +224 -0
  68. package/dist/core/sync/time-range-selector.js.map +1 -0
  69. package/dist/core/types/config.d.ts +4 -0
  70. package/dist/core/types/config.d.ts.map +1 -1
  71. package/dist/core/types/config.js.map +1 -1
  72. package/dist/core/types/sync-profile.d.ts +205 -0
  73. package/dist/core/types/sync-profile.d.ts.map +1 -0
  74. package/dist/core/types/sync-profile.js +8 -0
  75. package/dist/core/types/sync-profile.js.map +1 -0
  76. package/dist/utils/project-detection.d.ts +141 -0
  77. package/dist/utils/project-detection.d.ts.map +1 -0
  78. package/dist/utils/project-detection.js +321 -0
  79. package/dist/utils/project-detection.js.map +1 -0
  80. package/package.json +2 -1
  81. package/plugins/specweave/agents/pm/AGENT.md +7 -4
  82. package/plugins/specweave/commands/specweave-abandon.md +17 -17
  83. package/plugins/specweave/commands/specweave-check-tests.md +14 -14
  84. package/plugins/specweave/commands/specweave-costs.md +1 -1
  85. package/plugins/specweave/commands/specweave-do.md +12 -12
  86. package/plugins/specweave/commands/specweave-done.md +28 -15
  87. package/plugins/specweave/commands/specweave-import-docs.md +212 -0
  88. package/plugins/specweave/commands/specweave-increment.md +10 -10
  89. package/plugins/specweave/commands/specweave-init-multiproject.md +146 -0
  90. package/plugins/specweave/commands/specweave-next.md +16 -16
  91. package/plugins/specweave/commands/specweave-pause.md +17 -17
  92. package/plugins/specweave/commands/specweave-progress.md +10 -10
  93. package/plugins/specweave/commands/specweave-qa.md +11 -11
  94. package/plugins/specweave/commands/specweave-resume.md +22 -22
  95. package/plugins/specweave/commands/specweave-status.md +18 -18
  96. package/plugins/specweave/commands/specweave-switch-project.md +168 -0
  97. package/plugins/specweave/commands/specweave-sync-docs.md +1 -1
  98. package/plugins/specweave/commands/specweave-sync-tasks.md +9 -9
  99. package/plugins/specweave/commands/specweave-tdd-cycle.md +7 -0
  100. package/plugins/specweave/commands/specweave-tdd-green.md +7 -0
  101. package/plugins/specweave/commands/specweave-tdd-red.md +7 -0
  102. package/plugins/specweave/commands/specweave-tdd-refactor.md +7 -0
  103. package/plugins/specweave/commands/specweave-translate.md +1 -1
  104. package/plugins/specweave/commands/specweave-update-scope.md +8 -8
  105. package/plugins/specweave/commands/specweave-validate.md +18 -20
  106. package/plugins/specweave/commands/specweave.md +5 -5
  107. package/plugins/specweave/skills/SKILLS-INDEX.md +1 -1
  108. package/plugins/specweave/skills/increment-planner/SKILL.md +40 -4
  109. package/plugins/specweave/skills/increment-quality-judge/SKILL.md +5 -5
  110. package/plugins/specweave/skills/increment-quality-judge-v2/SKILL.md +5 -5
  111. package/plugins/specweave/skills/specweave-detector/SKILL.md +3 -3
  112. package/plugins/specweave-ado/commands/{close-workitem.md β†’ specweave-ado-close-workitem.md} +1 -1
  113. package/plugins/specweave-ado/commands/{create-workitem.md β†’ specweave-ado-create-workitem.md} +1 -1
  114. package/plugins/specweave-ado/commands/{status.md β†’ specweave-ado-status.md} +1 -1
  115. package/plugins/specweave-ado/commands/{sync.md β†’ specweave-ado-sync.md} +1 -1
  116. package/plugins/specweave-ado/lib/ado-client-v2.ts +547 -0
  117. package/plugins/specweave-github/commands/{close-issue.md β†’ specweave-github-close-issue.md} +1 -1
  118. package/plugins/specweave-github/commands/{create-issue.md β†’ specweave-github-create-issue.md} +1 -1
  119. package/plugins/specweave-github/commands/{status.md β†’ specweave-github-status.md} +1 -1
  120. package/plugins/specweave-github/commands/{sync-tasks.md β†’ specweave-github-sync-tasks.md} +1 -1
  121. package/plugins/specweave-github/commands/specweave-github-sync.md +568 -0
  122. package/plugins/specweave-github/lib/github-client-v2.ts +555 -0
  123. package/plugins/specweave-infrastructure/commands/{monitor-setup.md β†’ specweave-infrastructure-monitor-setup.md} +1 -1
  124. package/plugins/specweave-infrastructure/commands/{slo-implement.md β†’ specweave-infrastructure-slo-implement.md} +1 -1
  125. package/plugins/specweave-jira/commands/{sync.md β†’ specweave-jira-sync.md} +1 -1
  126. package/plugins/specweave-jira/lib/jira-client-v2.ts +529 -0
  127. package/plugins/specweave-ml/commands/{ml-deploy.md β†’ specweave-ml-deploy.md} +1 -1
  128. package/plugins/specweave-ml/commands/{ml-evaluate.md β†’ specweave-ml-evaluate.md} +1 -1
  129. package/plugins/specweave-ml/commands/{ml-explain.md β†’ specweave-ml-explain.md} +1 -1
  130. package/plugins/specweave-ml/commands/{ml-pipeline.md β†’ specweave-ml-pipeline.md} +1 -1
  131. package/src/templates/AGENTS.md.template +1 -0
  132. package/src/templates/CLAUDE.md.template +1 -0
  133. package/plugins/specweave/hooks/post-increment-plugin-detect.sh +0 -142
  134. package/plugins/specweave/hooks/pre-task-plugin-detect.sh +0 -96
  135. package/plugins/specweave/skills/plugin-detector/SKILL.md +0 -324
  136. package/plugins/specweave-github/commands/sync.md +0 -443
  137. /package/plugins/specweave/{commands/README.md β†’ COMMANDS.md} +0 -0
@@ -0,0 +1,212 @@
1
+ ---
2
+ name: specweave:import-docs
3
+ description: Import brownfield documentation from Notion exports, Confluence, GitHub Wiki, or any markdown folder. Automatically classifies files as specs, modules, team docs, or legacy.
4
+ ---
5
+
6
+ # Import Brownfield Documentation
7
+
8
+ Import existing documentation from Notion exports, Confluence, GitHub Wiki, or any markdown folder.
9
+
10
+ ## What This Does
11
+
12
+ 1. **Analyzes markdown files** in source directory (recursively)
13
+ 2. **Classifies files** based on content:
14
+ - **Specs** - Contains "user story", "acceptance criteria", "feature"
15
+ - **Modules** - Contains "module", "component", "architecture"
16
+ - **Team** - Contains "onboarding", "convention", "workflow"
17
+ - **Legacy** - Everything else (no strong match)
18
+ 3. **Copies files** to appropriate destinations
19
+ 4. **Creates migration report** with classification details
20
+ 5. **Updates config** with import history
21
+
22
+ ## Usage
23
+
24
+ ```bash
25
+ /specweave:import-docs <source-path> [options]
26
+ ```
27
+
28
+ ### Options
29
+
30
+ - `--source=<type>` - Source type: `notion`, `confluence`, `wiki`, `custom` (required)
31
+ - `--project=<id>` - Target project ID (default: active project)
32
+ - `--preserve-structure` - Preserve original folder structure
33
+ - `--dry-run` - Preview classification without importing
34
+
35
+ ## Examples
36
+
37
+ ### Example 1: Notion Export
38
+
39
+ ```bash
40
+ # Export Notion workspace to /tmp/notion-export/
41
+ # Then import:
42
+
43
+ /specweave:import-docs /tmp/notion-export/ --source=notion
44
+
45
+ # Result:
46
+ # πŸ“Š Analysis Results:
47
+ # Total files: 47
48
+ # - Specs: 12 files β†’ specs/
49
+ # - Modules: 18 files β†’ modules/
50
+ # - Team docs: 5 files β†’ team/
51
+ # - Legacy: 12 files β†’ legacy/notion/
52
+ # βœ… Import complete!
53
+ ```
54
+
55
+ ### Example 2: Confluence Export
56
+
57
+ ```bash
58
+ /specweave:import-docs /path/to/confluence/ --source=confluence --project=web-app
59
+
60
+ # Imports to: projects/web-app/specs/, modules/, team/, legacy/confluence/
61
+ ```
62
+
63
+ ### Example 3: Dry Run (Preview)
64
+
65
+ ```bash
66
+ /specweave:import-docs /tmp/docs/ --source=custom --dry-run
67
+
68
+ # Shows classification without importing files
69
+ # Use this to preview results before actual import
70
+ ```
71
+
72
+ ### Example 4: Preserve Structure
73
+
74
+ ```bash
75
+ /specweave:import-docs /path/to/wiki/ --source=wiki --preserve-structure
76
+
77
+ # Preserves original folder structure:
78
+ # legacy/wiki/engineering/backend/auth.md
79
+ # legacy/wiki/engineering/frontend/components.md
80
+ ```
81
+
82
+ ## Supported Sources
83
+
84
+ ### Notion
85
+ - **Export Format**: Markdown & CSV
86
+ - **Steps**:
87
+ 1. In Notion: Settings β†’ Export β†’ Export all workspace content
88
+ 2. Choose "Markdown & CSV" format
89
+ 3. Download ZIP file
90
+ 4. Extract to folder (e.g., `/tmp/notion-export/`)
91
+ 5. Run import command
92
+
93
+ ### Confluence
94
+ - **Export Format**: HTML or Markdown
95
+ - **Steps**:
96
+ 1. Space tools β†’ Content Tools β†’ Export
97
+ 2. Choose HTML or Markdown
98
+ 3. Extract exported files
99
+ 4. Run import command
100
+
101
+ ### GitHub Wiki
102
+ - **Export Format**: Git repository
103
+ - **Steps**:
104
+ 1. Clone wiki: `git clone https://github.com/user/repo.wiki.git`
105
+ 2. Run import command on cloned directory
106
+
107
+ ### Custom (Any Markdown)
108
+ - Any folder containing `.md` or `.markdown` files
109
+ - Recursive search through subdirectories
110
+
111
+ ## Classification Algorithm
112
+
113
+ Files are classified using keyword analysis:
114
+
115
+ ### Specs (70%+ confidence)
116
+ - Keywords: "user story", "acceptance criteria", "feature", "requirement"
117
+ - Patterns: "As a [user], I want [goal]", "Given-When-Then"
118
+ - Example: Feature specs, PRDs, user stories
119
+
120
+ ### Modules (70%+ confidence)
121
+ - Keywords: "module", "component", "service", "architecture"
122
+ - Patterns: API docs, technical design, integration points
123
+ - Example: Auth module, payment processing, ML pipeline
124
+
125
+ ### Team (70%+ confidence)
126
+ - Keywords: "onboarding", "convention", "workflow", "pr process"
127
+ - Patterns: Team processes, coding standards, deployment guides
128
+ - Example: Onboarding guide, code review checklist
129
+
130
+ ### Legacy (<70% confidence)
131
+ - No strong match to above categories
132
+ - Uncertain classification
133
+ - Requires manual review
134
+
135
+ ## Destination Folders
136
+
137
+ Files are imported to:
138
+
139
+ ```
140
+ .specweave/docs/internal/projects/{project}/
141
+ β”œβ”€β”€ specs/ ← Specs (spec keywords)
142
+ β”œβ”€β”€ modules/ ← Modules (module keywords)
143
+ β”œβ”€β”€ team/ ← Team docs (team keywords)
144
+ └── legacy/{source}/ ← Legacy (uncertain classification)
145
+ β”œβ”€β”€ notion/
146
+ β”œβ”€β”€ confluence/
147
+ β”œβ”€β”€ wiki/
148
+ └── custom/
149
+ ```
150
+
151
+ ## Migration Report
152
+
153
+ After import, a detailed report is generated:
154
+
155
+ **Location**: `.specweave/docs/internal/projects/{project}/legacy/README.md`
156
+
157
+ **Contents**:
158
+ - Import summary (counts per category)
159
+ - Classification analysis (with confidence scores)
160
+ - List of imported files
161
+ - Next steps and recommendations
162
+
163
+ ## Configuration Updates
164
+
165
+ Import history is tracked in `.specweave/config.json`:
166
+
167
+ ```json
168
+ {
169
+ "brownfield": {
170
+ "importHistory": [{
171
+ "source": "notion",
172
+ "workspace": "acme-corp",
173
+ "importedAt": "2025-11-06T10:30:00Z",
174
+ "project": "web-app",
175
+ "filesImported": 47,
176
+ "destination": ".specweave/docs/internal/projects/web-app/legacy/notion/"
177
+ }]
178
+ }
179
+ }
180
+ ```
181
+
182
+ ## After Import
183
+
184
+ 1. **Review classification** - Check migration report
185
+ 2. **Move misclassified files** - Use file manager or git
186
+ 3. **Update spec numbers** - Rename to `spec-NNN-name.md`
187
+ 4. **Clean up legacy** - Delete obsolete content
188
+ 5. **Update references** - Fix broken links
189
+
190
+ ## When to Use
191
+
192
+ - **Migrating from Notion** to SpecWeave
193
+ - **Consolidating wikis** from GitHub, Confluence, etc.
194
+ - **Onboarding brownfield projects** with existing documentation
195
+ - **Merging multiple doc sources** into single SpecWeave instance
196
+
197
+ ## Limitations
198
+
199
+ - Only markdown files (.md, .markdown) supported
200
+ - No direct API integration (use exports)
201
+ - Classification is heuristic (80%+ accuracy target)
202
+ - Manual review recommended for low-confidence files
203
+
204
+ ## See Also
205
+
206
+ - `/specweave:init-multiproject` - Set up multi-project mode first
207
+ - [Brownfield Import Guide](https://docs.spec-weave.com/guides/brownfield-import)
208
+ - [Migration Best Practices](https://docs.spec-weave.com/guides/migration-best-practices)
209
+
210
+ ---
211
+
212
+ **Implementation**: `src/cli/commands/import-docs.ts`
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: increment
2
+ name: specweave:increment
3
3
  description: Plan new Product Increment - PM-led process (market research, spec, plan, auto-generate tasks). Auto-closes previous increment if PM gates pass.
4
4
  ---
5
5
 
@@ -199,11 +199,11 @@ if (activeCount >= limits.hardCap) {
199
199
 
200
200
  console.log(chalk.blue('\nπŸ’‘ You MUST complete or pause existing work first:\n'));
201
201
  console.log(chalk.white('1️⃣ Complete an increment:'));
202
- console.log(chalk.dim(' /done <id>\n'));
202
+ console.log(chalk.dim(' /specweave:done <id>\n'));
203
203
  console.log(chalk.white('2️⃣ Pause an increment:'));
204
- console.log(chalk.dim(' /pause <id> --reason="..."\n'));
204
+ console.log(chalk.dim(' /specweave:pause <id> --reason="..."\n'));
205
205
  console.log(chalk.white('3️⃣ Check status:'));
206
- console.log(chalk.dim(' /status\n'));
206
+ console.log(chalk.dim(' /specweave:status\n'));
207
207
 
208
208
  console.log(chalk.yellow('πŸ“ Multiple hotfixes? Combine them into ONE increment!'));
209
209
  console.log(chalk.dim(' Example: 0009-security-fixes (SQL + XSS + CSRF)\n'));
@@ -267,7 +267,7 @@ if (activeCount >= limits.maxActiveIncrements) {
267
267
 
268
268
  if (choice === 'complete') {
269
269
  console.log(chalk.green('\nβœ… Smart choice! Finish current work first.\n'));
270
- console.log(chalk.dim('Use /do to continue work\n'));
270
+ console.log(chalk.dim('Use /specweave:do to continue work\n'));
271
271
  process.exit(0);
272
272
  } else if (choice === 'pause') {
273
273
  console.log(chalk.blue('\n⏸️ Pausing current increment...\n'));
@@ -311,13 +311,13 @@ Active increments:
311
311
  πŸ’‘ You MUST complete or pause existing work first:
312
312
 
313
313
  1️⃣ Complete an increment:
314
- /done <id>
314
+ /specweave:done <id>
315
315
 
316
316
  2️⃣ Pause an increment:
317
- /pause <id> --reason="..."
317
+ /specweave:pause <id> --reason="..."
318
318
 
319
319
  3️⃣ Check status:
320
- /status
320
+ /specweave:status
321
321
 
322
322
  πŸ“ Multiple hotfixes? Combine them into ONE increment!
323
323
  Example: 0009-security-fixes (SQL + XSS + CSRF)
@@ -353,7 +353,7 @@ Choose an option: 1
353
353
 
354
354
  βœ… Smart choice! Finish current work first.
355
355
 
356
- Use /do to continue work
356
+ Use /specweave:do to continue work
357
357
  ```
358
358
 
359
359
  **Example Output - Emergency Interrupt (hotfix)**:
@@ -610,7 +610,7 @@ This will:
610
610
 
611
611
  Next steps:
612
612
  1. Review the increment plan and strategic docs
613
- 2. Start implementation: /do 0003
613
+ 2. Start implementation: /specweave:do 0003
614
614
  3. (Optional) Sync to GitHub: /sync-github
615
615
  ```
616
616
 
@@ -0,0 +1,146 @@
1
+ ---
2
+ name: specweave:init-multiproject
3
+ description: Initialize multi-project mode for SpecWeave. Enables organizing specs, modules, and team docs by project/team. Auto-migrates existing specs/ to projects/default/.
4
+ ---
5
+
6
+ # Initialize Multi-Project Mode
7
+
8
+ Enable multi-project mode to organize documentation by project or team.
9
+
10
+ ## What This Does
11
+
12
+ 1. **Auto-migrates** existing `specs/` to `projects/default/specs/` (transparent, no behavior change)
13
+ 2. **Enables multi-project mode** in config (optional)
14
+ 3. **Creates additional projects** (optional, interactive prompts)
15
+ 4. **Sets up folder structure** for each project (specs/, modules/, team/, architecture/, legacy/)
16
+
17
+ ## Usage
18
+
19
+ ```bash
20
+ /specweave:init-multiproject
21
+ ```
22
+
23
+ ## Interactive Prompts
24
+
25
+ 1. **Enable multi-project mode?** (yes/no)
26
+ - No: Stay in single-project mode (uses `projects/default/` but `multiProject.enabled = false`)
27
+ - Yes: Enable multi-project mode (allows multiple projects)
28
+
29
+ 2. **Create additional projects?** (yes/no, only if multi-project enabled)
30
+ - If yes, enter project details:
31
+ - Project ID (kebab-case, e.g., `web-app`)
32
+ - Project name (e.g., "Web Application")
33
+ - Description
34
+ - Tech stack (comma-separated)
35
+ - Team name
36
+
37
+ ## Examples
38
+
39
+ ### Example 1: Single Project (Default)
40
+
41
+ ```bash
42
+ /specweave:init-multiproject
43
+
44
+ # Prompts:
45
+ # - Enable multi-project mode? β†’ No
46
+
47
+ # Result:
48
+ # βœ… Auto-migrated to projects/default/
49
+ # ℹ️ Still in single-project mode
50
+ # ℹ️ All operations use projects/default/ automatically
51
+ ```
52
+
53
+ ### Example 2: Multi-Project (Enterprise)
54
+
55
+ ```bash
56
+ /specweave:init-multiproject
57
+
58
+ # Prompts:
59
+ # - Enable multi-project mode? β†’ Yes
60
+ # - Create additional projects? β†’ Yes
61
+ # - Project ID: web-app
62
+ # - Name: Web Application
63
+ # - Description: Customer-facing web app
64
+ # - Tech stack: React, TypeScript, Node.js
65
+ # - Team: Frontend Team
66
+ #
67
+ # Create another project? β†’ Yes
68
+ # - Project ID: platform-infra
69
+ # - Name: Platform Infrastructure
70
+ # - ...
71
+
72
+ # Result:
73
+ # βœ… Created projects/web-app/
74
+ # βœ… Created projects/platform-infra/
75
+ # βœ… Multi-project mode enabled
76
+ # ℹ️ Use /specweave:switch-project to change active project
77
+ ```
78
+
79
+ ## Folder Structure Created
80
+
81
+ For each project:
82
+
83
+ ```
84
+ .specweave/docs/internal/projects/{project-id}/
85
+ β”œβ”€β”€ README.md # Project overview
86
+ β”œβ”€β”€ specs/ # Living docs specs (spec-001, spec-002, ...)
87
+ β”œβ”€β”€ modules/ # Module-level docs (auth, payments, etc.)
88
+ β”œβ”€β”€ team/ # Team playbooks (onboarding, conventions)
89
+ β”œβ”€β”€ architecture/ # Project-specific architecture (optional)
90
+ β”‚ └── adr/ # Architecture Decision Records
91
+ └── legacy/ # Brownfield imported docs
92
+ ```
93
+
94
+ ## When to Use
95
+
96
+ ### Single Project Mode
97
+ - Small projects or startups
98
+ - One team, one codebase
99
+ - Simple organizational structure
100
+
101
+ ### Multi-Project Mode
102
+ - Multiple teams or repos
103
+ - Microservices architecture
104
+ - Platform engineering managing multiple projects
105
+ - Different tech stacks per team
106
+
107
+ ## Integration with External Sync
108
+
109
+ Multi-project mode integrates with external sync (GitHub, JIRA, ADO):
110
+
111
+ ```json
112
+ {
113
+ "multiProject": {
114
+ "projects": [{
115
+ "id": "web-app",
116
+ "syncProfiles": ["web-app-github", "web-app-jira"]
117
+ }]
118
+ }
119
+ }
120
+ ```
121
+
122
+ Each project can link to specific sync profiles for external tracking.
123
+
124
+ ## What Happens to Existing Specs?
125
+
126
+ **Automatic Migration**:
127
+ 1. Existing `specs/` copied to `projects/default/specs/`
128
+ 2. Old `specs/` renamed to `specs.old/` (backup)
129
+ 3. Config updated with `multiProject` section
130
+ 4. **No behavior change** - all operations still work
131
+
132
+ **Rollback** (if needed):
133
+ ```bash
134
+ # Restore from backup
135
+ npm run specweave:rollback-migration
136
+ ```
137
+
138
+ ## See Also
139
+
140
+ - `/specweave:switch-project` - Change active project
141
+ - `/specweave:import-docs` - Import brownfield docs
142
+ - [Multi-Project Guide](https://docs.spec-weave.com/guides/multi-project-setup)
143
+
144
+ ---
145
+
146
+ **Implementation**: `src/cli/commands/init-multiproject.ts`
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: next
2
+ name: specweave:next
3
3
  description: Smart increment transition - auto-close current if ready, intelligently suggest next work (backlog or new feature)
4
4
  ---
5
5
 
@@ -12,7 +12,7 @@ You are helping the user complete their current increment and move to the next o
12
12
  ## Usage
13
13
 
14
14
  ```bash
15
- /next
15
+ /specweave:next
16
16
  ```
17
17
 
18
18
  **No arguments needed** - the command intelligently handles the transition.
@@ -21,7 +21,7 @@ You are helping the user complete their current increment and move to the next o
21
21
 
22
22
  ## What This Does
23
23
 
24
- The `/next` command is your **workflow continuation** command. It:
24
+ The `/specweave:next` command is your **workflow continuation** command. It:
25
25
 
26
26
  1. **Validates current increment** - Checks if work is complete
27
27
  2. **Auto-closes if ready** - PM validates and closes automatically
@@ -257,7 +257,7 @@ What would you like to do? [A/B/C]
257
257
  Example: /specweave inc "Admin dashboard"
258
258
 
259
259
  B. Check existing ideas β†’ Look in .specweave/increments/_backlog/
260
- If you have ideas saved, promote them with /inc
260
+ If you have ideas saved, promote them with /specweave:increment
261
261
 
262
262
  C. Review roadmap β†’ See .specweave/docs/internal/strategy/roadmap.md
263
263
 
@@ -272,7 +272,7 @@ What would you like to do? [A/B/C]
272
272
 
273
273
  **User**:
274
274
  ```bash
275
- /next
275
+ /specweave:next
276
276
  ```
277
277
 
278
278
  **Output**:
@@ -315,7 +315,7 @@ Next Action: Run `/specweave do 0002` to begin
315
315
 
316
316
  **User**:
317
317
  ```bash
318
- /next
318
+ /specweave:next
319
319
  ```
320
320
 
321
321
  **Output**:
@@ -357,7 +357,7 @@ Next Action: Run `/specweave do 0001` to resume at T010
357
357
 
358
358
  **User**:
359
359
  ```bash
360
- /next
360
+ /specweave:next
361
361
  ```
362
362
 
363
363
  **Output**:
@@ -397,7 +397,7 @@ Options:
397
397
 
398
398
  **User**:
399
399
  ```bash
400
- /next
400
+ /specweave:next
401
401
  ```
402
402
 
403
403
  **Output**:
@@ -431,15 +431,15 @@ Your choice? [A/B/C] _
431
431
 
432
432
  | Command | Purpose | When to Use |
433
433
  |---------|---------|-------------|
434
- | `/specweave inc "feature"` | Create NEW increment with specific feature | Starting fresh work |
435
- | `/specweave do` | Execute tasks in increment | Implementing planned work |
436
- | `/specweave progress` | Check status (no action) | Quick status check |
437
- | `/done` | Explicitly close increment | Manual closure with validation |
438
- | `/next` ⭐ | **Smart transition** (close + suggest next) | **Natural workflow continuation** |
434
+ | `/specweave:increment "feature"` | Create NEW increment with specific feature | Starting fresh work |
435
+ | `/specweave:do` | Execute tasks in increment | Implementing planned work |
436
+ | `/specweave:progress` | Check status (no action) | Quick status check |
437
+ | `/specweave:done` | Explicitly close increment | Manual closure with validation |
438
+ | `/specweave:next` ⭐ | **Smart transition** (close + suggest next) | **Natural workflow continuation** |
439
439
 
440
- **Why `/next` is special**:
440
+ **Why `/specweave:next` is special**:
441
441
  - βœ… Combines validation + closure + suggestion in one command
442
- - βœ… No need to remember `/done` then `/inc` or `/specweave do`
442
+ - βœ… No need to remember `/specweave:done` then `/specweave:increment` sequence
443
443
  - βœ… Intelligent suggestions (backlog, WIP, new work)
444
444
  - βœ… User stays in control (never forces actions)
445
445
  - βœ… Natural "what's next?" workflow
@@ -448,7 +448,7 @@ Your choice? [A/B/C] _
448
448
 
449
449
  ## Best Practices
450
450
 
451
- 1. **Run `/next` when you feel done** - It validates completion and suggests next steps
451
+ 1. **Run `/specweave:next` when you feel done** - It validates completion and suggests next steps
452
452
  2. **Trust the PM validation** - If gates fail, there's unfinished work
453
453
  3. **Follow recommendations** - Backlog items are already planned
454
454
  4. **Keep WIP limit in mind** - Don't force multiple increments
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: pause
2
+ name: specweave:pause
3
3
  description: Pause an active increment (blocked by external dependency, deprioritized)
4
4
  usage: /specweave:pause <increment-id> --reason="<reason>"
5
5
  ---
@@ -29,7 +29,7 @@ Pause an active increment when:
29
29
  - `pausedReason`: User-provided reason
30
30
  - `pausedAt`: Current timestamp
31
31
  4. **Displays** confirmation message
32
- 5. **Suggests** next actions (/resume to continue)
32
+ 5. **Suggests** next actions (`/specweave:resume` to continue)
33
33
 
34
34
  ---
35
35
 
@@ -37,17 +37,17 @@ Pause an active increment when:
37
37
 
38
38
  ### Pause with reason
39
39
  ```bash
40
- /pause 0006 --reason="Waiting for Stripe API keys"
40
+ /specweave:pause 0006 --reason="Waiting for Stripe API keys"
41
41
 
42
42
  βœ… Increment 0006 paused
43
43
  πŸ“ Reason: Waiting for Stripe API keys
44
44
  ⏸️ No longer counts toward active limit
45
- πŸ’‘ Resume with: /resume 0006
45
+ πŸ’‘ Resume with: /specweave:resume 0006
46
46
  ```
47
47
 
48
48
  ### Pause without reason (prompts)
49
49
  ```bash
50
- /pause 0006
50
+ /specweave:pause 0006
51
51
 
52
52
  ❓ Why are you pausing this increment?
53
53
  1. Blocked by external dependency
@@ -59,7 +59,7 @@ Pause an active increment when:
59
59
 
60
60
  βœ… Increment 0006 paused
61
61
  πŸ“ Reason: Blocked by external dependency
62
- πŸ’‘ Resume with: /resume 0006
62
+ πŸ’‘ Resume with: /specweave:resume 0006
63
63
  ```
64
64
 
65
65
  ---
@@ -68,7 +68,7 @@ Pause an active increment when:
68
68
 
69
69
  ### Already Paused
70
70
  ```bash
71
- /pause 0006 --reason="Different reason"
71
+ /specweave:pause 0006 --reason="Different reason"
72
72
 
73
73
  ⚠️ Increment 0006 is already paused
74
74
  Previous reason: Waiting for Stripe API keys
@@ -82,7 +82,7 @@ Update reason? [Y/n]: y
82
82
 
83
83
  ### Cannot Pause Completed
84
84
  ```bash
85
- /pause 0005
85
+ /specweave:pause 0005
86
86
 
87
87
  ❌ Cannot pause increment 0005
88
88
  Status: completed
@@ -91,19 +91,19 @@ Update reason? [Y/n]: y
91
91
 
92
92
  ### Cannot Pause Abandoned
93
93
  ```bash
94
- /pause 0008
94
+ /specweave:pause 0008
95
95
 
96
96
  ❌ Cannot pause increment 0008
97
97
  Status: abandoned
98
- Resume it first: /resume 0008
98
+ Resume it first: /specweave:resume 0008
99
99
  ```
100
100
 
101
101
  ### Increment Not Found
102
102
  ```bash
103
- /pause 9999
103
+ /specweave:pause 9999
104
104
 
105
105
  ❌ Increment not found: 9999
106
- πŸ’‘ Check available increments: /status
106
+ πŸ’‘ Check available increments: /specweave:status
107
107
  ```
108
108
 
109
109
  ---
@@ -165,10 +165,10 @@ active ──pause──> paused
165
165
 
166
166
  ## Warning: Stale Paused Increments
167
167
 
168
- Increments paused for **7+ days** trigger warnings in `/status`:
168
+ Increments paused for **7+ days** trigger warnings in `/specweave:status`:
169
169
 
170
170
  ```bash
171
- /status
171
+ /specweave:status
172
172
 
173
173
  ⏸️ Paused (1):
174
174
  πŸ”„ 0007-stripe-integration [feature]
@@ -177,13 +177,13 @@ Increments paused for **7+ days** trigger warnings in `/status`:
177
177
  ⚠️ STALE! Review or abandon?
178
178
 
179
179
  πŸ’‘ Actions:
180
- /resume 0007 # If unblocked
181
- /abandon 0007 # If no longer needed
180
+ /specweave:resume 0007 # If unblocked
181
+ /specweave:abandon 0007 # If no longer needed
182
182
  ```
183
183
 
184
184
  ---
185
185
 
186
- **Command**: `/specweave:pause` (or `/pause`)
186
+ **Command**: `/specweave:pause`
187
187
  **Plugin**: specweave (core)
188
188
  **Version**: v0.7.0+
189
189
  **Part of**: Increment 0007 - Smart Status Management
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: progress
2
+ name: specweave:progress
3
3
  description: Show current increment progress, task completion %, PM gate status, and next action
4
4
  ---
5
5
 
@@ -20,10 +20,10 @@ Shows:
20
20
 
21
21
  ```bash
22
22
  # Check current progress
23
- /progress
23
+ /specweave:progress
24
24
 
25
25
  # Show progress for specific increment
26
- /progress 0001
26
+ /specweave:progress 0001
27
27
  ```
28
28
 
29
29
  ---
@@ -211,9 +211,9 @@ fi
211
211
 
212
212
  ---
213
213
 
214
- ## When to Use `/progress`
214
+ ## When to Use `/specweave:progress`
215
215
 
216
- Use `/progress` when you:
216
+ Use `/specweave:progress` when you:
217
217
  - βœ… Come back after a break and need context
218
218
  - βœ… Want to see overall completion status
219
219
  - βœ… Need to know which task to work on next
@@ -225,12 +225,12 @@ Use `/progress` when you:
225
225
  **Typical workflow**:
226
226
  ```bash
227
227
  # Morning: Check what you were working on
228
- /progress
228
+ /specweave:progress
229
229
 
230
230
  # Shows: "Active: 0002-payments, Task 5/10 (50%)"
231
- # Shows: "Next: /do 0002 to resume at T006"
231
+ # Shows: "Next: /specweave:do 0002 to resume at T006"
232
232
 
233
- /do 0002
233
+ /specweave:do 0002
234
234
  # Auto-resumes from T006
235
235
  ```
236
236
 
@@ -238,8 +238,8 @@ Use `/progress` when you:
238
238
 
239
239
  ## Pro Tips
240
240
 
241
- 1. **No increment ID needed** - `/progress` automatically finds active increment
242
- 2. **Smart resume** - `/do` picks up where you left off (no task ID needed)
241
+ 1. **No increment ID needed** - `/specweave:progress` automatically finds active increment
242
+ 2. **Smart resume** - `/specweave:do` picks up where you left off (no task ID needed)
243
243
  3. **WIP limits** - Keep 1-2 increments active max for focus
244
244
  4. **Completion %** - P1 tasks weighted higher (they're critical path)
245
245
  5. **Time tracking** - Warns if tasks are stuck (>2 hours inactive)