jettypod 3.0.3 → 4.0.0
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/PROTECT_SKILLS.md +2 -2
- package/.claude/skills/{epic-discover → epic-planning}/SKILL.md +57 -22
- package/.claude/skills/{feature-discover → feature-planning}/SKILL.md +38 -22
- package/.claude/skills/speed-mode/SKILL.md +79 -8
- package/.claude/skills/stable-mode/SKILL.md +83 -1
- package/SYSTEM-BEHAVIOR.md +172 -21
- package/docs/COMMAND_REFERENCE.md +26 -26
- package/docs/gap-analysis-current-vs-comprehensive-methodology.md +3 -3
- package/features/auto-generate-production-chores.feature +62 -11
- package/features/backlog-command.feature +26 -0
- package/features/claude-md-protection/steps.js +6 -4
- package/features/decisions/index.js +10 -10
- package/features/git-hooks/simple-steps.js +4 -4
- package/features/git-hooks/steps.js +7 -7
- package/features/mode-prompts/simple-steps.js +3 -3
- package/features/step_definitions/auto-generate-production-chores.steps.js +542 -114
- package/features/step_definitions/backlog-command.steps.js +37 -0
- package/features/work-commands/index.js +192 -8
- package/features/work-commands/simple-steps.js +5 -5
- package/features/work-commands/steps.js +2 -2
- package/features/work-tracking/index.js +209 -35
- package/features/work-tracking/mode-required.feature +1 -1
- package/jettypod.js +15 -8
- package/lib/production-chore-generator.js +198 -0
- package/package.json +1 -1
|
@@ -27,7 +27,7 @@ Given('I have initialized jettypod with git', function () {
|
|
|
27
27
|
execSync('git init', { stdio: 'pipe' });
|
|
28
28
|
execSync('git config user.email "test@test.com"', { stdio: 'pipe' });
|
|
29
29
|
execSync('git config user.name "Test"', { stdio: 'pipe' });
|
|
30
|
-
execSync(`node ${path.join(originalDir, 'jettypod.js')} init`, { stdio: 'pipe' });
|
|
30
|
+
execSync(`node ${path.join(originalDir, 'jettypod.js')} init`, { stdio: 'pipe', env: { ...process.env, NODE_ENV: 'test' } });
|
|
31
31
|
|
|
32
32
|
// Verify hooks installed
|
|
33
33
|
const hookPath = path.join(testDir, '.git', 'hooks', 'post-commit');
|
|
@@ -35,7 +35,7 @@ Given('I have initialized jettypod with git', function () {
|
|
|
35
35
|
});
|
|
36
36
|
|
|
37
37
|
Given('I create a work item via work commands', function () {
|
|
38
|
-
execSync(`node ${path.join(originalDir, 'jettypod.js')} work create feature "Test Feature"`, { stdio: 'pipe' });
|
|
38
|
+
execSync(`node ${path.join(originalDir, 'jettypod.js')} work create feature "Test Feature"`, { stdio: 'pipe', env: { ...process.env, NODE_ENV: 'test' } });
|
|
39
39
|
this.workItemId = 1;
|
|
40
40
|
});
|
|
41
41
|
|
|
@@ -100,17 +100,17 @@ Given('I have a work item with status {string}', function (status) {
|
|
|
100
100
|
// Store default branch name
|
|
101
101
|
this.defaultBranch = execSync('git branch --show-current', { encoding: 'utf-8' }).trim();
|
|
102
102
|
|
|
103
|
-
execSync(`node ${path.join(originalDir, 'jettypod.js')} init`, { stdio: 'pipe' });
|
|
103
|
+
execSync(`node ${path.join(originalDir, 'jettypod.js')} init`, { stdio: 'pipe', env: { ...process.env, NODE_ENV: 'test' } });
|
|
104
104
|
|
|
105
|
-
execSync(`node ${path.join(originalDir, 'jettypod.js')} work create feature "Test"`, { stdio: 'pipe' });
|
|
106
|
-
execSync(`node ${path.join(originalDir, 'jettypod.js')} work status 1 ${status}`, { stdio: 'pipe' });
|
|
105
|
+
execSync(`node ${path.join(originalDir, 'jettypod.js')} work create feature "Test"`, { stdio: 'pipe', env: { ...process.env, NODE_ENV: 'test' } });
|
|
106
|
+
execSync(`node ${path.join(originalDir, 'jettypod.js')} work status 1 ${status}`, { stdio: 'pipe', env: { ...process.env, NODE_ENV: 'test' } });
|
|
107
107
|
|
|
108
108
|
this.workItemId = 1;
|
|
109
109
|
this.initialStatus = status;
|
|
110
110
|
});
|
|
111
111
|
|
|
112
112
|
Given('the work item is set as current work', function () {
|
|
113
|
-
execSync(`node ${path.join(originalDir, 'jettypod.js')} work start ${this.workItemId}`, { stdio: 'pipe' });
|
|
113
|
+
execSync(`node ${path.join(originalDir, 'jettypod.js')} work start ${this.workItemId}`, { stdio: 'pipe', env: { ...process.env, NODE_ENV: 'test' } });
|
|
114
114
|
});
|
|
115
115
|
|
|
116
116
|
Given('I am on a feature branch', function () {
|
|
@@ -175,7 +175,7 @@ Given('no work item is set as current', function () {
|
|
|
175
175
|
execSync('git init', { stdio: 'pipe' });
|
|
176
176
|
execSync('git config user.email "test@test.com"', { stdio: 'pipe' });
|
|
177
177
|
execSync('git config user.name "Test"', { stdio: 'pipe' });
|
|
178
|
-
execSync(`node ${path.join(originalDir, 'jettypod.js')} init`, { stdio: 'pipe' });
|
|
178
|
+
execSync(`node ${path.join(originalDir, 'jettypod.js')} init`, { stdio: 'pipe', env: { ...process.env, NODE_ENV: 'test' } });
|
|
179
179
|
});
|
|
180
180
|
|
|
181
181
|
When('I make a commit', function () {
|
|
@@ -19,9 +19,9 @@ Given('I have jettypod with a work item in progress', function () {
|
|
|
19
19
|
execSync('git init', { stdio: 'pipe' });
|
|
20
20
|
execSync('git config user.email "test@test.com"', { stdio: 'pipe' });
|
|
21
21
|
execSync('git config user.name "Test"', { stdio: 'pipe' });
|
|
22
|
-
execSync(`node ${path.join(originalDir, 'jettypod.js')} init`, { stdio: 'pipe' });
|
|
23
|
-
execSync(`node ${path.join(originalDir, 'jettypod.js')} work create feature "Test"`, { stdio: 'pipe' });
|
|
24
|
-
execSync(`node ${path.join(originalDir, 'jettypod.js')} work start 1`, { stdio: 'pipe' });
|
|
22
|
+
execSync(`node ${path.join(originalDir, 'jettypod.js')} init`, { stdio: 'pipe', env: { ...process.env, NODE_ENV: 'test' } });
|
|
23
|
+
execSync(`node ${path.join(originalDir, 'jettypod.js')} work create feature "Test"`, { stdio: 'pipe', env: { ...process.env, NODE_ENV: 'test' } });
|
|
24
|
+
execSync(`node ${path.join(originalDir, 'jettypod.js')} work start 1`, { stdio: 'pipe', env: { ...process.env, NODE_ENV: 'test' } });
|
|
25
25
|
});
|
|
26
26
|
|
|
27
27
|
When('I check current work exists', function () {
|