specweave 0.22.13 ā 0.22.14
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-plugin/README.md +2 -2
- package/CLAUDE.md +269 -51
- package/README.md +33 -10
- package/dist/plugins/specweave-github/lib/ThreeLayerSyncManager.d.ts +1 -1
- package/dist/plugins/specweave-github/lib/ThreeLayerSyncManager.js +1 -1
- package/dist/plugins/specweave-github/lib/enhanced-github-sync.js +1 -1
- package/dist/plugins/specweave-github/lib/enhanced-github-sync.js.map +1 -1
- package/dist/plugins/specweave-github/lib/github-spec-content-sync.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/github-spec-content-sync.js +4 -1
- package/dist/plugins/specweave-github/lib/github-spec-content-sync.js.map +1 -1
- package/dist/plugins/specweave-github/lib/github-spec-sync.d.ts +1 -1
- package/dist/plugins/specweave-github/lib/github-spec-sync.js +1 -1
- package/dist/plugins/specweave-github/lib/github-sync-bidirectional.d.ts +9 -0
- package/dist/plugins/specweave-github/lib/github-sync-bidirectional.d.ts.map +1 -1
- package/dist/plugins/specweave-github/lib/github-sync-bidirectional.js +10 -1
- package/dist/plugins/specweave-github/lib/github-sync-bidirectional.js.map +1 -1
- package/dist/plugins/specweave-github/lib/progress-comment-builder.js +2 -2
- package/dist/plugins/specweave-github/lib/progress-comment-builder.js.map +1 -1
- package/dist/plugins/specweave-github/lib/types.d.ts +1 -1
- package/dist/src/cli/commands/init.d.ts.map +1 -1
- package/dist/src/cli/commands/init.js +313 -1
- package/dist/src/cli/commands/init.js.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/index.d.ts.map +1 -1
- package/dist/src/cli/helpers/issue-tracker/index.js +41 -24
- package/dist/src/cli/helpers/issue-tracker/index.js.map +1 -1
- package/dist/src/config/import-config.d.ts +69 -0
- package/dist/src/config/import-config.d.ts.map +1 -0
- package/dist/src/config/import-config.js +136 -0
- package/dist/src/config/import-config.js.map +1 -0
- package/dist/src/config/types.d.ts +10 -10
- package/dist/src/core/living-docs/living-docs-sync.d.ts +2 -0
- package/dist/src/core/living-docs/living-docs-sync.d.ts.map +1 -1
- package/dist/src/core/living-docs/living-docs-sync.js +10 -1
- package/dist/src/core/living-docs/living-docs-sync.js.map +1 -1
- package/dist/src/core/living-docs/task-project-specific-generator.d.ts +2 -2
- package/dist/src/core/living-docs/task-project-specific-generator.js +2 -2
- package/dist/src/core/repo-structure/prompt-consolidator.d.ts +2 -2
- package/dist/src/core/repo-structure/prompt-consolidator.d.ts.map +1 -1
- package/dist/src/core/repo-structure/prompt-consolidator.js +3 -15
- package/dist/src/core/repo-structure/prompt-consolidator.js.map +1 -1
- package/dist/src/core/repo-structure/repo-structure-manager.d.ts +1 -1
- package/dist/src/core/repo-structure/repo-structure-manager.d.ts.map +1 -1
- package/dist/src/core/repo-structure/repo-structure-manager.js +3 -6
- package/dist/src/core/repo-structure/repo-structure-manager.js.map +1 -1
- package/dist/src/core/spec-content-sync.d.ts +4 -1
- package/dist/src/core/spec-content-sync.d.ts.map +1 -1
- package/dist/src/core/spec-content-sync.js +139 -4
- package/dist/src/core/spec-content-sync.js.map +1 -1
- package/dist/src/core/spec-task-mapper.d.ts.map +1 -1
- package/dist/src/core/spec-task-mapper.js +9 -8
- package/dist/src/core/spec-task-mapper.js.map +1 -1
- package/dist/src/core/status-line-validator.d.ts +63 -0
- package/dist/src/core/status-line-validator.d.ts.map +1 -0
- package/dist/src/core/status-line-validator.js +253 -0
- package/dist/src/core/status-line-validator.js.map +1 -0
- package/dist/src/core/sync/bidirectional-engine.d.ts +10 -1
- package/dist/src/core/sync/bidirectional-engine.d.ts.map +1 -1
- package/dist/src/core/sync/bidirectional-engine.js +10 -1
- package/dist/src/core/sync/bidirectional-engine.js.map +1 -1
- package/dist/src/core/sync/profile-manager.d.ts.map +1 -1
- package/dist/src/core/sync/profile-manager.js +3 -0
- package/dist/src/core/sync/profile-manager.js.map +1 -1
- package/dist/src/core/sync/project-context.d.ts.map +1 -1
- package/dist/src/core/sync/project-context.js +3 -0
- package/dist/src/core/sync/project-context.js.map +1 -1
- package/dist/src/core/sync/status-sync-engine.d.ts +1 -1
- package/dist/src/core/sync/status-sync-engine.js +1 -1
- package/dist/src/core/types/origin-metadata.d.ts +153 -0
- package/dist/src/core/types/origin-metadata.d.ts.map +1 -0
- package/dist/src/core/types/origin-metadata.js +166 -0
- package/dist/src/core/types/origin-metadata.js.map +1 -0
- package/dist/src/core/types/sync-profile.d.ts +8 -2
- package/dist/src/core/types/sync-profile.d.ts.map +1 -1
- package/dist/src/core/types/sync-profile.js.map +1 -1
- package/dist/src/core/types/sync-settings.d.ts +73 -0
- package/dist/src/core/types/sync-settings.d.ts.map +1 -0
- package/dist/src/core/types/sync-settings.js +90 -0
- package/dist/src/core/types/sync-settings.js.map +1 -0
- package/dist/src/core/utils/permission-checker.d.ts +100 -0
- package/dist/src/core/utils/permission-checker.d.ts.map +1 -0
- package/dist/src/core/utils/permission-checker.js +166 -0
- package/dist/src/core/utils/permission-checker.js.map +1 -0
- package/dist/src/generators/spec/spec-parser.js +3 -3
- package/dist/src/generators/spec/spec-parser.js.map +1 -1
- package/dist/src/generators/spec/task-parser.js +4 -4
- package/dist/src/generators/spec/task-parser.js.map +1 -1
- package/dist/src/id-generators/task-id-generator.d.ts +96 -0
- package/dist/src/id-generators/task-id-generator.d.ts.map +1 -0
- package/dist/src/id-generators/task-id-generator.js +143 -0
- package/dist/src/id-generators/task-id-generator.js.map +1 -0
- package/dist/src/id-generators/us-id-generator.d.ts +96 -0
- package/dist/src/id-generators/us-id-generator.d.ts.map +1 -0
- package/dist/src/id-generators/us-id-generator.js +143 -0
- package/dist/src/id-generators/us-id-generator.js.map +1 -0
- package/dist/src/importers/ado-importer.d.ts +43 -0
- package/dist/src/importers/ado-importer.d.ts.map +1 -0
- package/dist/src/importers/ado-importer.js +234 -0
- package/dist/src/importers/ado-importer.js.map +1 -0
- package/dist/src/importers/external-importer.d.ts +96 -0
- package/dist/src/importers/external-importer.d.ts.map +1 -0
- package/dist/src/importers/external-importer.js +13 -0
- package/dist/src/importers/external-importer.js.map +1 -0
- package/dist/src/importers/github-importer.d.ts +37 -0
- package/dist/src/importers/github-importer.d.ts.map +1 -0
- package/dist/src/importers/github-importer.js +161 -0
- package/dist/src/importers/github-importer.js.map +1 -0
- package/dist/src/importers/import-coordinator.d.ts +90 -0
- package/dist/src/importers/import-coordinator.d.ts.map +1 -0
- package/dist/src/importers/import-coordinator.js +182 -0
- package/dist/src/importers/import-coordinator.js.map +1 -0
- package/dist/src/importers/item-converter.d.ts +91 -0
- package/dist/src/importers/item-converter.d.ts.map +1 -0
- package/dist/src/importers/item-converter.js +221 -0
- package/dist/src/importers/item-converter.js.map +1 -0
- package/dist/src/importers/jira-importer.d.ts +42 -0
- package/dist/src/importers/jira-importer.d.ts.map +1 -0
- package/dist/src/importers/jira-importer.js +221 -0
- package/dist/src/importers/jira-importer.js.map +1 -0
- package/dist/src/init/repo/types.d.ts +2 -2
- package/dist/src/integrations/jira/jira-mapper.d.ts +1 -1
- package/dist/src/integrations/jira/jira-mapper.js +1 -1
- package/dist/src/living-docs/fs-id-allocator.d.ts +149 -0
- package/dist/src/living-docs/fs-id-allocator.d.ts.map +1 -0
- package/dist/src/living-docs/fs-id-allocator.js +325 -0
- package/dist/src/living-docs/fs-id-allocator.js.map +1 -0
- package/dist/src/living-docs/id-registry.d.ts +124 -0
- package/dist/src/living-docs/id-registry.d.ts.map +1 -0
- package/dist/src/living-docs/id-registry.js +230 -0
- package/dist/src/living-docs/id-registry.js.map +1 -0
- package/dist/src/progress/us-progress-tracker.d.ts +68 -0
- package/dist/src/progress/us-progress-tracker.d.ts.map +1 -0
- package/dist/src/progress/us-progress-tracker.js +120 -0
- package/dist/src/progress/us-progress-tracker.js.map +1 -0
- package/package.json +1 -1
- package/plugins/specweave/.claude-plugin/plugin.json +16 -2
- package/plugins/specweave/agents/architect/AGENT.md +11 -2
- package/plugins/specweave/agents/test-aware-planner/AGENT.md +81 -25
- package/plugins/specweave/commands/specweave-import-docs.md +278 -88
- package/plugins/specweave/commands/specweave-progress.md +45 -97
- package/plugins/specweave/hooks/post-increment-completion.sh +168 -26
- package/plugins/specweave/hooks/post-increment-planning.sh +148 -4
- package/plugins/specweave/hooks/post-task-completion.sh +64 -4
- package/plugins/specweave/lib/hooks/sync-cache.js +294 -0
- package/plugins/specweave/lib/hooks/sync-living-docs.js +32 -1
- package/plugins/specweave/lib/hooks/sync-us-tasks.js +23 -13
- package/plugins/specweave-ado/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-ado/lib/conflict-resolver.ts +1 -1
- package/plugins/specweave-alternatives/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-backend/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-confluent/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-cost-optimizer/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-diagrams/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-docs/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-docs-preview/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-figma/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-frontend/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-github/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-github/hooks/post-task-completion.sh +37 -22
- package/plugins/specweave-github/lib/ThreeLayerSyncManager.ts +1 -1
- package/plugins/specweave-github/lib/enhanced-github-sync.js +1 -1
- package/plugins/specweave-github/lib/enhanced-github-sync.ts +1 -1
- package/plugins/specweave-github/lib/github-spec-content-sync.js +2 -1
- package/plugins/specweave-github/lib/github-spec-content-sync.ts +4 -1
- package/plugins/specweave-github/lib/github-spec-sync.js +1 -1
- package/plugins/specweave-github/lib/github-spec-sync.ts +1 -1
- package/plugins/specweave-github/lib/github-sync-bidirectional.js +1 -1
- package/plugins/specweave-github/lib/github-sync-bidirectional.ts +10 -1
- package/plugins/specweave-github/lib/progress-comment-builder.js +1 -1
- package/plugins/specweave-github/lib/progress-comment-builder.ts +2 -2
- package/plugins/specweave-github/lib/types.ts +1 -1
- package/plugins/specweave-infrastructure/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-jira/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-kafka/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-kafka-streams/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-kubernetes/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-ml/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-mobile/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-n8n/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-payments/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-release/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-release/hooks/.specweave/logs/dora-tracking.log +252 -0
- package/plugins/specweave-testing/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-tooling/.claude-plugin/plugin.json +1 -1
- package/plugins/specweave-ui/.claude-plugin/plugin.json +1 -1
- package/src/templates/.env.example +5 -0
- package/src/templates/config-permissions-guide.md +413 -0
- package/src/templates/config.json.template +68 -0
- package/src/templates/tasks.md.template +180 -201
package/.claude-plugin/README.md
CHANGED
|
@@ -101,7 +101,7 @@ SpecWeave's marketplace.json follows Claude's official schema format. Here's the
|
|
|
101
101
|
"plugins": [
|
|
102
102
|
{
|
|
103
103
|
"name": "specweave-github",
|
|
104
|
-
"description": "GitHub integration -
|
|
104
|
+
"description": "GitHub integration - full sync (all permissions)",
|
|
105
105
|
"source": "../plugins/specweave-github",
|
|
106
106
|
"category": "productivity",
|
|
107
107
|
"version": "1.0.0",
|
|
@@ -173,7 +173,7 @@ SpecWeave's marketplace.json follows Claude's official schema format. Here's the
|
|
|
173
173
|
- `status` - Show GitHub sync status
|
|
174
174
|
|
|
175
175
|
**Skills**:
|
|
176
|
-
- `github-sync` -
|
|
176
|
+
- `github-sync` - Full sync (all permissions)
|
|
177
177
|
- `github-issue-tracker` - Task-level tracking
|
|
178
178
|
|
|
179
179
|
**Agents**:
|
package/CLAUDE.md
CHANGED
|
@@ -10,77 +10,114 @@ For **contributors to SpecWeave itself** (not users).
|
|
|
10
10
|
|
|
11
11
|
## šØ CRITICAL SAFETY RULES
|
|
12
12
|
|
|
13
|
-
### 1.
|
|
13
|
+
### 1. Local Development Setup
|
|
14
14
|
|
|
15
|
-
**
|
|
16
|
-
1. **Development Mode**: Local repo symlink (for iterating on SpecWeave itself)
|
|
17
|
-
2. **NPM Testing Mode**: Global npm installation (for testing end-user experience)
|
|
15
|
+
**SpecWeave uses Claude Code's GitHub marketplace** for plugin management. This is the **cross-platform, simple approach** that works on macOS, Linux, and Windows.
|
|
18
16
|
|
|
19
|
-
####
|
|
17
|
+
#### Quick Start (Recommended - All Platforms)
|
|
20
18
|
|
|
21
|
-
**Problem**: Claude Code executes hooks from `~/.claude/plugins/marketplaces/specweave/`. If this is a **directory** (not symlink), hooks fail with "No such file or directory".
|
|
22
|
-
|
|
23
|
-
**Quick Setup**:
|
|
24
19
|
```bash
|
|
25
|
-
#
|
|
26
|
-
|
|
20
|
+
# 1. Clone and install
|
|
21
|
+
git clone https://github.com/YOUR_USERNAME/specweave.git
|
|
22
|
+
cd specweave
|
|
23
|
+
npm install
|
|
24
|
+
|
|
25
|
+
# 2. Build TypeScript
|
|
26
|
+
npm run rebuild
|
|
27
27
|
|
|
28
|
-
#
|
|
29
|
-
|
|
30
|
-
# Must show: lrwxr-xr-x ... -> /path/to/repo (SYMLINK, not drwxr-xr-x)
|
|
28
|
+
# 3. That's it! Claude Code auto-installs from GitHub marketplace
|
|
29
|
+
# Hooks execute from: ~/.claude/plugins/marketplaces/specweave/
|
|
31
30
|
```
|
|
32
31
|
|
|
33
|
-
|
|
32
|
+
#### Development Workflow
|
|
33
|
+
|
|
34
|
+
**How it works**: Claude Code automatically pulls your latest code from GitHub every 5-10 seconds.
|
|
35
|
+
|
|
34
36
|
```bash
|
|
35
|
-
#
|
|
36
|
-
|
|
37
|
+
# 1. Make changes in local repo
|
|
38
|
+
vim src/core/task-parser.ts
|
|
37
39
|
|
|
38
|
-
#
|
|
39
|
-
|
|
40
|
-
ln -s "$(pwd)" ~/.claude/plugins/marketplaces/specweave
|
|
40
|
+
# 2. Build TypeScript changes
|
|
41
|
+
npm run rebuild
|
|
41
42
|
|
|
42
|
-
#
|
|
43
|
-
|
|
43
|
+
# 3. Test locally
|
|
44
|
+
npm test
|
|
45
|
+
|
|
46
|
+
# 4. Commit and push to your branch
|
|
47
|
+
git add . && git commit -m "feat: new feature"
|
|
48
|
+
git push origin develop
|
|
49
|
+
|
|
50
|
+
# 5. Wait 5-10 seconds ā Claude Code auto-updates marketplace
|
|
51
|
+
|
|
52
|
+
# 6. Test in Claude Code
|
|
53
|
+
/specweave:increment "test feature"
|
|
54
|
+
# Your latest hooks now execute automatically!
|
|
44
55
|
```
|
|
45
56
|
|
|
46
|
-
**
|
|
47
|
-
|
|
57
|
+
**For hook-only changes** (no TypeScript build needed):
|
|
58
|
+
```bash
|
|
59
|
+
vim plugins/specweave/hooks/post-task-completion.sh
|
|
60
|
+
git add . && git commit -m "fix: improve hook logic"
|
|
61
|
+
git push origin develop
|
|
62
|
+
# Wait 5-10 seconds ā hooks updated!
|
|
63
|
+
```
|
|
48
64
|
|
|
49
|
-
|
|
65
|
+
**Key Benefits**:
|
|
66
|
+
- ā
**Cross-platform** (works on Windows, no admin privileges needed)
|
|
67
|
+
- ā
**Simple** (standard git workflow, no scripts)
|
|
68
|
+
- ā
**Reliable** (Claude Code manages updates, no symlink race conditions)
|
|
69
|
+
- ā
**Team-friendly** (everyone gets updates automatically)
|
|
50
70
|
|
|
51
|
-
|
|
71
|
+
#### Testing Unpushed Changes (Advanced)
|
|
52
72
|
|
|
53
|
-
**
|
|
73
|
+
**Option 1: Temporary Branch** (Recommended)
|
|
54
74
|
```bash
|
|
55
|
-
#
|
|
56
|
-
|
|
75
|
+
# Create throwaway test branch
|
|
76
|
+
git checkout -b temp-test-$(date +%s)
|
|
77
|
+
git add . && git commit -m "temp: testing unpushed changes"
|
|
78
|
+
git push origin temp-test-1234567890
|
|
57
79
|
|
|
58
|
-
#
|
|
59
|
-
|
|
80
|
+
# Claude Code pulls from your test branch (5-10 seconds)
|
|
81
|
+
# Test your changes...
|
|
60
82
|
|
|
61
|
-
#
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
83
|
+
# Clean up when done
|
|
84
|
+
git push origin --delete temp-test-1234567890
|
|
85
|
+
git checkout develop && git branch -D temp-test-1234567890
|
|
86
|
+
```
|
|
65
87
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
88
|
+
**Option 2: Fork-Based Development**
|
|
89
|
+
```bash
|
|
90
|
+
# One-time: Point Claude Code to your fork
|
|
91
|
+
claude plugin marketplace remove specweave
|
|
92
|
+
claude plugin marketplace add github:YOUR_USERNAME/specweave
|
|
93
|
+
|
|
94
|
+
# Now push to your fork's branch
|
|
95
|
+
git push origin develop
|
|
96
|
+
# Claude Code pulls from YOUR fork, not upstream
|
|
69
97
|
```
|
|
70
98
|
|
|
71
|
-
**
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
99
|
+
**Option 3: Symlink Mode** (Advanced, Unix-Only)
|
|
100
|
+
If you need **instant updates** without pushing (e.g., rapid hook iteration):
|
|
101
|
+
- See: `.specweave/docs/internal/advanced/symlink-dev-mode.md`
|
|
102
|
+
- ā ļø **Warning**: Only works on macOS/Linux, not Windows
|
|
103
|
+
- ā ļø Requires bash scripts, registry manipulation, ongoing maintenance
|
|
104
|
+
|
|
105
|
+
#### NPM Testing Mode (End-User Experience)
|
|
106
|
+
|
|
107
|
+
To test the published npm package as end-users experience it:
|
|
78
108
|
|
|
79
|
-
**Quick Toggle**:
|
|
80
109
|
```bash
|
|
81
|
-
#
|
|
82
|
-
|
|
83
|
-
|
|
110
|
+
# 1. Install global npm package
|
|
111
|
+
npm install -g specweave
|
|
112
|
+
|
|
113
|
+
# 2. Test in fresh directory
|
|
114
|
+
cd /tmp && mkdir test-project && cd test-project
|
|
115
|
+
specweave init .
|
|
116
|
+
# ... test end-user workflows ...
|
|
117
|
+
|
|
118
|
+
# 3. Resume development
|
|
119
|
+
cd /path/to/specweave/repo
|
|
120
|
+
# Claude Code automatically switches back to marketplace mode
|
|
84
121
|
```
|
|
85
122
|
|
|
86
123
|
### 2. NEVER Pollute Increment Folders
|
|
@@ -222,6 +259,61 @@ grep -c "^- \[x\] \*\*AC-" spec.md
|
|
|
222
259
|
|
|
223
260
|
**Incident Reference**: 2025-11-19 - Increment 0044 was incorrectly closed with tasks.md showing `[ ] pending` while internal TODO showed "completed". This violated SpecWeave's core principle. See `.specweave/increments/0044-integration-testing-status-hooks/reports/INCIDENT-SOURCE-OF-TRUTH-VIOLATION.md` for full post-mortem.
|
|
224
261
|
|
|
262
|
+
### 7a. Status Line Synchronization (AUTOMATIC & ENFORCED!)
|
|
263
|
+
|
|
264
|
+
**CRITICAL**: Status line MUST ALWAYS reflect current task completion status.
|
|
265
|
+
|
|
266
|
+
**How It Works** (Automatic):
|
|
267
|
+
1. Every TodoWrite call ā `post-task-completion.sh` hook fires
|
|
268
|
+
2. Hook calls `update-status-line.sh` ā cache updates
|
|
269
|
+
3. Status line displays updated progress immediately
|
|
270
|
+
|
|
271
|
+
**The ONLY Way to Complete Tasks**:
|
|
272
|
+
```
|
|
273
|
+
ALWAYS use TodoWrite when working on increment tasks!
|
|
274
|
+
- TodoWrite triggers hooks automatically
|
|
275
|
+
- Hooks update status line cache
|
|
276
|
+
- Status line stays synchronized
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
**ā NEVER Complete Tasks Without TodoWrite**:
|
|
280
|
+
```typescript
|
|
281
|
+
// ā WRONG: Direct Edit without TodoWrite
|
|
282
|
+
Edit("tasks.md", "**Status**: [ ] pending", "**Status**: [x] completed");
|
|
283
|
+
// Status line will NOT update! Hook never fires!
|
|
284
|
+
|
|
285
|
+
// ā
CORRECT: TodoWrite triggers automatic update
|
|
286
|
+
TodoWrite([{task: "T-001", status: "in_progress"}]);
|
|
287
|
+
// ... do the work ...
|
|
288
|
+
TodoWrite([{task: "T-001", status: "completed"}]);
|
|
289
|
+
Edit("tasks.md", "**Status**: [ ] pending", "**Status**: [x] completed");
|
|
290
|
+
// Hook fires ā status line updates automatically!
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
**Validation Commands**:
|
|
294
|
+
```bash
|
|
295
|
+
# Check if status line is in sync
|
|
296
|
+
/specweave:validate-status
|
|
297
|
+
|
|
298
|
+
# Manual update (emergency only)
|
|
299
|
+
bash plugins/specweave/hooks/lib/update-status-line.sh
|
|
300
|
+
|
|
301
|
+
# Validate all increments
|
|
302
|
+
npx tsx src/core/status-line-validator.ts
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
**Detection & Recovery**:
|
|
306
|
+
- Pre-commit hook validates sync (blocks commit if desync detected)
|
|
307
|
+
- `/specweave:done` validates before closing (blocks if desync)
|
|
308
|
+
- Automatic tests verify hook fires correctly
|
|
309
|
+
|
|
310
|
+
**Why This Matters**:
|
|
311
|
+
- Status line is visible to user at ALL times
|
|
312
|
+
- Stale status = broken trust
|
|
313
|
+
- Hooks ensure atomic updates (task complete ā status updates together)
|
|
314
|
+
|
|
315
|
+
**Incident Reference**: 2025-11-20 - Status line showed 21/52 tasks when actually 26/52 were complete (10% desync). Root cause: Tasks marked complete without using TodoWrite, so hooks never fired. Added validation layer and tests to prevent future occurrences.
|
|
316
|
+
|
|
225
317
|
### 8. NEVER Use `console.*` in Production Code
|
|
226
318
|
|
|
227
319
|
**Rule**: ALL `src/` code MUST use logger abstraction, NEVER `console.log/error/warn`.
|
|
@@ -320,7 +412,71 @@ export async function myCommand(options: CommandOptions = {}) {
|
|
|
320
412
|
|
|
321
413
|
**Note**: Most standards are enforced by ESLint/Prettier. This list focuses on SpecWeave-specific rules and patterns that can't be auto-fixed by linters.
|
|
322
414
|
|
|
323
|
-
### 10.
|
|
415
|
+
### 10. GitHub Issue Format Policy (v0.24.0+)
|
|
416
|
+
|
|
417
|
+
**CRITICAL**: ALL GitHub issues MUST use User Story-level format.
|
|
418
|
+
|
|
419
|
+
**ONLY Correct Format**:
|
|
420
|
+
```
|
|
421
|
+
[FS-XXX][US-YYY] User Story Title
|
|
422
|
+
```
|
|
423
|
+
|
|
424
|
+
**Examples**:
|
|
425
|
+
- ā
`[FS-043][US-001] Status Line Shows Correct Active Increment`
|
|
426
|
+
- ā
`[FS-047][US-002] AC-Task Mapping`
|
|
427
|
+
|
|
428
|
+
**Incorrect Formats** (NEVER use):
|
|
429
|
+
- ā `[FS-047]` (Feature-only, missing US-ID)
|
|
430
|
+
- ā `[SP-US-006]` (SP prefix, missing Feature ID)
|
|
431
|
+
- ā `[SP-FS-047-specweave]` (SP prefix, project name)
|
|
432
|
+
- ā `[INC-0047]` (Increment-only)
|
|
433
|
+
|
|
434
|
+
**How to Create Issues**:
|
|
435
|
+
```bash
|
|
436
|
+
# CORRECT way (creates [FS-XXX][US-YYY] issues)
|
|
437
|
+
node -e "
|
|
438
|
+
const { GitHubFeatureSync } = require('./dist/plugins/specweave-github/lib/github-feature-sync.js');
|
|
439
|
+
const { GitHubClientV2 } = require('./dist/plugins/specweave-github/lib/github-client-v2.js');
|
|
440
|
+
|
|
441
|
+
const client = GitHubClientV2.fromRepo('anton-abyzov', 'specweave');
|
|
442
|
+
const sync = new GitHubFeatureSync(client, '.specweave/docs/internal/specs', process.cwd());
|
|
443
|
+
sync.syncFeatureToGitHub('FS-047').then(console.log).catch(console.error);
|
|
444
|
+
"
|
|
445
|
+
|
|
446
|
+
# WRONG way (deprecated, creates [FS-XXX] issues)
|
|
447
|
+
/specweave:increment "feature" # ā This no longer creates GitHub issues
|
|
448
|
+
```
|
|
449
|
+
|
|
450
|
+
**Why This Matters**:
|
|
451
|
+
- **Features** are tracked via GitHub **Milestones** (not Issues)
|
|
452
|
+
- **User Stories** are tracked via GitHub **Issues**
|
|
453
|
+
- **Tasks** are tracked as **checkboxes** in User Story issue body
|
|
454
|
+
|
|
455
|
+
**Architecture**:
|
|
456
|
+
```
|
|
457
|
+
Feature (FS-047)
|
|
458
|
+
ā GitHub Milestone #13
|
|
459
|
+
āā User Story (US-001) ā GitHub Issue #638: [FS-047][US-001] Title
|
|
460
|
+
āā User Story (US-002) ā GitHub Issue #639: [FS-047][US-002] Title
|
|
461
|
+
āā User Story (US-003) ā GitHub Issue #640: [FS-047][US-003] Title
|
|
462
|
+
```
|
|
463
|
+
|
|
464
|
+
**Deprecated Mechanisms**:
|
|
465
|
+
- ā `post-increment-planning.sh` hook (disabled by default)
|
|
466
|
+
- ā `update-epic-github-issue.sh` script (deprecated)
|
|
467
|
+
- ā `generate-epic-issue-body.ts` script (deprecated)
|
|
468
|
+
|
|
469
|
+
These created Feature-only issues with format `[FS-XXX]` which is INCORRECT.
|
|
470
|
+
|
|
471
|
+
**Hooks Disabled**:
|
|
472
|
+
- Increment-level GitHub sync in `post-increment-planning.sh` (disabled unless `SPECWEAVE_ENABLE_INCREMENT_GITHUB_SYNC=true`)
|
|
473
|
+
- Epic sync in `post-task-completion.sh` (disabled unless `SPECWEAVE_ENABLE_EPIC_SYNC=true`)
|
|
474
|
+
|
|
475
|
+
**See Also**:
|
|
476
|
+
- `.specweave/increments/0047-us-task-linkage/reports/GITHUB-TITLE-FORMAT-FIX-PLAN.md`
|
|
477
|
+
- `plugins/specweave-github/lib/user-story-issue-builder.ts:94`
|
|
478
|
+
|
|
479
|
+
### 11. Task Format with US-Task Linkage (v0.23.0+)
|
|
324
480
|
|
|
325
481
|
**CRITICAL**: ALL tasks MUST include User Story linkage fields for proper traceability.
|
|
326
482
|
|
|
@@ -397,6 +553,68 @@ When task marked completed in tasks.md:
|
|
|
397
553
|
- Proposal: `.specweave/increments/0046-console-elimination/reports/US-TASK-LINKAGE-PROPOSAL.md`
|
|
398
554
|
- Living Docs: `.specweave/docs/public/guides/bidirectional-linking.md`
|
|
399
555
|
|
|
556
|
+
### 12. ADR Naming Convention (CRITICAL!)
|
|
557
|
+
|
|
558
|
+
**Architecture Decision Records (ADRs) MUST follow strict naming convention**:
|
|
559
|
+
|
|
560
|
+
**Correct Format**:
|
|
561
|
+
- **Filename**: `XXXX-decision-title.md` (4-digit number, kebab-case, NO `adr-` prefix)
|
|
562
|
+
- **Header**: `# ADR-XXXX: Decision Title` (includes `ADR-` prefix for document clarity)
|
|
563
|
+
- **Location**: `.specweave/docs/internal/architecture/adr/`
|
|
564
|
+
|
|
565
|
+
**Examples**:
|
|
566
|
+
```
|
|
567
|
+
ā
CORRECT:
|
|
568
|
+
Filename: 0007-github-first-task-sync.md
|
|
569
|
+
Header: # ADR-0007: GitHub-First Task-Level Synchronization
|
|
570
|
+
|
|
571
|
+
ā
CORRECT:
|
|
572
|
+
Filename: 0032-universal-hierarchy-mapping.md
|
|
573
|
+
Header: # ADR-0032: Universal Hierarchy Mapping
|
|
574
|
+
|
|
575
|
+
ā WRONG:
|
|
576
|
+
Filename: adr-0007-github-first-task-sync.md (NO adr- prefix!)
|
|
577
|
+
Reason: Redundant (already in /adr/ directory)
|
|
578
|
+
|
|
579
|
+
ā WRONG:
|
|
580
|
+
Filename: ADR-0007-github-first-task-sync.md (uppercase)
|
|
581
|
+
Reason: Filenames must be lowercase
|
|
582
|
+
|
|
583
|
+
ā WRONG:
|
|
584
|
+
Filename: 007-github-first-task-sync.md (3-digit)
|
|
585
|
+
Reason: MUST be 4-digit (0001-9999)
|
|
586
|
+
```
|
|
587
|
+
|
|
588
|
+
**Why This Matters**:
|
|
589
|
+
- **Consistency**: All ADRs follow same pattern (sortable, predictable)
|
|
590
|
+
- **Clarity**: File location indicates type (in `/adr/` directory)
|
|
591
|
+
- **Tooling**: Scripts expect 4-digit format for auto-numbering
|
|
592
|
+
- **Cross-references**: Links use `adr/XXXX-name.md` format
|
|
593
|
+
|
|
594
|
+
**Enforcement**:
|
|
595
|
+
- Architect agent validates format before creating ADRs
|
|
596
|
+
- Pre-commit hook checks for `adr-XXXX-*.md` pattern and rejects
|
|
597
|
+
- `/specweave:validate` command verifies ADR naming
|
|
598
|
+
|
|
599
|
+
**Common Mistakes**:
|
|
600
|
+
1. Adding `adr-` prefix to filename (copying from header)
|
|
601
|
+
2. Using 3-digit numbers instead of 4-digit (001 vs 0001)
|
|
602
|
+
3. Uppercase filenames (ADR-0007 vs 0007)
|
|
603
|
+
4. Missing kebab-case (spaces or underscores instead of hyphens)
|
|
604
|
+
|
|
605
|
+
**Auto-Numbering**:
|
|
606
|
+
To find next available ADR number (handles duplicates correctly):
|
|
607
|
+
```bash
|
|
608
|
+
ls .specweave/docs/internal/architecture/adr/*.md | \
|
|
609
|
+
grep -E '/[0-9]{4}-' | \
|
|
610
|
+
sed 's/.*\/\([0-9][0-9][0-9][0-9]\)-.*/\1/' | \
|
|
611
|
+
sort -u | \
|
|
612
|
+
tail -1 | \
|
|
613
|
+
awk '{printf "Next ADR: %04d\n", $1 + 1}'
|
|
614
|
+
# Output: Next ADR: 0049
|
|
615
|
+
# (Extracts unique numbers only, finds max, adds 1)
|
|
616
|
+
```
|
|
617
|
+
|
|
400
618
|
---
|
|
401
619
|
|
|
402
620
|
## Project Structure
|
|
@@ -613,7 +831,7 @@ vim .specweave/docs/public/guides/user-guide.md
|
|
|
613
831
|
**Commands not working**: Verify plugin installed, restart Claude Code
|
|
614
832
|
**Tests failing**: Run `npm run rebuild`, check test output
|
|
615
833
|
**Root folder polluted**: Move files to `.specweave/increments/####/reports/`
|
|
616
|
-
**Hooks failing**:
|
|
834
|
+
**Hooks failing**: Ensure changes are pushed to GitHub (Claude Code auto-updates marketplace every 5-10s). For symlink mode, see `.specweave/docs/internal/advanced/symlink-dev-mode.md`
|
|
617
835
|
|
|
618
836
|
---
|
|
619
837
|
|
|
@@ -644,7 +862,7 @@ vim .specweave/docs/public/guides/user-guide.md
|
|
|
644
862
|
- Tests: `tests/` (unit, integration, E2E)
|
|
645
863
|
|
|
646
864
|
**Remember**:
|
|
647
|
-
1.
|
|
865
|
+
1. Push changes to GitHub ā Claude Code auto-updates marketplace (5-10s)
|
|
648
866
|
2. Keep root clean (use increment folders)
|
|
649
867
|
3. Test before committing
|
|
650
868
|
4. Never delete .specweave/ directories
|
package/README.md
CHANGED
|
@@ -137,7 +137,30 @@ You ā Manual ā Write docs ā (4 hours/week wasted)
|
|
|
137
137
|
|
|
138
138
|
**Total waste**: 9 hours/week = $35K/year per developer
|
|
139
139
|
|
|
140
|
-
### The SpecWeave Solution:
|
|
140
|
+
### The SpecWeave Solution: AI with Three-Permission Sync
|
|
141
|
+
|
|
142
|
+
**Control EXACTLY what Claude updates with three simple questions**:
|
|
143
|
+
|
|
144
|
+
```mermaid
|
|
145
|
+
graph TB
|
|
146
|
+
A[š¤ You + Claude] -->|"Plan feature:\n/specweave:increment"| B{Q1: Can Claude CREATE\nand UPDATE work items\nit created?}
|
|
147
|
+
B -->|"ā
Yes"| C[š Create GitHub Issue #142]
|
|
148
|
+
B -->|"ā No"| D[š» Local Mode Only]
|
|
149
|
+
|
|
150
|
+
E[ā
Task Complete] -->|"Update content?"| F{Q2: Can Claude UPDATE\nwork items created\nexternally?}
|
|
151
|
+
F -->|"ā
Yes"| G[š¤ Update PM-Created Issues]
|
|
152
|
+
F -->|"ā No"| H[š Living Docs Only]
|
|
153
|
+
|
|
154
|
+
I[š Issue Closed] -->|"Sync status?"| J{Q3: Can Claude UPDATE\nstatus of work items?}
|
|
155
|
+
J -->|"ā
Yes"| K[ā
Sync Status]
|
|
156
|
+
J -->|"ā No"| L[š¤ Manual Management]
|
|
157
|
+
|
|
158
|
+
style B fill:#339af0,stroke:#1971c2,stroke-width:3px,color:#fff
|
|
159
|
+
style F fill:#51cf66,stroke:#2f9e44,stroke-width:3px,color:#fff
|
|
160
|
+
style J fill:#ff8c42,stroke:#e8590c,stroke-width:3px,color:#fff
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
**Answer 3 questions during `specweave init`, Claude handles everything else**:
|
|
141
164
|
|
|
142
165
|
```
|
|
143
166
|
You ā Claude ā EVERYTHING (automatic!)
|
|
@@ -146,20 +169,20 @@ You ā Claude ā EVERYTHING (automatic!)
|
|
|
146
169
|
|
|
147
170
|
Claude creates:
|
|
148
171
|
ā
Spec.md (user stories, acceptance criteria)
|
|
149
|
-
ā
JIRA Epic + 5 Stories (auto-created
|
|
150
|
-
ā
GitHub Issue #142 (auto-created
|
|
172
|
+
ā
JIRA Epic + 5 Stories (auto-created if Q1=Yes)
|
|
173
|
+
ā
GitHub Issue #142 (auto-created if Q1=Yes)
|
|
151
174
|
ā
Tasks with embedded tests (BDD format)
|
|
152
175
|
|
|
153
176
|
/specweave:do
|
|
154
177
|
|
|
155
178
|
Claude implements Task 1:
|
|
156
179
|
ā
Code (AuthService.ts, tests, 92% coverage)
|
|
157
|
-
ā
JIRA Story ā "Done" (updated automatically!)
|
|
158
|
-
ā
GitHub checkbox ā ā (updated automatically!)
|
|
180
|
+
ā
JIRA Story ā "Done" (if Q2=Yes, updated automatically!)
|
|
181
|
+
ā
GitHub checkbox ā ā (if Q2=Yes, updated automatically!)
|
|
159
182
|
ā
Docs synced (ADRs, architecture, runbooks)
|
|
160
183
|
```
|
|
161
184
|
|
|
162
|
-
**Your team/client/manager sees updates in real-time.
|
|
185
|
+
**Your team/client/manager sees updates in real-time. Zero manual work.**
|
|
163
186
|
|
|
164
187
|
### What This Means in Practice
|
|
165
188
|
|
|
@@ -187,9 +210,9 @@ Claude implements Task 1:
|
|
|
187
210
|
|
|
188
211
|
| Platform | Status | Capabilities |
|
|
189
212
|
|----------|--------|--------------|
|
|
190
|
-
| **GitHub Issues** | ā
Production |
|
|
191
|
-
| **JIRA** | ā
Production | Epic/Story sync, status updates, comments
|
|
192
|
-
| **Azure DevOps** | ā
Production | Work items, hierarchy, area paths
|
|
213
|
+
| **GitHub Issues** | ā
Production | Three-permission sync, task tracking, auto-close, multi-repo |
|
|
214
|
+
| **JIRA** | ā
Production | Three-permission sync, Epic/Story sync, status updates, comments |
|
|
215
|
+
| **Azure DevOps** | ā
Production | Three-permission sync, Work items, hierarchy, area paths |
|
|
193
216
|
| **Linear** | š Coming Q1 2026 | Full integration planned |
|
|
194
217
|
| **Asana** | š Coming Q2 2026 | Full integration planned |
|
|
195
218
|
|
|
@@ -326,7 +349,7 @@ specweave init .
|
|
|
326
349
|
|
|
327
350
|
### Production Features
|
|
328
351
|
|
|
329
|
-
- š¤ **AI-Native Enterprise Sync** - Claude updates JIRA/GitHub/ADO automatically (
|
|
352
|
+
- š¤ **AI-Native Enterprise Sync** - Claude updates JIRA/GitHub/ADO automatically (three-permission control)
|
|
330
353
|
- š **Living Documentation** - Auto-updates after every task (no manual sync!)
|
|
331
354
|
- š§Ŗ **Test-Aware Planning** - Embedded tests in BDD format (Given/When/Then)
|
|
332
355
|
- šÆ **Disciplined Progress** - Can't start increment N+1 until N is DONE
|
|
@@ -134,7 +134,7 @@ export async function syncSpecWithEnhancedContent(options) {
|
|
|
134
134
|
}
|
|
135
135
|
else {
|
|
136
136
|
// Create new issue with labels
|
|
137
|
-
const issue = await client.createEpicIssue(`[${baseSpec.identifier.compact}] ${baseSpec.title}`, description, undefined, allLabels // Apply labels at creation
|
|
137
|
+
const issue = await client.createEpicIssue(`[${baseSpec.project === '_features' ? baseSpec.identifier.display : baseSpec.identifier.compact}] ${baseSpec.title}`, description, undefined, allLabels // Apply labels at creation
|
|
138
138
|
);
|
|
139
139
|
result = {
|
|
140
140
|
success: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enhanced-github-sync.js","sourceRoot":"","sources":["../../../../plugins/specweave-github/lib/enhanced-github-sync.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"enhanced-github-sync.js","sourceRoot":"","sources":["../../../../plugins/specweave-github/lib/enhanced-github-sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-spec-content-sync.d.ts","sourceRoot":"","sources":["../../../../plugins/specweave-github/lib/github-spec-content-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAQL,iBAAiB,EAClB,MAAM,wCAAwC,CAAC;AAKhD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AA4CD;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,iBAAiB,CAAC,CA4D5B;
|
|
1
|
+
{"version":3,"file":"github-spec-content-sync.d.ts","sourceRoot":"","sources":["../../../../plugins/specweave-github/lib/github-spec-content-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAQL,iBAAiB,EAClB,MAAM,wCAAwC,CAAC;AAKhD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AA4CD;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,iBAAiB,CAAC,CA4D5B;AAmPD;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAShF"}
|
|
@@ -113,7 +113,10 @@ async function createGitHubIssue(client, spec, options) {
|
|
|
113
113
|
try {
|
|
114
114
|
// Build issue title and body using compact format
|
|
115
115
|
// Examples: [BE-JIRA-AUTH-123] User Authentication, [FE-user-login-ui] Login UI
|
|
116
|
-
|
|
116
|
+
// Use display ID for cleaner titles (FS-043 instead of _F-FS-043)
|
|
117
|
+
// For _features project, display is "FS-043", compact is "_F-FS-043"
|
|
118
|
+
const titleId = spec.project === '_features' ? spec.identifier.display : spec.identifier.compact;
|
|
119
|
+
const title = `[${titleId}] ${spec.title}`;
|
|
117
120
|
const body = buildExternalDescription(spec);
|
|
118
121
|
if (verbose) {
|
|
119
122
|
console.log(`\nš Creating GitHub issue:`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-spec-content-sync.js","sourceRoot":"","sources":["../../../../plugins/specweave-github/lib/github-spec-content-sync.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"github-spec-content-sync.js","sourceRoot":"","sources":["../../../../plugins/specweave-github/lib/github-spec-content-sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -99,7 +99,7 @@ export declare class GitHubSpecSync {
|
|
|
99
99
|
*/
|
|
100
100
|
private syncProjectPerSpec;
|
|
101
101
|
/**
|
|
102
|
-
* Sync FROM GitHub Project to spec (
|
|
102
|
+
* Sync FROM GitHub Project to spec (full sync with all permissions)
|
|
103
103
|
*/
|
|
104
104
|
syncFromGitHub(specId: string): Promise<SpecSyncResult>;
|
|
105
105
|
/**
|
|
@@ -214,7 +214,7 @@ export class GitHubSpecSync {
|
|
|
214
214
|
}
|
|
215
215
|
}
|
|
216
216
|
/**
|
|
217
|
-
* Sync FROM GitHub Project to spec (
|
|
217
|
+
* Sync FROM GitHub Project to spec (full sync with all permissions)
|
|
218
218
|
*/
|
|
219
219
|
async syncFromGitHub(specId) {
|
|
220
220
|
console.log(`\nš Syncing FROM GitHub to spec ${specId}...`);
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Bidirectional GitHub Sync
|
|
3
3
|
*
|
|
4
|
+
* @deprecated This module is deprecated as of v0.24.0 (Three-Permission Architecture).
|
|
5
|
+
* The "bidirectional" terminology has been replaced with granular permission controls:
|
|
6
|
+
* - canUpsertInternalItems: CREATE + UPDATE internal items
|
|
7
|
+
* - canUpdateExternalItems: UPDATE external items (full content)
|
|
8
|
+
* - canUpdateStatus: UPDATE status (both types)
|
|
9
|
+
*
|
|
10
|
+
* This file is kept for backward compatibility but is no longer actively maintained.
|
|
11
|
+
* See: .specweave/increments/0047-us-task-linkage/reports/THREE-PERMISSION-ARCHITECTURE-CHANGES.md
|
|
12
|
+
*
|
|
4
13
|
* Syncs state from GitHub back to SpecWeave.
|
|
5
14
|
* Handles issue state changes, comments, assignees, labels, milestones.
|
|
6
15
|
*
|