specweave 1.0.584 → 1.0.586

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 (110) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/bin/specweave.js +26 -0
  3. package/dist/plugins/specweave/lib/vendor/utils/credential-masker.js +11 -1
  4. package/dist/plugins/specweave/lib/vendor/utils/credential-masker.js.map +1 -1
  5. package/dist/src/cli/commands/auto.js +1 -1
  6. package/dist/src/cli/commands/auto.js.map +1 -1
  7. package/dist/src/cli/commands/generate-rubric.d.ts +35 -0
  8. package/dist/src/cli/commands/generate-rubric.d.ts.map +1 -0
  9. package/dist/src/cli/commands/generate-rubric.js +73 -0
  10. package/dist/src/cli/commands/generate-rubric.js.map +1 -0
  11. package/dist/src/cli/commands/get.js +22 -9
  12. package/dist/src/cli/commands/get.js.map +1 -1
  13. package/dist/src/cli/commands/plan/plan-orchestrator.d.ts.map +1 -1
  14. package/dist/src/cli/commands/plan/plan-orchestrator.js +11 -0
  15. package/dist/src/cli/commands/plan/plan-orchestrator.js.map +1 -1
  16. package/dist/src/cli/commands/sync-health.d.ts.map +1 -1
  17. package/dist/src/cli/commands/sync-health.js +72 -12
  18. package/dist/src/cli/commands/sync-health.js.map +1 -1
  19. package/dist/src/cli/commands/sync-progress.d.ts.map +1 -1
  20. package/dist/src/cli/commands/sync-progress.js +65 -11
  21. package/dist/src/cli/commands/sync-progress.js.map +1 -1
  22. package/dist/src/cli/helpers/get/register-repo.d.ts.map +1 -1
  23. package/dist/src/cli/helpers/get/register-repo.js +28 -2
  24. package/dist/src/cli/helpers/get/register-repo.js.map +1 -1
  25. package/dist/src/cli/helpers/init/next-steps.js +1 -1
  26. package/dist/src/cli/helpers/init/next-steps.js.map +1 -1
  27. package/dist/src/core/analytics/analytics-collector.d.ts.map +1 -1
  28. package/dist/src/core/analytics/analytics-collector.js +9 -1
  29. package/dist/src/core/analytics/analytics-collector.js.map +1 -1
  30. package/dist/src/core/analytics/event-writer.d.ts.map +1 -1
  31. package/dist/src/core/analytics/event-writer.js +3 -1
  32. package/dist/src/core/analytics/event-writer.js.map +1 -1
  33. package/dist/src/core/config/config-manager.d.ts +5 -0
  34. package/dist/src/core/config/config-manager.d.ts.map +1 -1
  35. package/dist/src/core/config/config-manager.js +58 -1
  36. package/dist/src/core/config/config-manager.js.map +1 -1
  37. package/dist/src/core/credentials/credentials-manager.d.ts +21 -0
  38. package/dist/src/core/credentials/credentials-manager.d.ts.map +1 -1
  39. package/dist/src/core/credentials/credentials-manager.js +38 -0
  40. package/dist/src/core/credentials/credentials-manager.js.map +1 -1
  41. package/dist/src/core/hooks/handlers/hook-router.d.ts.map +1 -1
  42. package/dist/src/core/hooks/handlers/hook-router.js +6 -0
  43. package/dist/src/core/hooks/handlers/hook-router.js.map +1 -1
  44. package/dist/src/core/hooks/handlers/types.js +1 -1
  45. package/dist/src/core/hooks/handlers/types.js.map +1 -1
  46. package/dist/src/core/increment/completion-validator.d.ts.map +1 -1
  47. package/dist/src/core/increment/completion-validator.js +8 -1
  48. package/dist/src/core/increment/completion-validator.js.map +1 -1
  49. package/dist/src/core/increment/template-creator.d.ts.map +1 -1
  50. package/dist/src/core/increment/template-creator.js +5 -19
  51. package/dist/src/core/increment/template-creator.js.map +1 -1
  52. package/dist/src/core/llm/types.d.ts +5 -5
  53. package/dist/src/core/llm/types.d.ts.map +1 -1
  54. package/dist/src/core/llm/types.js +9 -8
  55. package/dist/src/core/llm/types.js.map +1 -1
  56. package/dist/src/core/rubric/rubric-evaluator.d.ts +25 -1
  57. package/dist/src/core/rubric/rubric-evaluator.d.ts.map +1 -1
  58. package/dist/src/core/rubric/rubric-evaluator.js +108 -1
  59. package/dist/src/core/rubric/rubric-evaluator.js.map +1 -1
  60. package/dist/src/core/rubric/rubric-generator.d.ts +28 -1
  61. package/dist/src/core/rubric/rubric-generator.d.ts.map +1 -1
  62. package/dist/src/core/rubric/rubric-generator.js +46 -6
  63. package/dist/src/core/rubric/rubric-generator.js.map +1 -1
  64. package/dist/src/core/rubric/rubric-parser.d.ts.map +1 -1
  65. package/dist/src/core/rubric/rubric-parser.js +18 -2
  66. package/dist/src/core/rubric/rubric-parser.js.map +1 -1
  67. package/dist/src/core/rubric/types.d.ts +1 -1
  68. package/dist/src/core/rubric/types.d.ts.map +1 -1
  69. package/dist/src/core/rubric/types.js.map +1 -1
  70. package/dist/src/core/sync/retry-wrapper.d.ts +14 -2
  71. package/dist/src/core/sync/retry-wrapper.d.ts.map +1 -1
  72. package/dist/src/core/sync/retry-wrapper.js +15 -4
  73. package/dist/src/core/sync/retry-wrapper.js.map +1 -1
  74. package/dist/src/integrations/ado/ado-pat-provider.d.ts +6 -2
  75. package/dist/src/integrations/ado/ado-pat-provider.d.ts.map +1 -1
  76. package/dist/src/integrations/ado/ado-pat-provider.js +16 -22
  77. package/dist/src/integrations/ado/ado-pat-provider.js.map +1 -1
  78. package/dist/src/sync/external-item-sync-service.d.ts.map +1 -1
  79. package/dist/src/sync/external-item-sync-service.js +6 -2
  80. package/dist/src/sync/external-item-sync-service.js.map +1 -1
  81. package/dist/src/sync/resilient-write.d.ts +42 -0
  82. package/dist/src/sync/resilient-write.d.ts.map +1 -0
  83. package/dist/src/sync/resilient-write.js +52 -0
  84. package/dist/src/sync/resilient-write.js.map +1 -0
  85. package/dist/src/sync/story-router.d.ts +10 -2
  86. package/dist/src/sync/story-router.d.ts.map +1 -1
  87. package/dist/src/sync/story-router.js.map +1 -1
  88. package/dist/src/sync/sync-coordinator.d.ts +11 -0
  89. package/dist/src/sync/sync-coordinator.d.ts.map +1 -1
  90. package/dist/src/sync/sync-coordinator.js +69 -26
  91. package/dist/src/sync/sync-coordinator.js.map +1 -1
  92. package/dist/src/sync/sync-target-resolver.d.ts +10 -6
  93. package/dist/src/sync/sync-target-resolver.d.ts.map +1 -1
  94. package/dist/src/sync/sync-target-resolver.js +66 -57
  95. package/dist/src/sync/sync-target-resolver.js.map +1 -1
  96. package/dist/src/utils/credential-masker.d.ts.map +1 -1
  97. package/dist/src/utils/credential-masker.js +11 -1
  98. package/dist/src/utils/credential-masker.js.map +1 -1
  99. package/dist/src/utils/structure-level-detector.d.ts +1 -1
  100. package/dist/src/utils/structure-level-detector.d.ts.map +1 -1
  101. package/dist/src/utils/structure-level-detector.js +23 -4
  102. package/dist/src/utils/structure-level-detector.js.map +1 -1
  103. package/package.json +1 -1
  104. package/plugins/specweave/.claude-plugin/plugin.json +1 -1
  105. package/plugins/specweave/defaults/rubric-defaults.md +6 -2
  106. package/plugins/specweave/hooks/hooks.json +2 -2
  107. package/plugins/specweave/lib/vendor/utils/credential-masker.js +11 -1
  108. package/plugins/specweave/lib/vendor/utils/credential-masker.js.map +1 -1
  109. package/plugins/specweave/skills/github-sync/SKILL.md +28 -566
  110. package/plugins/specweave/skills/github-sync/evals/evals.json +3 -3
@@ -1,578 +1,40 @@
1
1
  ---
2
- description: "[DEPRECATED] Two-way synchronization between SpecWeave specs and GitHub Projects (push & pull by default). Use when asking about GitHub integration setup, troubleshooting sync issues, or configuring sync settings. For actual syncing, use sw-github:sync-spec command."
3
- version: 1.0.0
2
+ description: "[DEPRECATED] GitHub sync guidance. Superseded by the live sw-github:* command family. For actual syncing use sw-github:push / sw-github:pull / sw-github:close / sw-github:sync."
3
+ version: 1.0.1
4
4
  user-invokable: false
5
5
  deprecated: true
6
6
  ---
7
7
 
8
- > ⚠️ DEPRECATED: Use `sw-github:sync-spec` instead. This skill will be removed in v1.3.0.
8
+ > ⚠️ DEPRECATED superseded by the live `sw-github:*` command family.
9
9
 
10
- ## Migration
10
+ This skill's standalone guidance is retired. GitHub sync is performed by the
11
+ increment-based command family, which is the source of truth:
11
12
 
12
- This skill has been deprecated as part of the Opus 4.7 framework alignment (increment 0669).
13
+ | Action | Live command |
14
+ |--------|--------------|
15
+ | Push local progress to GitHub Issues | `sw-github:push [increment-id]` |
16
+ | Pull issue state back into the spec | `sw-github:pull` |
17
+ | Create the GitHub Issue/milestone | `sw-github:create` |
18
+ | Close issues on increment completion | `sw-github:close` |
19
+ | Two-way reconcile | `sw-github:sync` |
20
+ | Check sync status | `sw-github:status` |
13
21
 
14
- - **Use instead**: `sw-github:sync-spec` for push/pull operations
15
- - **Removal**: Scheduled for v1.3.0 (2 minor releases after v1.1.0)
16
- - **Why**: Consolidated sync logic moved to the `sw-github:*` command family. This skill's guidance content is now covered by `sw-github:sync-spec` help text and `.specweave/docs/internal/specs/github-sync.md`.
22
+ **Mapping** (per CLAUDE.md): Feature Milestone · User Story → Issue · Task → Checkbox.
17
23
 
18
- For the migration policy, see `.specweave/docs/internal/specs/skill-deprecation-policy.md`.
24
+ ## Why this skill is deprecated
19
25
 
20
- ---
21
-
22
- # GitHub Sync - Two-way Spec Project Synchronization
23
-
24
- **Purpose**: Seamlessly synchronize SpecWeave specs with GitHub Projects for team visibility and project management.
25
-
26
- **Default Behavior**: **Two-way sync** (push & pull) - Changes in either system are automatically synchronized
27
-
28
- **⚠️ IMPORTANT**: This skill provides HELP and GUIDANCE about GitHub sync. For actual syncing, users should use the `sw-github:sync-spec` command directly. This skill should NOT auto-activate when the command is being invoked.
29
-
30
- ## When to Activate
31
-
32
- ✅ **Do activate when**:
33
- - User asks: "How do I set up GitHub sync?"
34
- - User asks: "What GitHub credentials do I need?"
35
- - User asks: "How does the GitHub integration work?"
36
- - User needs help configuring GitHub integration
37
-
38
- ❌ **Do NOT activate when**:
39
- - User invokes `sw-github:sync-spec` command (command handles it)
40
- - Command is already running (avoid duplicate invocation)
41
- - Task completion hook is syncing (automatic process)
42
-
43
- **Integration**: Works with `sw-github:sync-spec` command
44
-
45
- ---
46
-
47
- ## CORRECT Architecture
48
-
49
- **CRITICAL**: SpecWeave syncs **SPECS** to GitHub, NOT increments!
50
-
51
- ```
52
- ✅ CORRECT:
53
- .specweave/docs/internal/specs/spec-001.md ↔ GitHub Project
54
- ├─ User Story US-001 ↔ GitHub Issue #1
55
- ├─ User Story US-002 ↔ GitHub Issue #2
56
- └─ User Story US-003 ↔ GitHub Issue #3
57
-
58
- ❌ WRONG (OLD, REMOVED!):
59
- .specweave/increments/0001-feature ↔ GitHub Issue (DEPRECATED!)
60
- ```
61
-
62
- **Why Specs, Not Increments?**
63
- - ✅ **Specs = Permanent** (living docs, feature-level knowledge base)
64
- - ❌ **Increments = Temporary** (implementation snapshots, can be deleted after done)
65
- - ✅ **GitHub should mirror PERMANENT work**, not temporary iterations
66
-
67
- ---
68
-
69
- ## How GitHub Sync Works
70
-
71
- ### 1. Spec → GitHub Project (Export)
72
-
73
- **Trigger**: When spec is created or updated
74
-
75
- **Actions**:
76
- 1. Create GitHub Project with:
77
- - Title: `[SPEC-001] Core Framework & Architecture`
78
- - Description: Spec overview + progress
79
- - Columns: Backlog, In Progress, Done
80
- - Linked to repository
81
-
82
- 2. Store project ID in spec metadata:
83
- ```yaml
84
- # .specweave/docs/internal/specs/spec-001.md (frontmatter)
85
- ---
86
- externalLinks:
87
- github:
88
- projectId: 123
89
- projectUrl: https://github.com/users/anton-abyzov/projects/123
90
- syncedAt: 2025-11-11T10:00:00Z
91
- ---
92
- ```
93
-
94
- 3. Create GitHub Issues for each user story:
95
- - Title: `[US-001] As a developer, I want to install SpecWeave via NPM`
96
- - Body: Acceptance criteria as checkboxes
97
- - Labels: `user-story`, `spec:spec-001`, `priority:P1`
98
- - Linked to project
99
-
100
- **Example GitHub Project**:
101
- ```markdown
102
- # [SPEC-001] Core Framework & Architecture
103
-
104
- **Status**: In Progress (75% complete)
105
- **Priority**: P0 (Critical)
106
- **Feature Area**: Foundation & Plugin System
107
-
108
- ## Overview
109
-
110
- The core framework and architecture spec covers SpecWeave's foundational capabilities:
111
- - TypeScript-based CLI framework
112
- - Plugin system architecture
113
- - Cross-platform compatibility
114
-
115
- ## Progress
116
-
117
- - ✅ US-001: NPM installation (Complete)
118
- - ✅ US-002: Plugin system (Complete)
119
- - ⏳ US-003: Context optimization (In Progress)
120
- - ⏳ US-004: Intelligent agents (In Progress)
121
-
122
- **Overall**: 2/4 user stories complete (50%)
123
-
124
- ---
125
-
126
- 🤖 Auto-synced by SpecWeave GitHub Plugin
127
- ```
128
-
129
- ### 2. User Story Progress Updates (Spec → GitHub)
130
-
131
- **Trigger**: After each task completion (via post-task-completion hook)
132
-
133
- **Actions**:
134
- 1. **Update GitHub Issue** (for user story):
135
- - Updates acceptance criteria checkboxes
136
- - Marks completed ACs with `[x]`
137
- - Updates issue description
138
- - Updates labels (`in-progress`, `testing`, `ready-for-review`)
139
-
140
- 2. **Update GitHub Project**:
141
- - Moves cards between columns (Backlog → In Progress → Done)
142
- - Updates project progress percentage
143
- - Posts progress comment
144
-
145
- **Example Issue Update**:
146
- ```markdown
147
- **User Story**: US-001
148
-
149
- As a developer, I want to install SpecWeave via NPM so that I can use it in my projects
150
-
151
- ## Acceptance Criteria
152
-
153
- - [x] AC-001-01: `npm install -g specweave` works
154
- - [x] AC-001-02: `specweave init` creates `.specweave/` structure
155
- - [ ] AC-001-03: Version command shows current version (In Progress)
156
-
157
- ---
158
-
159
- **Progress**: 2/3 ACs complete (67%)
160
-
161
- 🤖 Auto-updated by SpecWeave (2025-11-11)
162
- ```
163
-
164
- ### 3. Spec Completion (Close Project)
165
-
166
- **Trigger**: All user stories in spec are complete
167
-
168
- **Actions**:
169
- 1. Close all GitHub Issues (user stories)
170
- 2. Archive GitHub Project
171
- 3. Post final comment:
172
- ```markdown
173
- ✅ **Spec Completed**
174
-
175
- **Final Stats**:
176
- - 35 user stories completed (100%)
177
- - 4 increments implemented (0001, 0002, 0004, 0005)
178
- - Duration: 6 weeks
179
-
180
- **Deliverables**:
181
- - Core framework architecture
182
- - Plugin system
183
- - Cross-platform CLI
184
-
185
- Spec complete. Project archived.
186
-
187
- ---
188
- 🤖 Auto-closed by SpecWeave
189
- ```
190
-
191
- ### 4. GitHub Project → Spec (Import)
192
-
193
- **Use Case**: Import existing GitHub Projects as SpecWeave specs
194
-
195
- **Command**: `sw-github:import-project <project-number>`
196
-
197
- **Actions**:
198
- 1. Fetch project via GitHub GraphQL API
199
- 2. Create spec structure:
200
- - Parse project title → spec title
201
- - Parse project body → spec overview
202
- - Map issues → user stories
203
- - Map labels → priority
204
-
205
- 3. Generate spec.md with user stories and acceptance criteria
206
- 4. Link project to spec in metadata
207
-
208
- ---
209
-
210
- ## Configuration
211
-
212
- Configure GitHub sync in `.specweave/config.json`:
213
-
214
- ```json
215
- {
216
- "sync": {
217
- "enabled": true,
218
- "preset": "bidirectional",
219
- "activeProfile": "default",
220
- "profiles": {
221
- "default": {
222
- "provider": "github",
223
- "config": {
224
- "owner": "myorg",
225
- "repo": "myrepo",
226
- "autoSyncSpecs": true,
227
- "defaultLabels": ["specweave", "spec"]
228
- }
229
- }
230
- }
231
- }
232
- }
233
- ```
234
-
235
- **Credentials** (in `.env`, gitignored):
236
- ```bash
237
- GITHUB_TOKEN=ghp_xxxxx
238
- # Or just run: gh auth login (auto-detected)
239
- ```
240
-
241
- ---
242
-
243
- ## GitHub CLI Requirements
244
-
245
- This skill requires GitHub CLI (`gh`) to be installed and authenticated:
246
-
247
- ```bash
248
- # Install GitHub CLI
249
- brew install gh # macOS
250
- apt install gh # Ubuntu/Debian
251
- choco install gh # Windows
252
-
253
- # Authenticate
254
- gh auth login
255
-
256
- # Verify
257
- gh auth status
258
- ```
259
-
260
- ---
261
-
262
- ## Manual Sync Operations
263
-
264
- ### Sync Spec to GitHub
265
-
266
- ```bash
267
- sw-github:sync-spec spec-001
268
- ```
269
-
270
- Creates or updates GitHub Project for spec-001.
271
-
272
- ### Sync All Specs
273
-
274
- ```bash
275
- sw-github:sync-spec --all
276
- ```
277
-
278
- Syncs all specs to GitHub Projects.
279
-
280
- ### Import Project
26
+ - The increment-based `sw-github:*` commands are the supported path. Run them
27
+ directly; this skill no longer carries its own workflow guidance (it was
28
+ contradictory it pointed at a `sw-github:sync-spec` command that does not
29
+ exist and claimed increment-based sync was "removed" when it is the live flow).
30
+ - Setup and credentials are handled by `sw:sync-setup`. Configuration lives in
31
+ `.specweave/config.json` (`sync.*`); the GitHub token is read from
32
+ `GITHUB_TOKEN` / `GH_TOKEN` in `.env` (or `gh auth login`).
33
+ - For the deprecation policy, see
34
+ `.specweave/docs/internal/specs/skill-deprecation-policy.md`.
281
35
 
282
- ```bash
283
- sw-github:import-project 123
284
- ```
285
-
286
- Imports GitHub Project #123 as a SpecWeave spec.
287
-
288
- ### Check Status
289
-
290
- ```bash
291
- sw-github:status spec-001
292
- ```
293
-
294
- Shows sync status (project ID, last sync time, progress %).
295
-
296
- ---
297
-
298
- ## Workflow Integration
299
-
300
- ### Full Automated Workflow
301
-
302
- ```bash
303
- # 1. Create spec (PM agent)
304
- User: "Create spec for user authentication"
305
- PM: Creates .specweave/docs/internal/specs/spec-005-user-auth.md
306
-
307
- # 2. Auto-sync to GitHub (hook)
308
- → GitHub Project created automatically
309
- → Issues created for each user story
310
-
311
- # 3. Implement increments
312
- sw:increment "Add login flow"
313
- → Increment 0010 created (implements US-001, US-002)
314
-
315
- # 4. Work on tasks
316
- sw:do
317
- → Task completed
318
- → Hook fires
319
- → Spec updated (AC marked complete)
320
- → GitHub Project updated automatically
321
-
322
- # 5. Complete spec
323
- → All user stories done
324
- → GitHub Project archived automatically
325
- ```
326
-
327
- ### Team Collaboration
328
-
329
- **For Developers**:
330
- - Work in SpecWeave specs locally
331
- - Automatic GitHub Project updates keep team informed
332
- - No manual project management needed
333
-
334
- **For Project Managers**:
335
- - View all specs as GitHub Projects
336
- - Track progress in GitHub Projects UI
337
- - Comment on issues to communicate with developers
338
-
339
- **For Stakeholders**:
340
- - See progress in familiar GitHub interface
341
- - No need to understand SpecWeave structure
342
- - Clear visibility into feature development status
343
-
344
- ---
345
-
346
- ## Conflict Resolution
347
-
348
- **What if project and spec diverge?**
349
-
350
- The spec is always the source of truth. GitHub Projects are a mirror for visibility.
351
-
352
- **Sync conflicts** (rare):
353
- 1. Spec status conflicts with project state
354
- 2. Manual edits to project/issue body/title
355
-
356
- **Resolution**:
357
- - Run `sw-github:sync-spec spec-001 --force` to overwrite project from spec
358
- - Or manually update spec metadata to match project
359
-
360
- ---
361
-
362
- ## Privacy & Security
363
-
364
- **What gets synced?**
365
- - ✅ Spec title, overview, progress
366
- - ✅ User stories and acceptance criteria
367
- - ✅ User story completion status
368
- - ❌ Code diffs, file contents (never synced)
369
- - ❌ Internal notes, sensitive data
370
-
371
- **Security**:
372
- - Uses GitHub token from environment (GITHUB_TOKEN or GH_TOKEN)
373
- - Respects repository permissions (read/write)
374
- - No data sent to third parties
375
-
376
- ---
377
-
378
- ## Benefits
379
-
380
- **For SpecWeave Users**:
381
- - ✅ No manual GitHub project management
382
- - ✅ Automatic team visibility
383
- - ✅ Single source of truth (spec docs)
384
- - ✅ GitHub integration without leaving IDE
385
-
386
- **For Teams**:
387
- - ✅ Track SpecWeave work in GitHub Projects
388
- - ✅ Use milestones, labels, assignees as usual
389
- - ✅ Comment on issues to communicate with developers
390
- - ✅ View progress in real-time
391
-
392
- **For Organizations**:
393
- - ✅ Unified project tracking across repos
394
- - ✅ GitHub-native workflow (familiar to all)
395
- - ✅ Audit trail (all syncs timestamped)
396
- - ✅ Integration with GitHub Actions, webhooks
397
-
398
- ---
399
-
400
- ## Troubleshooting
401
-
402
- **Project not created?**
403
- - Check GitHub CLI: `gh auth status`
404
- - Verify repo permissions (write access)
405
- - Check config: `.specweave/config.json`
406
-
407
- **Sync failing?**
408
- - Check network connectivity
409
- - Verify project still exists (not deleted)
410
- - Check rate limits: `gh api rate_limit`
411
-
412
- **Progress not updating?**
413
- - Check `autoSyncSpecs: true` in config
414
- - Verify hook execution: `.specweave/logs/hooks-debug.log`
415
- - Manually sync: `sw-github:sync-spec spec-001`
416
-
417
- ---
418
-
419
- ## Advanced Usage
420
-
421
- ### Custom Project Templates
422
-
423
- Create `.specweave/github/project-template.md`:
424
-
425
- ```markdown
426
- # [{{spec.id.toUpperCase()}}] {{spec.title}}
427
-
428
- {{spec.overview}}
429
-
430
- ## SpecWeave Details
431
-
432
- - **Spec**: [spec.md]({{spec.url}})
433
- - **Priority**: {{spec.priority}}
434
- - **Feature Area**: {{spec.featureArea}}
435
-
436
- ## User Stories
437
-
438
- {{spec.userStories.map(us => `- ${us.id}: ${us.title}`).join('\n')}}
439
- ```
440
-
441
- ### Selective Sync
442
-
443
- Sync only specific specs:
444
-
445
- ```json
446
- {
447
- "sync": {
448
- "profiles": {
449
- "default": {
450
- "provider": "github",
451
- "config": {
452
- "owner": "myorg",
453
- "repo": "myrepo",
454
- "syncSpecs": [
455
- "spec-001-core-framework",
456
- "spec-005-user-authentication"
457
- ]
458
- }
459
- }
460
- }
461
- }
462
- }
463
- ```
464
-
465
- ### Multi-Repo Sync
466
-
467
- For monorepos with multiple GitHub repositories, use multiple profiles:
468
-
469
- ```json
470
- {
471
- "sync": {
472
- "profiles": {
473
- "frontend": {
474
- "provider": "github",
475
- "config": {
476
- "owner": "myorg",
477
- "repo": "frontend",
478
- "syncSpecs": ["spec-001-*", "spec-002-*"]
479
- }
480
- },
481
- "backend": {
482
- "provider": "github",
483
- "config": {
484
- "owner": "myorg",
485
- "repo": "backend",
486
- "syncSpecs": ["spec-003-*", "spec-004-*"]
487
- }
488
- }
489
- }
490
- }
491
- }
492
- ```
493
-
494
- ---
495
-
496
- ## Projects V2 Integration (v3.0.0+)
497
-
498
- ### Enabling Projects V2
499
-
500
- Add `projectV2Enabled: true` to your sync config:
501
-
502
- ```json
503
- {
504
- "sync": {
505
- "profiles": {
506
- "myproject": {
507
- "provider": "github",
508
- "config": {
509
- "owner": "myorg",
510
- "repo": "myrepo",
511
- "projectV2Enabled": true,
512
- "projectV2Number": 5
513
- }
514
- }
515
- }
516
- }
517
- }
518
- ```
519
-
520
- ### What Happens with V2 Enabled
521
-
522
- 1. **Push sync** creates/updates GitHub issues (same as before)
523
- 2. **Issues are added to Projects V2 board** automatically
524
- 3. **Status field** is set based on user story status (planned/in-progress/completed)
525
- 4. **Priority field** is set based on user story priority (P1-P4)
526
-
527
- ### Custom Field Mappings
528
-
529
- ```json
530
- {
531
- "statusFieldMapping": {
532
- "planned": "Todo",
533
- "in-progress": "In Progress",
534
- "completed": "Done"
535
- },
536
- "priorityFieldMapping": {
537
- "P1": "Urgent",
538
- "P2": "High",
539
- "P3": "Medium",
540
- "P4": "Low"
541
- }
542
- }
543
- ```
544
-
545
- ### Pull Sync (GitHub to Spec)
546
-
547
- Pull sync fetches issue state and compares with spec ACs:
548
- - AC checkbox toggles on GitHub are detected and applied to spec
549
- - Issue close/reopen is detected as status change
550
- - Conflicts are detected when both spec and GitHub changed the same field
551
-
552
- ### Batch Sync
553
-
554
- Sync all specs at once:
555
- - Discovers all `spec-*.md` files in `.specweave/docs/internal/specs/`
556
- - Syncs each sequentially
557
- - Reports summary with created/updated/failed counts
558
-
559
- ### Cross-Repo Sync
560
-
561
- For distributed strategies, issues can be created in different repos:
562
- - User stories specify target repos via `targetRepos` field
563
- - Cross-references added: "Also tracked in: org/other-repo#XX"
564
- - All cross-repo issues added to shared org-level Projects V2 board
565
-
566
- ---
567
-
568
- ## Related
569
-
570
- - **github-issue-tracker**: DEPRECATED - use spec sync instead
571
- - **Commands**: `sw-github:sync-spec`, `sw-github:import-project`, `sw-github:status`
572
- - **Team Skills**: `sw:team-lead`, `sw:team-status`, `sw:team-merge`
573
-
574
- ---
36
+ ## Removal
575
37
 
576
- **Version**: 3.0.0 (Projects V2 + Pull Sync + Cross-Repo)
577
- **Plugin**: specweave-github
578
- **Last Updated**: 2026-02-06
38
+ Scheduled for removal once the `sw-github:*` command help fully absorbs any
39
+ remaining setup notes. Until then this stub exists only to avoid contradictory
40
+ guidance; it is non-activating (`user-invokable: false`).
@@ -5,7 +5,7 @@
5
5
  "id": 1,
6
6
  "name": "initial-github-sync-setup",
7
7
  "prompt": "I just started using SpecWeave on my project at github.com/myorg/backend-api. I want to sync my specs to GitHub Projects so my team can track progress. How do I set up the GitHub integration? I need two-way sync.",
8
- "expected_output": "Should guide through GitHub CLI authentication (gh auth login), explain the config.json setup for specweave-github plugin with repo, autoSyncSpecs, syncDirection settings, explain that specs (not increments) are synced to GitHub Projects, and mention the sw-github:sync-spec command for manual sync.",
8
+ "expected_output": "Should guide through GitHub CLI authentication (gh auth login), explain the config.json setup for the specweave-github plugin with repo and sync settings, and mention the live sw-github:push / sw-github:pull / sw-github:sync commands for manual sync.",
9
9
  "files": [],
10
10
  "assertions": [
11
11
  {
@@ -30,7 +30,7 @@
30
30
  },
31
31
  {
32
32
  "id": "sync-command",
33
- "text": "References the sw-github:sync-spec command for triggering manual sync operations",
33
+ "text": "References a live sw-github:* command (sw-github:push, sw-github:pull, or sw-github:sync) for triggering manual sync operations",
34
34
  "type": "boolean"
35
35
  }
36
36
  ]
@@ -38,7 +38,7 @@
38
38
  {
39
39
  "id": 2,
40
40
  "name": "sync-troubleshooting-permissions",
41
- "prompt": "My GitHub sync keeps failing with a 403 error when I run sw-github:sync-spec spec-003. I'm getting 'insufficient permissions' errors. I set up the token but something is wrong. How do I fix this?",
41
+ "prompt": "My GitHub sync keeps failing with a 403 error when I run sw-github:push for increment 0003. I'm getting 'insufficient permissions' errors. I set up the token but something is wrong. How do I fix this?",
42
42
  "expected_output": "Should diagnose GitHub permissions issues: check gh auth status, verify token scopes (needs repo and project access), check repository write access, suggest re-authenticating with correct scopes, and mention rate limit checking with gh api rate_limit.",
43
43
  "files": [],
44
44
  "assertions": [