jettypod 4.1.2 → 4.1.4
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/.nvmrc +1 -0
- package/docs/COMPLETE-TESTING-STRATEGY.md +970 -0
- package/docs/DECISIONS.md +10 -12
- package/docs/NODE_VERSION.md +83 -0
- package/docs/TDD-INFRASTRUCTURE-STRATEGY.md +1374 -0
- package/docs/TESTING-FOR-NON-ENGINEERS.md +1588 -0
- package/docs/TESTING-STRATEGY-AUDIT.md +698 -0
- package/hooks/post-checkout +17 -0
- package/hooks/post-merge +17 -0
- package/hooks/pre-commit +30 -0
- package/jettypod.js +259 -120
- package/lib/coverage-tracker.js +218 -0
- package/lib/database.js +2 -0
- package/lib/db-export.js +192 -0
- package/lib/db-import.js +193 -0
- package/lib/external-transition-handler.js +32 -0
- package/lib/git-hook-helpers.js +174 -0
- package/lib/git-root.js +90 -0
- package/lib/infrastructure-chore-generator.js +45 -0
- package/lib/install-hooks.js +52 -0
- package/lib/jettypod-backup.js +238 -0
- package/lib/merge-lock.js +193 -0
- package/lib/migrations/012-add-worktree-path.js +38 -0
- package/lib/migrations/013-worktrees-table.js +86 -0
- package/lib/migrations/014-migrate-worktree-data.js +161 -0
- package/lib/migrations/015-merge-locks-table.js +67 -0
- package/lib/pattern-finder.js +152 -0
- package/lib/process-manager.js +140 -0
- package/lib/production-standards-reader.js +13 -2
- package/lib/production-standards-writer.js +85 -0
- package/lib/skills/feature-planning/dry-run-validator.js +135 -0
- package/lib/skills/feature-planning/validation-formatter.js +160 -0
- package/lib/smart-conflict-detection.js +168 -0
- package/lib/smart-fetch-rebase.js +614 -0
- package/lib/step-definition-parser.js +76 -0
- package/lib/unit-test-generator.js +232 -0
- package/lib/verification-command-generator.js +66 -0
- package/lib/worktree-diagnostics.js +413 -0
- package/lib/worktree-facade.js +174 -0
- package/lib/worktree-manager.js +636 -0
- package/lib/worktree-reconciler.js +429 -0
- package/package.json +30 -3
- package/skills-templates/external-transition/SKILL.md +34 -3
- package/skills-templates/feature-planning/SKILL.md +190 -24
- package/skills-templates/production-mode/SKILL.md +127 -9
- package/skills-templates/speed-mode/SKILL.md +454 -51
- package/skills-templates/stable-mode/SKILL.md +285 -76
- package/.claude/PROTECT_SKILLS.md +0 -28
- package/.claude/settings.json +0 -24
- package/.claude/settings.local.json +0 -16
- package/.claude/skills/epic-planning/SKILL.md +0 -297
- package/.claude/skills/external-transition/SKILL.md +0 -384
- package/.claude/skills/feature-planning/SKILL.md +0 -464
- package/.claude/skills/production-mode/SKILL.md +0 -369
- package/.claude/skills/speed-mode/SKILL.md +0 -481
- package/.claude/skills/stable-mode/SKILL.md +0 -713
- package/.claude/skills.backup-2025-11-10T23-33-09-368Z/epic-planning/SKILL.md +0 -297
- package/.claude/skills.backup-2025-11-10T23-33-09-368Z/feature-planning/SKILL.md +0 -464
- package/.claude/skills.backup-2025-11-10T23-33-09-368Z/speed-mode/SKILL.md +0 -467
- package/.claude/skills.backup-2025-11-10T23-33-09-368Z/stable-mode/SKILL.md +0 -673
- package/.claude/skills.backup-2025-11-11T16-15-10-070Z/epic-discover/SKILL.md +0 -297
- package/.claude/skills.backup-2025-11-11T16-42-43-212Z/epic-planning/SKILL.md +0 -297
- package/.claude/skills.backup-2025-11-11T16-42-43-212Z/feature-planning/SKILL.md +0 -464
- package/.claude/skills.backup-2025-11-11T16-42-43-212Z/speed-mode/SKILL.md +0 -467
- package/.claude/skills.backup-2025-11-11T16-42-43-212Z/stable-mode/SKILL.md +0 -673
- package/.claude/skills.backup-2025-11-11T17-06-09-783Z/epic-planning/SKILL.md +0 -297
- package/.claude/skills.backup-2025-11-11T17-06-09-783Z/feature-planning/SKILL.md +0 -464
- package/.claude/skills.backup-2025-11-11T17-06-09-783Z/speed-mode/SKILL.md +0 -467
- package/.claude/skills.backup-2025-11-11T17-06-09-783Z/stable-mode/SKILL.md +0 -673
- package/.devpod/current-work.json +0 -10
- package/.devpod/work.db +0 -0
- package/.github/workflows/test-safety.yml +0 -85
- package/.jettypod/config.json +0 -5
- package/.jettypod/current-work.json +0 -10
- package/.jettypod/hooks/README.md +0 -77
- package/.jettypod/hooks/protect-claude-md.js +0 -338
- package/.jettypod/test-work.db +0 -0
- package/.jettypod/work.db +0 -0
- package/CLAUDE.md +0 -49
- package/SPEED-STABLE-AUDIT.md +0 -853
- package/SYSTEM-BEHAVIOR.md +0 -2199
- package/TEST_SAFETY_AUDIT.md +0 -314
- package/TEST_SAFETY_IMPLEMENTATION.md +0 -97
- package/cucumber-report.html +0 -45
- package/dist/devpod-linux +0 -0
- package/dist/devpod-macos +0 -0
- package/dist/devpod-win.exe +0 -0
- package/docs/features/jettypod-standards-explained.md +0 -543
- package/docs/features/standards-inventory.md +0 -257
- package/features/auto-generate-production-chores.feature +0 -13
- package/features/backlog-command.feature +0 -26
- package/features/backlog-filtering-production.feature +0 -10
- package/features/claude-md-protection/steps.js +0 -498
- package/features/decisions/index.js +0 -490
- package/features/decisions/index.test.js +0 -208
- package/features/fix-text-wrapping.feature +0 -42
- package/features/git-hooks/git-hooks.feature +0 -30
- package/features/git-hooks/index.js +0 -93
- package/features/git-hooks/index.test.js +0 -137
- package/features/git-hooks/post-commit +0 -56
- package/features/git-hooks/post-merge +0 -47
- package/features/git-hooks/pre-commit +0 -28
- package/features/git-hooks/simple-steps.js +0 -53
- package/features/git-hooks/simple-test.feature +0 -10
- package/features/git-hooks/steps.js +0 -196
- package/features/jettypod-update-command.feature +0 -46
- package/features/mode-prompts/index.js +0 -95
- package/features/mode-prompts/simple-steps.js +0 -44
- package/features/mode-prompts/simple-test.feature +0 -9
- package/features/mode-prompts/validation.test.js +0 -120
- package/features/multiple-claude-instances.feature +0 -121
- package/features/production-mode-skill.feature +0 -121
- package/features/refactor-mode/steps.js +0 -217
- package/features/refactor-mode.feature +0 -49
- package/features/simplify-external-transition.feature +0 -166
- package/features/skills-update/index.test.js +0 -216
- package/features/step_definitions/backlog-command.steps.js +0 -37
- package/features/step_definitions/fix-text-wrapping.steps.js +0 -271
- package/features/step_definitions/multiple-claude-instances.steps.js +0 -621
- package/features/step_definitions/production-mode-skill.steps.js +0 -862
- package/features/step_definitions/simplify-external-transition.steps.js +0 -370
- package/features/step_definitions/terminal-logo.steps.js +0 -145
- package/features/step_definitions/update-command.steps.js +0 -183
- package/features/support/hooks.js +0 -9
- package/features/terminal-logo/index.js +0 -39
- package/features/terminal-logo/terminal-logo.feature +0 -30
- package/features/update-command/index.js +0 -181
- package/features/update-command/index.test.js +0 -225
- package/features/work-commands/bug-workflow-display.feature +0 -22
- package/features/work-commands/index.js +0 -498
- package/features/work-commands/simple-steps.js +0 -69
- package/features/work-commands/stable-tests.feature +0 -57
- package/features/work-commands/steps.js +0 -1174
- package/features/work-commands/validation.test.js +0 -88
- package/features/work-commands/work-commands.feature +0 -13
- package/features/work-tracking/discovery-validation.test.js +0 -228
- package/features/work-tracking/index.js +0 -1921
- package/features/work-tracking/mode-required.feature +0 -112
- package/features/work-tracking/phase-tracking.test.js +0 -482
- package/features/work-tracking/prototype-tracking.test.js +0 -485
- package/features/work-tracking/tree-view.test.js +0 -310
- package/features/work-tracking/work-set-mode.feature +0 -71
- package/features/work-tracking/work-start-mode.feature +0 -88
- package/full-test.txt +0 -0
- package/lib/bug-workflow.test.js +0 -177
- package/lib/claudemd.test.js +0 -195
- package/lib/config.test.js +0 -511
- package/lib/constants.test.js +0 -164
- package/lib/current-work.test.js +0 -146
- package/lib/database-project-config.test.js +0 -111
- package/lib/database.test.js +0 -106
- package/lib/decisions-generator.test.js +0 -457
- package/lib/decisions-helpers.test.js +0 -310
- package/lib/git-coordinator.js +0 -167
- package/lib/git.test.js +0 -145
- package/lib/migrations/002-default-work-item-modes.test.js +0 -351
- package/lib/production-chore-generator.test.js +0 -432
- package/lib/production-context-detector.test.js +0 -277
- package/lib/production-scenario-appender.test.js +0 -235
- package/lib/production-scenario-validator.test.js +0 -246
- package/lib/production-standards-reader.test.js +0 -270
- package/lib/project-state.test.js +0 -92
- package/lib/push-queue.js +0 -417
- package/lib/queue-processor.js +0 -74
- package/lib/test-helpers.js +0 -202
- package/lib/test-helpers.test.js +0 -255
- package/prototypes/2025-01-11-production-mode-autonomous.js +0 -119
- package/prototypes/2025-01-11-production-mode-collaborative.js +0 -166
- package/prototypes/2025-01-11-production-mode-guided.js +0 -217
- package/prototypes/2025-01-11-production-mode-smart-context.js +0 -347
- package/prototypes/2025-01-11-production-standards-example.md +0 -204
- package/prototypes/2025-11-10-backlog-filtering-tree-aware.js +0 -242
- package/prototypes/test/index.html +0 -1
- package/setup-dist-repo.sh +0 -68
- package/test-production-standards-engine.js +0 -130
- package/test-results.json +0 -2195
- package/test-safety-check.sh +0 -80
- package/work-item-tracking-plan.md +0 -199
- /package/{.jettypod/devpod.db → jettypod.db} +0 -0
package/test-safety-check.sh
DELETED
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
|
|
3
|
-
# Test Safety Verification Script
|
|
4
|
-
# Ensures tests don't modify production files
|
|
5
|
-
|
|
6
|
-
set -e
|
|
7
|
-
|
|
8
|
-
echo "🔍 Test Safety Verification Starting..."
|
|
9
|
-
|
|
10
|
-
# Colors for output
|
|
11
|
-
RED='\033[0;31m'
|
|
12
|
-
GREEN='\033[0;32m'
|
|
13
|
-
YELLOW='\033[1;33m'
|
|
14
|
-
NC='\033[0m' # No Color
|
|
15
|
-
|
|
16
|
-
# Create snapshots
|
|
17
|
-
echo "📸 Creating production snapshots..."
|
|
18
|
-
if command -v md5sum > /dev/null; then
|
|
19
|
-
MD5_CMD="md5sum"
|
|
20
|
-
else
|
|
21
|
-
MD5_CMD="md5 -r"
|
|
22
|
-
fi
|
|
23
|
-
$MD5_CMD package.json > .test-safety-package.md5
|
|
24
|
-
ls -la | grep -v "node_modules" | grep -v ".git" > .test-safety-files.txt
|
|
25
|
-
find . -type f \( -name "*.js" -o -name "*.json" -o -name "*.md" \) | \
|
|
26
|
-
grep -v node_modules | grep -v .git | \
|
|
27
|
-
xargs $MD5_CMD > .test-safety-all.md5
|
|
28
|
-
|
|
29
|
-
# Run tests
|
|
30
|
-
echo "🧪 Running tests..."
|
|
31
|
-
npm test || TEST_FAILED=1
|
|
32
|
-
|
|
33
|
-
# Verify no changes
|
|
34
|
-
echo "🔍 Verifying production directory..."
|
|
35
|
-
|
|
36
|
-
# Check package.json
|
|
37
|
-
CURRENT_MD5=$($MD5_CMD package.json)
|
|
38
|
-
ORIGINAL_MD5=$(cat .test-safety-package.md5)
|
|
39
|
-
if [ "$CURRENT_MD5" = "$ORIGINAL_MD5" ]; then
|
|
40
|
-
echo -e "${GREEN}✓${NC} package.json unchanged"
|
|
41
|
-
else
|
|
42
|
-
echo -e "${RED}✗${NC} package.json was modified!"
|
|
43
|
-
SAFETY_FAILED=1
|
|
44
|
-
fi
|
|
45
|
-
|
|
46
|
-
# Check for leaked files
|
|
47
|
-
LEAKED_FILES=$(ls | grep -E "^(temp_|actual_|main|server|utils|Calculator|helper|app)" || true)
|
|
48
|
-
if [ -z "$LEAKED_FILES" ]; then
|
|
49
|
-
echo -e "${GREEN}✓${NC} No test artifacts leaked"
|
|
50
|
-
else
|
|
51
|
-
echo -e "${RED}✗${NC} Test files leaked to production:"
|
|
52
|
-
echo "$LEAKED_FILES"
|
|
53
|
-
SAFETY_FAILED=1
|
|
54
|
-
fi
|
|
55
|
-
|
|
56
|
-
# Check all files
|
|
57
|
-
CURRENT_ALL_MD5=$(find . -type f \( -name "*.js" -o -name "*.json" -o -name "*.md" \) | \
|
|
58
|
-
grep -v node_modules | grep -v .git | \
|
|
59
|
-
xargs $MD5_CMD | sort)
|
|
60
|
-
ORIGINAL_ALL_MD5=$(cat .test-safety-all.md5 | sort)
|
|
61
|
-
if [ "$CURRENT_ALL_MD5" = "$ORIGINAL_ALL_MD5" ]; then
|
|
62
|
-
echo -e "${GREEN}✓${NC} All production files unchanged"
|
|
63
|
-
else
|
|
64
|
-
echo -e "${YELLOW}⚠${NC} Some files were modified (CLAUDE.md updates are expected)"
|
|
65
|
-
fi
|
|
66
|
-
|
|
67
|
-
# Cleanup
|
|
68
|
-
rm -f .test-safety-*.md5 .test-safety-*.txt
|
|
69
|
-
|
|
70
|
-
# Report
|
|
71
|
-
echo ""
|
|
72
|
-
if [ "$SAFETY_FAILED" = "1" ]; then
|
|
73
|
-
echo -e "${RED}❌ SAFETY CHECK FAILED${NC} - Tests modified production files!"
|
|
74
|
-
exit 1
|
|
75
|
-
elif [ "$TEST_FAILED" = "1" ]; then
|
|
76
|
-
echo -e "${YELLOW}⚠️ Tests failed but production is safe${NC}"
|
|
77
|
-
exit 1
|
|
78
|
-
else
|
|
79
|
-
echo -e "${GREEN}✅ SAFETY CHECK PASSED${NC} - Production directory is safe!"
|
|
80
|
-
fi
|
|
@@ -1,199 +0,0 @@
|
|
|
1
|
-
# Work Item Tracking Implementation Plan
|
|
2
|
-
|
|
3
|
-
## Goal
|
|
4
|
-
Keep work items updated throughout feature lifecycle via mode changes and Git hooks.
|
|
5
|
-
|
|
6
|
-
## Core Components
|
|
7
|
-
|
|
8
|
-
### 1. Work Item Management
|
|
9
|
-
**Command: `jettypod work start <id>`**
|
|
10
|
-
- Sets work item as "current" (store in `.jettypod/current-work.json`)
|
|
11
|
-
- Auto-updates status `todo` → `in_progress`
|
|
12
|
-
- Creates feature branch: `feature/work-<id>-<slug>`
|
|
13
|
-
- Updates CLAUDE.md `<current_work>` section
|
|
14
|
-
|
|
15
|
-
**Command: `jettypod work stop`**
|
|
16
|
-
- Clears current work item
|
|
17
|
-
- Prompts for status update before clearing
|
|
18
|
-
|
|
19
|
-
### 2. Subtask Support
|
|
20
|
-
**Structure: Flat with parent reference**
|
|
21
|
-
```yaml
|
|
22
|
-
- id: 1
|
|
23
|
-
title: Q1 2025 Goals
|
|
24
|
-
type: epic
|
|
25
|
-
status: in_progress
|
|
26
|
-
|
|
27
|
-
- id: 2
|
|
28
|
-
title: Work Tracking
|
|
29
|
-
type: feature
|
|
30
|
-
parent: 1
|
|
31
|
-
status: in_progress
|
|
32
|
-
|
|
33
|
-
- id: 3
|
|
34
|
-
title: Git hook integration
|
|
35
|
-
type: task
|
|
36
|
-
parent: 2
|
|
37
|
-
status: todo
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
**Display format:**
|
|
41
|
-
- When starting #3: "Working on: [#3] Git hook integration (subtask of #2 Work Tracking)"
|
|
42
|
-
- In CLAUDE.md: Show full hierarchy chain
|
|
43
|
-
|
|
44
|
-
### 3. Git Hook Auto-Updates
|
|
45
|
-
|
|
46
|
-
**Hook: `post-commit`**
|
|
47
|
-
- First commit on feature branch → auto `todo` → `in_progress`
|
|
48
|
-
- Work item already `in_progress` or beyond → skip
|
|
49
|
-
- No current work item → skip silently
|
|
50
|
-
|
|
51
|
-
**Hook: `prepare-commit-msg`**
|
|
52
|
-
- Committing while status is `todo` → prompt "Work item still 'todo'. Update to 'in_progress'? [Y/n]"
|
|
53
|
-
- Work item is `in_progress` → skip
|
|
54
|
-
- No current work item → skip silently
|
|
55
|
-
|
|
56
|
-
**Hook: `post-merge`** (or detect merge to main in post-commit)
|
|
57
|
-
- Merged to main → auto → `done`
|
|
58
|
-
- Merged to other branch → skip
|
|
59
|
-
|
|
60
|
-
### 4. Mode Change Prompts
|
|
61
|
-
|
|
62
|
-
**Modified: `jettypod mode <mode>`**
|
|
63
|
-
Before switching modes:
|
|
64
|
-
```
|
|
65
|
-
Current work: [#2] Work Tracking (in_progress)
|
|
66
|
-
Update status? [in_progress/blocked/done/skip]: _
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
- Shows current work item and status
|
|
70
|
-
- Prompts for new status
|
|
71
|
-
- Skip = no change
|
|
72
|
-
- Updates work item + CLAUDE.md before mode change completes
|
|
73
|
-
|
|
74
|
-
### 5. Hook Installation
|
|
75
|
-
|
|
76
|
-
**Location:** `.jettypod/hooks/` (templates)
|
|
77
|
-
|
|
78
|
-
**Setup:**
|
|
79
|
-
- `jettypod init` or first-run setup symlinks to `.git/hooks/`
|
|
80
|
-
- Hooks check for `.jettypod/current-work.json` before doing anything
|
|
81
|
-
- Fail silently if file doesn't exist (not using work tracking yet)
|
|
82
|
-
|
|
83
|
-
## Work Item Hierarchy
|
|
84
|
-
|
|
85
|
-
**Epic: [#2] Work Item Lifecycle Automation** (parent: #1 Q1 2025 Goals)
|
|
86
|
-
|
|
87
|
-
### Features:
|
|
88
|
-
- **[#3] Work item commands** - `jettypod work start/stop`
|
|
89
|
-
- **[#4] Git hook integration** - Auto-update on commits/merges
|
|
90
|
-
- **[#5] Mode change prompts** - Status review on mode switch
|
|
91
|
-
- **[#6] Subtask support** - Parent hierarchy tracking
|
|
92
|
-
|
|
93
|
-
## Implementation Order
|
|
94
|
-
|
|
95
|
-
### Feature #3: Work Item Commands (2h max)
|
|
96
|
-
**Type:** feature
|
|
97
|
-
**Parent:** #2 Work Item Lifecycle Automation
|
|
98
|
-
|
|
99
|
-
1. Write Gherkin scenarios:
|
|
100
|
-
- Starting work item sets current + creates branch
|
|
101
|
-
- Starting work item updates status
|
|
102
|
-
- Stopping work item prompts for status
|
|
103
|
-
- Subtask display shows parent chain
|
|
104
|
-
- Integration: starting work updates CLAUDE.md
|
|
105
|
-
|
|
106
|
-
2. Implement:
|
|
107
|
-
- `jettypod work start <id>`
|
|
108
|
-
- `jettypod work stop`
|
|
109
|
-
- `.jettypod/current-work.json` storage
|
|
110
|
-
- Parent hierarchy resolution
|
|
111
|
-
- CLAUDE.md `<current_work>` update
|
|
112
|
-
|
|
113
|
-
### Feature #4: Git Hook Integration (2h max)
|
|
114
|
-
**Type:** feature
|
|
115
|
-
**Parent:** #2 Work Item Lifecycle Automation
|
|
116
|
-
|
|
117
|
-
1. Write Gherkin scenarios:
|
|
118
|
-
- First commit auto-updates to in_progress
|
|
119
|
-
- Commit while todo prompts for update
|
|
120
|
-
- Merge to main auto-updates to done
|
|
121
|
-
- Integration: hooks respect current work item state
|
|
122
|
-
|
|
123
|
-
2. Implement:
|
|
124
|
-
- Hook templates in `.jettypod/hooks/`
|
|
125
|
-
- `post-commit` logic
|
|
126
|
-
- `prepare-commit-msg` logic
|
|
127
|
-
- `post-merge` logic
|
|
128
|
-
- Hook installation in init
|
|
129
|
-
|
|
130
|
-
### Feature #5: Mode Change Integration (1h max)
|
|
131
|
-
**Type:** feature
|
|
132
|
-
**Parent:** #2 Work Item Lifecycle Automation
|
|
133
|
-
|
|
134
|
-
1. Write Gherkin scenarios:
|
|
135
|
-
- Mode change prompts for work item status
|
|
136
|
-
- Skip option doesn't update
|
|
137
|
-
- Status update reflects in CLAUDE.md
|
|
138
|
-
- Integration: mode change + work item update atomic
|
|
139
|
-
|
|
140
|
-
2. Implement:
|
|
141
|
-
- Modify `jettypod mode <mode>` to prompt
|
|
142
|
-
- Update work item from prompt
|
|
143
|
-
- Update CLAUDE.md
|
|
144
|
-
- Validate before mode switch completes
|
|
145
|
-
|
|
146
|
-
### Feature #6: Subtask Support (implicit)
|
|
147
|
-
**Type:** feature
|
|
148
|
-
**Parent:** #2 Work Item Lifecycle Automation
|
|
149
|
-
|
|
150
|
-
Built into #3 - flat structure with parent references, hierarchy resolution in display logic.
|
|
151
|
-
|
|
152
|
-
## Edge Cases
|
|
153
|
-
|
|
154
|
-
### No current work item
|
|
155
|
-
- All hooks skip silently
|
|
156
|
-
- Mode change shows "No active work item"
|
|
157
|
-
|
|
158
|
-
### Committing directly to main
|
|
159
|
-
- Warn but allow
|
|
160
|
-
- Don't auto-update status (ambiguous)
|
|
161
|
-
|
|
162
|
-
### Work item already in target status
|
|
163
|
-
- Skip auto-update
|
|
164
|
-
- Don't prompt
|
|
165
|
-
|
|
166
|
-
### Invalid work item ID in current-work.json
|
|
167
|
-
- Show error
|
|
168
|
-
- Prompt to clear or fix
|
|
169
|
-
|
|
170
|
-
### Parent work item doesn't exist
|
|
171
|
-
- Show warning
|
|
172
|
-
- Continue (broken reference, but don't block)
|
|
173
|
-
|
|
174
|
-
## Files Created/Modified
|
|
175
|
-
|
|
176
|
-
**New:**
|
|
177
|
-
- `.jettypod/hooks/post-commit`
|
|
178
|
-
- `.jettypod/hooks/prepare-commit-msg`
|
|
179
|
-
- `.jettypod/hooks/post-merge`
|
|
180
|
-
- `.jettypod/current-work.json` (generated)
|
|
181
|
-
- `features/work-commands/` (implementation)
|
|
182
|
-
- `features/work-commands/work-commands.feature` (scenarios)
|
|
183
|
-
|
|
184
|
-
**Modified:**
|
|
185
|
-
- .jettypod.js` (add work start/stop commands)
|
|
186
|
-
- `lib/mode.js` (add status prompt)
|
|
187
|
-
- `lib/init.js` (hook installation)
|
|
188
|
-
- `lib/claudemd.js` (update current_work section)
|
|
189
|
-
|
|
190
|
-
## Success Criteria
|
|
191
|
-
|
|
192
|
-
✅ Can start work item and it creates branch + updates CLAUDE.md
|
|
193
|
-
✅ First commit auto-updates status to in_progress
|
|
194
|
-
✅ Committing while todo prompts for update
|
|
195
|
-
✅ Merging to main auto-updates to done
|
|
196
|
-
✅ Mode change prompts for status review
|
|
197
|
-
✅ Subtasks display parent hierarchy
|
|
198
|
-
✅ All Gherkin tests passing (including integration tests)
|
|
199
|
-
✅ Can demo full workflow without manual CLAUDE.md edits
|
|
File without changes
|