wogiflow 1.0.21 → 1.0.22
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/commands/wogi-bug.md +43 -0
- package/.claude/commands/wogi-bulk.md +144 -0
- package/.claude/commands/wogi-changelog.md +36 -0
- package/.claude/commands/wogi-compact.md +99 -0
- package/.claude/commands/wogi-config.md +50 -0
- package/.claude/commands/wogi-context.md +68 -0
- package/.claude/commands/wogi-correction.md +73 -0
- package/.claude/commands/wogi-debt.md +128 -0
- package/.claude/commands/wogi-deps.md +32 -0
- package/.claude/commands/wogi-epics.md +145 -0
- package/.claude/commands/wogi-export.md +100 -0
- package/.claude/commands/wogi-feature.md +149 -0
- package/.claude/commands/wogi-guided-edit.md +83 -0
- package/.claude/commands/wogi-health.md +43 -0
- package/.claude/commands/wogi-help.md +96 -0
- package/.claude/commands/wogi-hybrid-edit.md +36 -0
- package/.claude/commands/wogi-hybrid-off.md +24 -0
- package/.claude/commands/wogi-hybrid-setup.md +79 -0
- package/.claude/commands/wogi-hybrid-status.md +45 -0
- package/.claude/commands/wogi-hybrid.md +54 -0
- package/.claude/commands/wogi-import.md +44 -0
- package/.claude/commands/wogi-init.md +618 -0
- package/.claude/commands/wogi-log.md +38 -0
- package/.claude/commands/wogi-map-add.md +29 -0
- package/.claude/commands/wogi-map-check.md +35 -0
- package/.claude/commands/wogi-map-index.md +98 -0
- package/.claude/commands/wogi-map-scan.md +38 -0
- package/.claude/commands/wogi-map-sync.md +91 -0
- package/.claude/commands/wogi-map.md +33 -0
- package/.claude/commands/wogi-morning.md +65 -0
- package/.claude/commands/wogi-onboard.md +99 -0
- package/.claude/commands/wogi-plan.md +173 -0
- package/.claude/commands/wogi-ready.md +84 -0
- package/.claude/commands/wogi-resume.md +95 -0
- package/.claude/commands/wogi-review.md +636 -0
- package/.claude/commands/wogi-roadmap.md +241 -0
- package/.claude/commands/wogi-rules.md +104 -0
- package/.claude/commands/wogi-search.md +33 -0
- package/.claude/commands/wogi-session-end.md +49 -0
- package/.claude/commands/wogi-setup-stack.md +151 -0
- package/.claude/commands/wogi-skill-learn.md +66 -0
- package/.claude/commands/wogi-skills.md +87 -0
- package/.claude/commands/wogi-standup.md +28 -0
- package/.claude/commands/wogi-start.md +465 -0
- package/.claude/commands/wogi-status.md +41 -0
- package/.claude/commands/wogi-statusline-setup/skill.md +109 -0
- package/.claude/commands/wogi-story.md +98 -0
- package/.claude/commands/wogi-suspend.md +87 -0
- package/.claude/commands/wogi-test-browser.md +43 -0
- package/.claude/commands/wogi-trace.md +198 -0
- package/.claude/docs/architecture.md +37 -0
- package/.claude/docs/commands.md +343 -0
- package/.claude/docs/knowledge-base/01-setup-onboarding/README.md +177 -0
- package/.claude/docs/knowledge-base/01-setup-onboarding/component-indexing.md +341 -0
- package/.claude/docs/knowledge-base/01-setup-onboarding/framework-detection.md +269 -0
- package/.claude/docs/knowledge-base/01-setup-onboarding/installation.md +146 -0
- package/.claude/docs/knowledge-base/01-setup-onboarding/onboarding-existing.md +317 -0
- package/.claude/docs/knowledge-base/01-setup-onboarding/team-setup.md +346 -0
- package/.claude/docs/knowledge-base/02-task-execution/01-task-planning.md +259 -0
- package/.claude/docs/knowledge-base/02-task-execution/02-execution-loop.md +443 -0
- package/.claude/docs/knowledge-base/02-task-execution/03-verification.md +417 -0
- package/.claude/docs/knowledge-base/02-task-execution/04-completion.md +374 -0
- package/.claude/docs/knowledge-base/02-task-execution/05-session-review.md +170 -0
- package/.claude/docs/knowledge-base/02-task-execution/README.md +173 -0
- package/.claude/docs/knowledge-base/02-task-execution/external-integrations.md +133 -0
- package/.claude/docs/knowledge-base/02-task-execution/model-management.md +202 -0
- package/.claude/docs/knowledge-base/02-task-execution/specification-mode.md +292 -0
- package/.claude/docs/knowledge-base/02-task-execution/sync-daemon.md +96 -0
- package/.claude/docs/knowledge-base/02-task-execution/trade-offs.md +345 -0
- package/.claude/docs/knowledge-base/02-task-execution/workflow-steps.md +357 -0
- package/.claude/docs/knowledge-base/03-self-improvement/README.md +199 -0
- package/.claude/docs/knowledge-base/03-self-improvement/long-input-processing.md +160 -0
- package/.claude/docs/knowledge-base/03-self-improvement/model-learning.md +334 -0
- package/.claude/docs/knowledge-base/03-self-improvement/project-learning.md +301 -0
- package/.claude/docs/knowledge-base/03-self-improvement/skill-learning.md +372 -0
- package/.claude/docs/knowledge-base/03-self-improvement/skill-matching.md +304 -0
- package/.claude/docs/knowledge-base/03-self-improvement/team-learning.md +342 -0
- package/.claude/docs/knowledge-base/04-memory-context/README.md +189 -0
- package/.claude/docs/knowledge-base/04-memory-context/context-management.md +308 -0
- package/.claude/docs/knowledge-base/04-memory-context/memory-commands.md +176 -0
- package/.claude/docs/knowledge-base/04-memory-context/memory-systems.md +359 -0
- package/.claude/docs/knowledge-base/04-memory-context/prd-management.md +115 -0
- package/.claude/docs/knowledge-base/04-memory-context/session-persistence.md +359 -0
- package/.claude/docs/knowledge-base/04-memory-context/team-history.md +317 -0
- package/.claude/docs/knowledge-base/05-development-tools/README.md +84 -0
- package/.claude/docs/knowledge-base/05-development-tools/code-traces.md +278 -0
- package/.claude/docs/knowledge-base/05-development-tools/figma-analyzer.md +253 -0
- package/.claude/docs/knowledge-base/05-development-tools/guided-edit.md +173 -0
- package/.claude/docs/knowledge-base/05-development-tools/mcp-integrations.md +286 -0
- package/.claude/docs/knowledge-base/06-safety-guardrails/README.md +153 -0
- package/.claude/docs/knowledge-base/06-safety-guardrails/checkpoint-rollback.md +302 -0
- package/.claude/docs/knowledge-base/06-safety-guardrails/commit-gates.md +309 -0
- package/.claude/docs/knowledge-base/06-safety-guardrails/damage-control.md +292 -0
- package/.claude/docs/knowledge-base/06-safety-guardrails/security-scanning.md +291 -0
- package/.claude/docs/knowledge-base/README.md +92 -0
- package/.claude/docs/knowledge-base/configuration/README.md +228 -0
- package/.claude/docs/knowledge-base/configuration/all-options.md +1632 -0
- package/.claude/docs/knowledge-base/future-features.md +277 -0
- package/.claude/docs/stack.md +25 -0
- package/.claude/docs/testing.md +71 -0
- package/.claude/rules/README.md +60 -0
- package/.claude/rules/architecture/component-reuse.md +38 -0
- package/.claude/rules/architecture/document-structure.md +76 -0
- package/.claude/rules/architecture/feature-refactoring-cleanup.md +87 -0
- package/.claude/rules/architecture/model-management.md +35 -0
- package/.claude/rules/code-style/naming-conventions.md +55 -0
- package/.claude/rules/security/security-patterns.md +116 -0
- package/.claude/skills/.gitkeep +0 -0
- package/.claude/skills/README.md +131 -0
- package/.claude/skills/_template/commands/.gitkeep +0 -0
- package/.claude/skills/_template/knowledge/anti-patterns.md +49 -0
- package/.claude/skills/_template/knowledge/learnings.md +60 -0
- package/.claude/skills/_template/knowledge/patterns.md +45 -0
- package/.claude/skills/_template/rules/.gitkeep +0 -0
- package/.claude/skills/_template/skill.md +99 -0
- package/.claude/skills/_template/templates/.gitkeep +0 -0
- package/.claude/skills/figma-analyzer/knowledge/anti-patterns.md +216 -0
- package/.claude/skills/figma-analyzer/knowledge/patterns.md +144 -0
- package/.claude/skills/figma-analyzer/skill.md +236 -0
- package/lib/installer.js +59 -19
- package/package.json +5 -1
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
# Checkpoint & Rollback
|
|
2
|
+
|
|
3
|
+
Recovery system for undoing changes.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Purpose
|
|
8
|
+
|
|
9
|
+
Checkpoints provide:
|
|
10
|
+
- Periodic snapshots during work
|
|
11
|
+
- Quick rollback on mistakes
|
|
12
|
+
- State preservation
|
|
13
|
+
- Git commit backups
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Configuration
|
|
18
|
+
|
|
19
|
+
```json
|
|
20
|
+
{
|
|
21
|
+
"checkpoint": {
|
|
22
|
+
"enabled": true,
|
|
23
|
+
"interval": 5, // Create every N steps
|
|
24
|
+
"maxCheckpoints": 20, // Keep last 20
|
|
25
|
+
"autoCommit": true, // Git commit at checkpoint
|
|
26
|
+
"commitPrefix": "[checkpoint]",
|
|
27
|
+
"includeStateFiles": true // Include workflow state
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## How It Works
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
Step 1 Step 2 Step 3 Step 4 Step 5
|
|
38
|
+
│ │ │ │ │
|
|
39
|
+
▼ ▼ ▼ ▼ ▼
|
|
40
|
+
○────────○────────○────────○────────●
|
|
41
|
+
checkpoint
|
|
42
|
+
|
|
43
|
+
Step 6 Step 7 Step 8 Step 9 Step 10
|
|
44
|
+
│ │ │ │ │
|
|
45
|
+
▼ ▼ ▼ ▼ ▼
|
|
46
|
+
○────────○────────○────────○────────●
|
|
47
|
+
checkpoint
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Every N steps (configured by `interval`), a checkpoint is created.
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## What's Saved
|
|
55
|
+
|
|
56
|
+
### Git State
|
|
57
|
+
|
|
58
|
+
If `autoCommit` is true:
|
|
59
|
+
- All changes committed
|
|
60
|
+
- Commit message: `[checkpoint] Auto checkpoint at step N`
|
|
61
|
+
- Commit hash stored in checkpoint
|
|
62
|
+
|
|
63
|
+
### Workflow State
|
|
64
|
+
|
|
65
|
+
If `includeStateFiles` is true:
|
|
66
|
+
- `ready.json` - Task queues
|
|
67
|
+
- `request-log.md` - Change history
|
|
68
|
+
- `app-map.md` - Component registry
|
|
69
|
+
- `decisions.md` - Patterns
|
|
70
|
+
- `progress.md` - Progress notes
|
|
71
|
+
- `durable-session.json` - Session state
|
|
72
|
+
- `config.json` - Configuration
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Commands
|
|
77
|
+
|
|
78
|
+
### Create Checkpoint
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
flow checkpoint create "Before risky refactor"
|
|
82
|
+
|
|
83
|
+
# Output:
|
|
84
|
+
# ✅ Checkpoint created: cp-2024-01-15T10-30-00
|
|
85
|
+
# Git commit: abc1234
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### List Checkpoints
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
flow checkpoint list
|
|
92
|
+
|
|
93
|
+
# Output:
|
|
94
|
+
# Checkpoints
|
|
95
|
+
# ────────────────────────────────────────────────────────
|
|
96
|
+
#
|
|
97
|
+
# cp-2024-01-15T10-30-00
|
|
98
|
+
# Time: 1/15/2024, 10:30:00 AM
|
|
99
|
+
# Step: 10
|
|
100
|
+
# Message: Before risky refactor
|
|
101
|
+
# Includes: git, state
|
|
102
|
+
#
|
|
103
|
+
# cp-2024-01-15T10-00-00
|
|
104
|
+
# Time: 1/15/2024, 10:00:00 AM
|
|
105
|
+
# Step: 5
|
|
106
|
+
# Message: Auto checkpoint at step 5
|
|
107
|
+
# Includes: git, state
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
### Rollback
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
flow checkpoint rollback cp-2024-01-15T10-30-00
|
|
114
|
+
|
|
115
|
+
# Output:
|
|
116
|
+
# Rolling back to cp-2024-01-15T10-30-00...
|
|
117
|
+
# ✅ State files restored
|
|
118
|
+
# ✅ Git rolled back to abc1234
|
|
119
|
+
#
|
|
120
|
+
# Changes since checkpoint are now unstaged.
|
|
121
|
+
# Review with: git status
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### Cleanup
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
flow checkpoint cleanup
|
|
128
|
+
|
|
129
|
+
# Output:
|
|
130
|
+
# ✅ Cleanup complete. 15 checkpoints remaining
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### Status
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
flow checkpoint status
|
|
137
|
+
|
|
138
|
+
# Output:
|
|
139
|
+
# Checkpoint Status
|
|
140
|
+
# ────────────────────────────────────────
|
|
141
|
+
# Enabled: Yes
|
|
142
|
+
# Interval: Every 5 steps
|
|
143
|
+
# Current step: 12
|
|
144
|
+
# Last checkpoint: Step 10
|
|
145
|
+
# Total checkpoints: 4
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
## Rollback Details
|
|
151
|
+
|
|
152
|
+
### What Happens
|
|
153
|
+
|
|
154
|
+
1. **State Files Restored**: Workflow files replaced with snapshot
|
|
155
|
+
2. **Git Soft Reset**: Changes since checkpoint become unstaged
|
|
156
|
+
3. **Session Updated**: Durable session updated to match
|
|
157
|
+
|
|
158
|
+
### What's Preserved
|
|
159
|
+
|
|
160
|
+
- Changes become unstaged (not lost)
|
|
161
|
+
- Can still see diff of what was undone
|
|
162
|
+
- Can re-apply changes selectively
|
|
163
|
+
|
|
164
|
+
### What's Lost
|
|
165
|
+
|
|
166
|
+
- Commits after checkpoint (can be recovered from reflog)
|
|
167
|
+
- State file changes (replaced with snapshot)
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
## Checkpoint Storage
|
|
172
|
+
|
|
173
|
+
```
|
|
174
|
+
.workflow/checkpoints/
|
|
175
|
+
├── checkpoint-log.json # Checkpoint metadata
|
|
176
|
+
├── cp-2024-01-15T10-30-00/ # Snapshot directory
|
|
177
|
+
│ ├── state_ready.json
|
|
178
|
+
│ ├── state_request-log.md
|
|
179
|
+
│ ├── state_app-map.md
|
|
180
|
+
│ ├── state_decisions.md
|
|
181
|
+
│ └── config.json
|
|
182
|
+
└── cp-2024-01-15T10-00-00/
|
|
183
|
+
└── ...
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## Auto-Cleanup
|
|
189
|
+
|
|
190
|
+
Old checkpoints are automatically removed:
|
|
191
|
+
|
|
192
|
+
```json
|
|
193
|
+
{
|
|
194
|
+
"checkpoint": {
|
|
195
|
+
"maxCheckpoints": 20
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
When limit exceeded:
|
|
201
|
+
1. Oldest checkpoint deleted
|
|
202
|
+
2. Snapshot directory removed
|
|
203
|
+
3. Log updated
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
207
|
+
## Manual vs Auto Checkpoints
|
|
208
|
+
|
|
209
|
+
### Automatic
|
|
210
|
+
|
|
211
|
+
- Created every N steps
|
|
212
|
+
- Message: "Auto checkpoint at step N"
|
|
213
|
+
- Happens during task execution
|
|
214
|
+
|
|
215
|
+
### Manual
|
|
216
|
+
|
|
217
|
+
```bash
|
|
218
|
+
flow checkpoint create "Before database migration"
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
- Created on demand
|
|
222
|
+
- Custom message
|
|
223
|
+
- Good before risky operations
|
|
224
|
+
|
|
225
|
+
---
|
|
226
|
+
|
|
227
|
+
## Best Practices
|
|
228
|
+
|
|
229
|
+
1. **Create Before Risk**: Manual checkpoint before dangerous work
|
|
230
|
+
2. **Keep Interval Reasonable**: 5-10 steps is good
|
|
231
|
+
3. **Review Before Rollback**: Check what you'll lose
|
|
232
|
+
4. **Don't Over-Rely**: Git history is still your friend
|
|
233
|
+
5. **Cleanup Regularly**: Don't let checkpoints pile up
|
|
234
|
+
|
|
235
|
+
---
|
|
236
|
+
|
|
237
|
+
## Troubleshooting
|
|
238
|
+
|
|
239
|
+
### Rollback Failed
|
|
240
|
+
|
|
241
|
+
Check checkpoint exists:
|
|
242
|
+
```bash
|
|
243
|
+
flow checkpoint list
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
Check state files are readable:
|
|
247
|
+
```bash
|
|
248
|
+
ls -la .workflow/checkpoints/cp-XXX/
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
### Git Rollback Issues
|
|
252
|
+
|
|
253
|
+
If git reset fails:
|
|
254
|
+
```bash
|
|
255
|
+
# Check git status
|
|
256
|
+
git status
|
|
257
|
+
|
|
258
|
+
# Manual reset
|
|
259
|
+
git reset --soft <commit-hash>
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
### State Mismatch
|
|
263
|
+
|
|
264
|
+
If state seems wrong after rollback:
|
|
265
|
+
```bash
|
|
266
|
+
# Compare files
|
|
267
|
+
diff .workflow/state/ready.json .workflow/checkpoints/cp-XXX/state_ready.json
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
---
|
|
271
|
+
|
|
272
|
+
## Recovery Without Checkpoints
|
|
273
|
+
|
|
274
|
+
If no checkpoint exists:
|
|
275
|
+
|
|
276
|
+
### From Git
|
|
277
|
+
|
|
278
|
+
```bash
|
|
279
|
+
# Find old commit
|
|
280
|
+
git log --oneline
|
|
281
|
+
|
|
282
|
+
# Restore file from commit
|
|
283
|
+
git checkout <commit-hash> -- path/to/file
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
### From Reflog
|
|
287
|
+
|
|
288
|
+
```bash
|
|
289
|
+
# See all git actions
|
|
290
|
+
git reflog
|
|
291
|
+
|
|
292
|
+
# Restore to previous state
|
|
293
|
+
git reset --hard HEAD@{N}
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
---
|
|
297
|
+
|
|
298
|
+
## Related
|
|
299
|
+
|
|
300
|
+
- [Damage Control](./damage-control.md) - Prevention
|
|
301
|
+
- [Durable Sessions](../02-task-execution/02-execution-loop.md#durable-sessions) - Session recovery
|
|
302
|
+
- [Configuration](../configuration/all-options.md) - All settings
|
|
@@ -0,0 +1,309 @@
|
|
|
1
|
+
# Commit Gates
|
|
2
|
+
|
|
3
|
+
Approval workflow for commits.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Purpose
|
|
8
|
+
|
|
9
|
+
Commit gates ensure:
|
|
10
|
+
- Important changes are reviewed
|
|
11
|
+
- Small fixes can auto-commit
|
|
12
|
+
- Different rules for different change types
|
|
13
|
+
- Quality gates pass before commit
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Configuration
|
|
18
|
+
|
|
19
|
+
```json
|
|
20
|
+
{
|
|
21
|
+
"commits": {
|
|
22
|
+
"requireApproval": {
|
|
23
|
+
"feature": true, // Features need approval
|
|
24
|
+
"bugfix": false, // Bugfixes auto-commit
|
|
25
|
+
"refactor": true, // Refactors need approval
|
|
26
|
+
"docs": false // Docs auto-commit
|
|
27
|
+
},
|
|
28
|
+
"autoCommitSmallFixes": true,
|
|
29
|
+
"smallFixThreshold": 3, // Max files for "small"
|
|
30
|
+
"squashTaskCommits": true,
|
|
31
|
+
"commitMessageFormat": "conventional"
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Approval Flow
|
|
39
|
+
|
|
40
|
+
### When Approval Required
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
Changes ready to commit
|
|
44
|
+
↓
|
|
45
|
+
┌─────────────────────────────────────────┐
|
|
46
|
+
│ Check task type │
|
|
47
|
+
│ requireApproval[type] === true? │
|
|
48
|
+
├─────────────────────────────────────────┤
|
|
49
|
+
│ YES → Continue to approval │
|
|
50
|
+
│ NO → Check if small fix │
|
|
51
|
+
└─────────────────────────────────────────┘
|
|
52
|
+
↓
|
|
53
|
+
┌─────────────────────────────────────────┐
|
|
54
|
+
│ Files changed > smallFixThreshold? │
|
|
55
|
+
├─────────────────────────────────────────┤
|
|
56
|
+
│ YES → Require approval │
|
|
57
|
+
│ NO → Auto-commit if enabled │
|
|
58
|
+
└─────────────────────────────────────────┘
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Approval Prompt
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
Changes to commit:
|
|
65
|
+
|
|
66
|
+
M src/services/AuthService.ts
|
|
67
|
+
A src/components/LoginForm.tsx
|
|
68
|
+
A src/components/LoginForm.test.tsx
|
|
69
|
+
M src/routes/index.tsx
|
|
70
|
+
|
|
71
|
+
Files changed: 4
|
|
72
|
+
|
|
73
|
+
This is a feature task (approval required).
|
|
74
|
+
|
|
75
|
+
Ready to commit these changes? [y/n]
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
## Task Types
|
|
81
|
+
|
|
82
|
+
| Type | Default | Use For |
|
|
83
|
+
|------|---------|---------|
|
|
84
|
+
| `feature` | Approval | New functionality |
|
|
85
|
+
| `bugfix` | Auto | Bug fixes |
|
|
86
|
+
| `refactor` | Approval | Code restructuring |
|
|
87
|
+
| `docs` | Auto | Documentation only |
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Small Fix Auto-Commit
|
|
92
|
+
|
|
93
|
+
When `autoCommitSmallFixes` is true:
|
|
94
|
+
|
|
95
|
+
```json
|
|
96
|
+
{
|
|
97
|
+
"commits": {
|
|
98
|
+
"autoCommitSmallFixes": true,
|
|
99
|
+
"smallFixThreshold": 3
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
If changes affect ≤ 3 files AND task type allows:
|
|
105
|
+
```
|
|
106
|
+
✓ Auto-committed small fix (2 files)
|
|
107
|
+
Commit: abc1234 "fix(auth): correct password validation"
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## Commit Message Format
|
|
113
|
+
|
|
114
|
+
### Conventional Commits
|
|
115
|
+
|
|
116
|
+
```json
|
|
117
|
+
{
|
|
118
|
+
"commits": {
|
|
119
|
+
"commitMessageFormat": "conventional"
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
Format: `type(scope): message`
|
|
125
|
+
|
|
126
|
+
Examples:
|
|
127
|
+
- `feat(auth): add login form`
|
|
128
|
+
- `fix(dashboard): correct chart rendering`
|
|
129
|
+
- `refactor(api): simplify error handling`
|
|
130
|
+
|
|
131
|
+
### Simple
|
|
132
|
+
|
|
133
|
+
```json
|
|
134
|
+
{
|
|
135
|
+
"commits": {
|
|
136
|
+
"commitMessageFormat": "simple"
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
Format: Just a message
|
|
142
|
+
- `Add login form`
|
|
143
|
+
- `Fix chart rendering`
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## Squashing
|
|
148
|
+
|
|
149
|
+
When `squashTaskCommits` is true:
|
|
150
|
+
|
|
151
|
+
```json
|
|
152
|
+
{
|
|
153
|
+
"commits": {
|
|
154
|
+
"squashTaskCommits": true
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
Multiple commits during a task are squashed into one on completion:
|
|
160
|
+
|
|
161
|
+
```
|
|
162
|
+
During task:
|
|
163
|
+
abc1234 feat(auth): initial AuthService
|
|
164
|
+
def5678 feat(auth): add LoginForm
|
|
165
|
+
ghi9012 feat(auth): connect to API
|
|
166
|
+
|
|
167
|
+
After squash:
|
|
168
|
+
jkl3456 feat(auth): add user authentication
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
## Quality Gates Before Commit
|
|
174
|
+
|
|
175
|
+
Quality gates run before commit is created:
|
|
176
|
+
|
|
177
|
+
```json
|
|
178
|
+
{
|
|
179
|
+
"qualityGates": {
|
|
180
|
+
"feature": {
|
|
181
|
+
"require": ["tests", "lint", "typecheck"]
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
### Gate Failure
|
|
188
|
+
|
|
189
|
+
```
|
|
190
|
+
Running quality gates...
|
|
191
|
+
✓ tests passed
|
|
192
|
+
✗ lint failed
|
|
193
|
+
Error: 3 lint errors found
|
|
194
|
+
|
|
195
|
+
Quality gates failed. Fix issues before committing.
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## Bypass Options
|
|
201
|
+
|
|
202
|
+
### Skip Approval (Not Recommended)
|
|
203
|
+
|
|
204
|
+
```bash
|
|
205
|
+
# Only use in emergencies
|
|
206
|
+
git add -A && git commit -m "emergency fix" --no-verify
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
### Temporary Override
|
|
210
|
+
|
|
211
|
+
```bash
|
|
212
|
+
# For this task only
|
|
213
|
+
/wogi-done TASK-XXX --skip-approval
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
## Hooks Integration
|
|
219
|
+
|
|
220
|
+
Works with git hooks:
|
|
221
|
+
|
|
222
|
+
```json
|
|
223
|
+
{
|
|
224
|
+
"hooks": {
|
|
225
|
+
"preCommit": true
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
Pre-commit hook runs:
|
|
231
|
+
1. Quality gates
|
|
232
|
+
2. Security scan
|
|
233
|
+
3. Any custom checks
|
|
234
|
+
|
|
235
|
+
---
|
|
236
|
+
|
|
237
|
+
## Commit Template
|
|
238
|
+
|
|
239
|
+
When approval is required, a template is used:
|
|
240
|
+
|
|
241
|
+
```
|
|
242
|
+
feat(scope): brief description
|
|
243
|
+
|
|
244
|
+
Detailed description of changes...
|
|
245
|
+
|
|
246
|
+
TASK-XXX
|
|
247
|
+
|
|
248
|
+
🤖 Generated with Claude Code
|
|
249
|
+
|
|
250
|
+
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
---
|
|
254
|
+
|
|
255
|
+
## Audit Trail
|
|
256
|
+
|
|
257
|
+
All commits are logged:
|
|
258
|
+
|
|
259
|
+
```markdown
|
|
260
|
+
### R-047 | 2024-01-15 14:30
|
|
261
|
+
**Type**: new
|
|
262
|
+
**Commit**: abc1234
|
|
263
|
+
**Approved**: Yes
|
|
264
|
+
**Files**: 4
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
---
|
|
268
|
+
|
|
269
|
+
## Best Practices
|
|
270
|
+
|
|
271
|
+
1. **Keep Features Under Review**: Always approve features
|
|
272
|
+
2. **Trust Small Fixes**: Auto-commit for quick fixes
|
|
273
|
+
3. **Use Conventional Commits**: Better changelogs
|
|
274
|
+
4. **Squash When Done**: Clean git history
|
|
275
|
+
5. **Run Quality Gates**: Don't skip verification
|
|
276
|
+
|
|
277
|
+
---
|
|
278
|
+
|
|
279
|
+
## Troubleshooting
|
|
280
|
+
|
|
281
|
+
### Commit Blocked
|
|
282
|
+
|
|
283
|
+
Check:
|
|
284
|
+
- Quality gates status
|
|
285
|
+
- Task type and approval settings
|
|
286
|
+
- File count vs threshold
|
|
287
|
+
|
|
288
|
+
### Wrong Commit Type
|
|
289
|
+
|
|
290
|
+
Specify explicitly:
|
|
291
|
+
```bash
|
|
292
|
+
/wogi-done TASK-XXX --type bugfix
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
### Squash Failed
|
|
296
|
+
|
|
297
|
+
If squash fails:
|
|
298
|
+
```bash
|
|
299
|
+
# Manual squash
|
|
300
|
+
git rebase -i HEAD~N
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
---
|
|
304
|
+
|
|
305
|
+
## Related
|
|
306
|
+
|
|
307
|
+
- [Quality Gates](../02-task-execution/03-verification.md) - Gate details
|
|
308
|
+
- [Security Scanning](./security-scanning.md) - Pre-commit security
|
|
309
|
+
- [Configuration](../configuration/all-options.md) - All settings
|