jettypod 4.4.14 → 4.4.16
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/apps/dashboard/lib/db.ts
CHANGED
|
@@ -31,17 +31,22 @@ export interface Decision {
|
|
|
31
31
|
created_at: string;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
function
|
|
34
|
+
function getProjectRoot(): string {
|
|
35
|
+
// Use JETTYPOD_PROJECT_PATH if set (passed by jettypod CLI)
|
|
36
|
+
// Otherwise fall back to git root (for dev mode)
|
|
37
|
+
if (process.env.JETTYPOD_PROJECT_PATH) {
|
|
38
|
+
return process.env.JETTYPOD_PROJECT_PATH;
|
|
39
|
+
}
|
|
35
40
|
try {
|
|
36
41
|
return execSync('git rev-parse --show-toplevel', { encoding: 'utf-8' }).trim();
|
|
37
42
|
} catch {
|
|
38
|
-
throw new Error('Not in a git repository');
|
|
43
|
+
throw new Error('Not in a git repository and JETTYPOD_PROJECT_PATH not set');
|
|
39
44
|
}
|
|
40
45
|
}
|
|
41
46
|
|
|
42
47
|
function getDbPath(): string {
|
|
43
|
-
const
|
|
44
|
-
return path.join(
|
|
48
|
+
const projectRoot = getProjectRoot();
|
|
49
|
+
return path.join(projectRoot, '.jettypod', 'work.db');
|
|
45
50
|
}
|
|
46
51
|
|
|
47
52
|
function getDb(): Database.Database {
|
package/jettypod.js
CHANGED
|
@@ -1266,11 +1266,13 @@ switch (command) {
|
|
|
1266
1266
|
} else if (subcommand === 'merge') {
|
|
1267
1267
|
const workCommands = require('./features/work-commands/index.js');
|
|
1268
1268
|
try {
|
|
1269
|
-
// Parse merge flags from args
|
|
1269
|
+
// Parse merge flags and optional work item ID from args
|
|
1270
1270
|
const withTransition = args.includes('--with-transition');
|
|
1271
1271
|
const releaseLock = args.includes('--release-lock');
|
|
1272
|
+
// Find numeric arg that isn't a flag
|
|
1273
|
+
const workItemId = args.find(a => /^\d+$/.test(a)) ? parseInt(args.find(a => /^\d+$/.test(a))) : null;
|
|
1272
1274
|
|
|
1273
|
-
await workCommands.mergeWork({ withTransition, releaseLock });
|
|
1275
|
+
await workCommands.mergeWork({ withTransition, releaseLock, workItemId });
|
|
1274
1276
|
} catch (err) {
|
|
1275
1277
|
console.error(`Error: ${err.message}`);
|
|
1276
1278
|
process.exit(1);
|
|
@@ -1968,12 +1970,16 @@ switch (command) {
|
|
|
1968
1970
|
const portAvailable = await isPortAvailable(DASHBOARD_PORT);
|
|
1969
1971
|
|
|
1970
1972
|
if (portAvailable) {
|
|
1971
|
-
// Start dashboard in background
|
|
1973
|
+
// Start dashboard in background with project path
|
|
1972
1974
|
console.log('🚀 Starting dashboard...');
|
|
1973
1975
|
const dashboardProcess = spawn('npm', ['run', 'dev', '--', '-p', String(DASHBOARD_PORT)], {
|
|
1974
1976
|
cwd: dashboardPath,
|
|
1975
1977
|
detached: true,
|
|
1976
|
-
stdio: 'ignore'
|
|
1978
|
+
stdio: 'ignore',
|
|
1979
|
+
env: {
|
|
1980
|
+
...process.env,
|
|
1981
|
+
JETTYPOD_PROJECT_PATH: process.cwd()
|
|
1982
|
+
}
|
|
1977
1983
|
});
|
|
1978
1984
|
dashboardProcess.unref();
|
|
1979
1985
|
|
package/package.json
CHANGED
|
@@ -305,10 +305,10 @@ git commit -m "chore: [brief description]"
|
|
|
305
305
|
git push
|
|
306
306
|
|
|
307
307
|
# Switch to main repo before merging (merge cannot run from inside worktree)
|
|
308
|
-
cd $(git rev-parse --
|
|
308
|
+
cd $(git rev-parse --show-toplevel)/..
|
|
309
309
|
|
|
310
310
|
# Merge to main (auto-marks chore done)
|
|
311
|
-
jettypod work merge
|
|
311
|
+
jettypod work merge [chore-id]
|
|
312
312
|
```
|
|
313
313
|
|
|
314
314
|
**Display:**
|
|
@@ -535,8 +535,9 @@ More speed mode chores remain. Starting next chore:
|
|
|
535
535
|
# Commit changes in the worktree
|
|
536
536
|
git add . && git commit -m "feat: [brief description of what was implemented]"
|
|
537
537
|
|
|
538
|
-
#
|
|
539
|
-
|
|
538
|
+
# Return to main repo and merge (cannot merge from inside worktree)
|
|
539
|
+
cd $(git rev-parse --show-toplevel)/.. # Exit worktree to main repo
|
|
540
|
+
jettypod work merge [current-chore-id]
|
|
540
541
|
|
|
541
542
|
# Start next speed chore
|
|
542
543
|
jettypod work start [next-chore-id]
|
|
@@ -582,8 +583,9 @@ npx cucumber-js <scenario-file-path> --name "User can reach" --format progress
|
|
|
582
583
|
# Commit changes in the worktree
|
|
583
584
|
git add . && git commit -m "feat: [brief description of what was implemented]"
|
|
584
585
|
|
|
585
|
-
#
|
|
586
|
-
|
|
586
|
+
# Return to main repo and merge (cannot merge from inside worktree)
|
|
587
|
+
cd $(git rev-parse --show-toplevel)/.. # Exit worktree to main repo
|
|
588
|
+
jettypod work merge [current-chore-id] --with-transition
|
|
587
589
|
```
|
|
588
590
|
|
|
589
591
|
After merge, you are on main branch. Ready to generate stable mode scenarios.
|
|
@@ -739,9 +741,10 @@ Before ending speed-mode skill, ensure:
|
|
|
739
741
|
|
|
740
742
|
## Command Reference
|
|
741
743
|
|
|
742
|
-
**Complete chores:**
|
|
744
|
+
**Complete chores (run from main repo, not worktree):**
|
|
743
745
|
```bash
|
|
744
|
-
jettypod work merge
|
|
746
|
+
jettypod work merge <id> # Merge chore by ID (recommended)
|
|
747
|
+
jettypod work merge # Merge current chore (requires being on feature branch)
|
|
745
748
|
jettypod work merge --with-transition # Hold lock for transition phase
|
|
746
749
|
jettypod work merge --release-lock # Release held lock
|
|
747
750
|
```
|
|
@@ -491,8 +491,9 @@ More stable mode chores remain. Starting next chore:
|
|
|
491
491
|
# Commit changes in the worktree
|
|
492
492
|
git add . && git commit -m "feat: [brief description of error handling added]"
|
|
493
493
|
|
|
494
|
-
#
|
|
495
|
-
|
|
494
|
+
# Return to main repo and merge (cannot merge from inside worktree)
|
|
495
|
+
cd $(git rev-parse --show-toplevel)/.. # Exit worktree to main repo
|
|
496
|
+
jettypod work merge [current-chore-id]
|
|
496
497
|
|
|
497
498
|
# Start next stable chore
|
|
498
499
|
jettypod work start [next-chore-id]
|
|
@@ -516,7 +517,8 @@ If the query returns no remaining chores, proceed to Step 7.
|
|
|
516
517
|
|
|
517
518
|
```bash
|
|
518
519
|
git add . && git commit -m "feat: [brief description of error handling added]"
|
|
519
|
-
|
|
520
|
+
cd $(git rev-parse --show-toplevel)/.. # Exit worktree to main repo
|
|
521
|
+
jettypod work merge [current-chore-id]
|
|
520
522
|
```
|
|
521
523
|
|
|
522
524
|
**Then check project state:**
|
|
@@ -623,9 +625,10 @@ Before ending stable-mode skill, ensure:
|
|
|
623
625
|
|
|
624
626
|
## Command Reference
|
|
625
627
|
|
|
626
|
-
**Complete chores:**
|
|
628
|
+
**Complete chores (run from main repo, not worktree):**
|
|
627
629
|
```bash
|
|
628
|
-
jettypod work merge
|
|
630
|
+
jettypod work merge <id> # Merge chore by ID (recommended)
|
|
631
|
+
jettypod work merge # Merge current chore (requires being on feature branch)
|
|
629
632
|
```
|
|
630
633
|
|
|
631
634
|
**Start chores:**
|