jettypod 3.0.1

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.
Files changed (122) hide show
  1. package/.claude/PROTECT_SKILLS.md +28 -0
  2. package/.claude/settings.json +24 -0
  3. package/.claude/settings.local.json +16 -0
  4. package/.claude/skills/epic-discover/SKILL.md +262 -0
  5. package/.claude/skills/feature-discover/SKILL.md +393 -0
  6. package/.claude/skills/speed-mode/SKILL.md +364 -0
  7. package/.claude/skills/stable-mode/SKILL.md +591 -0
  8. package/.github/workflows/test-safety.yml +85 -0
  9. package/README.md +25 -0
  10. package/SPEED-STABLE-AUDIT.md +853 -0
  11. package/SYSTEM-BEHAVIOR.md +1241 -0
  12. package/TEST_SAFETY_AUDIT.md +314 -0
  13. package/TEST_SAFETY_IMPLEMENTATION.md +97 -0
  14. package/cucumber.js +8 -0
  15. package/docs/COMMAND_REFERENCE.md +903 -0
  16. package/docs/DECISIONS.md +68 -0
  17. package/docs/README.md +48 -0
  18. package/docs/STANDARDS-SYSTEM-DOCUMENTATION.md +374 -0
  19. package/docs/TEST-REWRITE-PLAN.md +261 -0
  20. package/docs/ai-test-writing-requirements.md +219 -0
  21. package/docs/claude-code-skills.md +607 -0
  22. package/docs/core-jettypod-methodology/comprehensive-jettypod-methodology.md +582 -0
  23. package/docs/core-jettypod-methodology/deprecated/jettypod-comprehensive-standards.md +1222 -0
  24. package/docs/core-jettypod-methodology/deprecated/jettypod-operating-guide.md +3399 -0
  25. package/docs/core-jettypod-methodology/deprecated/jettypod-technical-checklist.md +1325 -0
  26. package/docs/core-jettypod-methodology/deprecated/jettypod-vibe-coding-framework.md +1544 -0
  27. package/docs/core-jettypod-methodology/deprecated/prompt-engineering-guide.md +320 -0
  28. package/docs/core-jettypod-methodology/deprecated/vibe-coding-cheatsheet (1).md +516 -0
  29. package/docs/core-jettypod-methodology/deprecated/vibe-coding-framework.md +1544 -0
  30. package/docs/features/jettypod-standards-explained.md +543 -0
  31. package/docs/features/standards-inventory.md +257 -0
  32. package/docs/gap-analysis-current-vs-comprehensive-methodology.md +939 -0
  33. package/docs/jettypod-system-overview.md +409 -0
  34. package/features/auto-generate-production-chores.feature +14 -0
  35. package/features/claude-md-protection/steps.js +487 -0
  36. package/features/decisions/index.js +490 -0
  37. package/features/decisions/index.test.js +208 -0
  38. package/features/git-hooks/git-hooks.feature +30 -0
  39. package/features/git-hooks/index.js +93 -0
  40. package/features/git-hooks/index.test.js +137 -0
  41. package/features/git-hooks/post-commit +56 -0
  42. package/features/git-hooks/post-merge +47 -0
  43. package/features/git-hooks/pre-commit +28 -0
  44. package/features/git-hooks/simple-steps.js +53 -0
  45. package/features/git-hooks/simple-test.feature +10 -0
  46. package/features/git-hooks/steps.js +196 -0
  47. package/features/jettypod-update-command.feature +46 -0
  48. package/features/mode-prompts/index.js +95 -0
  49. package/features/mode-prompts/simple-steps.js +44 -0
  50. package/features/mode-prompts/simple-test.feature +9 -0
  51. package/features/mode-prompts/validation.test.js +120 -0
  52. package/features/refactor-mode/steps.js +217 -0
  53. package/features/refactor-mode.feature +49 -0
  54. package/features/skills-update/index.test.js +216 -0
  55. package/features/step_definitions/auto-generate-production-chores.steps.js +162 -0
  56. package/features/step_definitions/terminal-logo.steps.js +145 -0
  57. package/features/step_definitions/update-command.steps.js +183 -0
  58. package/features/terminal-logo/index.js +39 -0
  59. package/features/terminal-logo/terminal-logo.feature +30 -0
  60. package/features/update-command/index.js +181 -0
  61. package/features/update-command/index.test.js +225 -0
  62. package/features/work-commands/bug-workflow-display.feature +22 -0
  63. package/features/work-commands/index.js +311 -0
  64. package/features/work-commands/simple-steps.js +69 -0
  65. package/features/work-commands/stable-tests.feature +57 -0
  66. package/features/work-commands/steps.js +1120 -0
  67. package/features/work-commands/validation.test.js +88 -0
  68. package/features/work-commands/work-commands.feature +13 -0
  69. package/features/work-tracking/discovery-validation.test.js +228 -0
  70. package/features/work-tracking/index.js +1511 -0
  71. package/features/work-tracking/mode-required.feature +112 -0
  72. package/features/work-tracking/phase-tracking.test.js +482 -0
  73. package/features/work-tracking/prototype-tracking.test.js +485 -0
  74. package/features/work-tracking/tree-view.test.js +310 -0
  75. package/features/work-tracking/work-set-mode.feature +71 -0
  76. package/features/work-tracking/work-start-mode.feature +88 -0
  77. package/full-test.txt +0 -0
  78. package/install.sh +89 -0
  79. package/jettypod.js +1640 -0
  80. package/lib/bug-workflow.js +94 -0
  81. package/lib/bug-workflow.test.js +177 -0
  82. package/lib/claudemd.js +130 -0
  83. package/lib/claudemd.test.js +195 -0
  84. package/lib/comprehensive-standards-full.json +1778 -0
  85. package/lib/config.js +181 -0
  86. package/lib/config.test.js +511 -0
  87. package/lib/constants.js +107 -0
  88. package/lib/constants.test.js +164 -0
  89. package/lib/current-work.js +130 -0
  90. package/lib/current-work.test.js +146 -0
  91. package/lib/database-project-config.test.js +107 -0
  92. package/lib/database.js +256 -0
  93. package/lib/database.test.js +106 -0
  94. package/lib/decisions-generator.js +102 -0
  95. package/lib/decisions-generator.test.js +457 -0
  96. package/lib/decisions-helpers.js +119 -0
  97. package/lib/decisions-helpers.test.js +310 -0
  98. package/lib/discovery-checkpoint.js +83 -0
  99. package/lib/docs-generator.js +280 -0
  100. package/lib/external-checklist.js +177 -0
  101. package/lib/git.js +142 -0
  102. package/lib/git.test.js +145 -0
  103. package/lib/logo.js +3 -0
  104. package/lib/migrations/001-epic-to-parent.js +24 -0
  105. package/lib/migrations/002-default-work-item-modes.js +37 -0
  106. package/lib/migrations/002-default-work-item-modes.test.js +351 -0
  107. package/lib/migrations/003-epic-discovery-fields.js +52 -0
  108. package/lib/migrations/004-discovery-decisions-table.js +32 -0
  109. package/lib/migrations/005-migrate-decision-data.js +62 -0
  110. package/lib/migrations/006-feature-phase-field.js +61 -0
  111. package/lib/migrations/007-prototype-tracking.js +38 -0
  112. package/lib/migrations/008-scenario-file-field.js +24 -0
  113. package/lib/migrations/index.js +74 -0
  114. package/lib/production-helpers.js +69 -0
  115. package/lib/project-state.test.js +92 -0
  116. package/lib/test-helpers.js +184 -0
  117. package/lib/test-helpers.test.js +255 -0
  118. package/package.json +36 -0
  119. package/prototypes/test/index.html +1 -0
  120. package/setup-dist-repo.sh +68 -0
  121. package/test-safety-check.sh +80 -0
  122. package/work-item-tracking-plan.md +199 -0
@@ -0,0 +1,903 @@
1
+ # JettyPod Command Reference
2
+
3
+ Complete reference for all JettyPod commands as of 2025-10-31.
4
+
5
+ ---
6
+
7
+ ## Table of Contents
8
+
9
+ 1. [Initialization & Setup](#initialization--setup)
10
+ 2. [Project Discovery](#project-discovery)
11
+ 3. [Work Item Management](#work-item-management)
12
+ 4. [Epic Discovery](#epic-discovery)
13
+ 5. [Feature Discovery](#feature-discovery)
14
+ 6. [Work Status & Navigation](#work-status--navigation)
15
+ 7. [Mode Management](#mode-management)
16
+ 8. [Decisions](#decisions)
17
+ 9. [Project State](#project-state)
18
+ 10. [Git Integration](#git-integration)
19
+
20
+ ---
21
+
22
+ ## Initialization & Setup
23
+
24
+ ### `jettypod init <project-name>`
25
+
26
+ Initialize JettyPod in the current directory.
27
+
28
+ ```bash
29
+ jettypod init "My Project"
30
+ ```
31
+
32
+ **What it does:**
33
+ - Creates `.jettypod/` directory
34
+ - Generates `CLAUDE.md` with project context
35
+ - Sets up database (work.db)
36
+ - Installs git hooks (if git repository exists)
37
+ - Installs discovery skills for Claude Code
38
+
39
+ **Output:**
40
+ ```
41
+ 📝 CLAUDE.md generated
42
+ ✓ Git hooks installed
43
+ 🔒 Claude Code hook installed
44
+ ✅ JettyPod initialized
45
+ ```
46
+
47
+ ---
48
+
49
+ ## Project Discovery
50
+
51
+ ### `jettypod project discover start`
52
+
53
+ Begin project-level discovery process.
54
+
55
+ ```bash
56
+ jettypod project discover start
57
+ ```
58
+
59
+ **What it does:**
60
+ - Marks project as "in discovery" phase
61
+ - Activates Claude Code discovery protocol
62
+ - Prepares for UX approach exploration
63
+
64
+ **Typical workflow:**
65
+ 1. User describes what users DO in the product
66
+ 2. Claude presents 3 UX approaches
67
+ 3. Optionally build prototypes
68
+ 4. User selects winning approach
69
+ 5. Complete discovery with decision
70
+
71
+ ---
72
+
73
+ ### `jettypod project discover complete`
74
+
75
+ Complete project discovery with decision.
76
+
77
+ ```bash
78
+ jettypod project discover complete \
79
+ --winner="prototypes/web-react" \
80
+ --rationale="Web-first for fastest time to market" \
81
+ --prototypes="prototypes/web-react.js,prototypes/mobile-pwa.js"
82
+ ```
83
+
84
+ **Required flags:**
85
+ - `--winner=<path>` - Path to winning prototype or approach name
86
+ - `--rationale="<text>"` - Why this approach was chosen
87
+
88
+ **Optional flags:**
89
+ - `--prototypes="<file1>,<file2>"` - Comma-separated list of prototype files
90
+
91
+ **What it does:**
92
+ - Records project-level decision
93
+ - Stores prototype tracking info
94
+ - Updates DECISIONS.md
95
+ - Marks discovery as completed
96
+
97
+ ---
98
+
99
+ ## Work Item Management
100
+
101
+ ### `jettypod work create epic <title> [description] [flags]`
102
+
103
+ Create a new epic.
104
+
105
+ ```bash
106
+ # Simple epic
107
+ jettypod work create epic "User Authentication"
108
+
109
+ # Epic with description
110
+ jettypod work create epic "User Authentication" "Secure login system"
111
+
112
+ # Epic requiring architectural discovery
113
+ jettypod work create epic "Real-time Updates" "Live data sync" --needs-discovery
114
+ ```
115
+
116
+ **Optional flags:**
117
+ - `--needs-discovery` - Epic requires architectural decisions
118
+ - `--mode=<mode>` - Set initial mode (discovery/speed/stable/production)
119
+
120
+ **What it creates:**
121
+ - Epic work item in database
122
+ - Entry in work tree
123
+ - Triggers epic discovery prompt if `--needs-discovery` flag set
124
+
125
+ ---
126
+
127
+ ### `jettypod work create feature <title> [description] [flags]`
128
+
129
+ Create a new feature.
130
+
131
+ ```bash
132
+ # Feature without parent
133
+ jettypod work create feature "Login Form"
134
+
135
+ # Feature with description
136
+ jettypod work create feature "Login Form" "User login UI component"
137
+
138
+ # Feature under an epic
139
+ jettypod work create feature "Password Reset" "Forgot password flow" --parent=5
140
+
141
+ # Feature with initial mode
142
+ jettypod work create feature "Dashboard" "User dashboard" --mode=stable
143
+ ```
144
+
145
+ **Optional flags:**
146
+ - `--parent=<id>` - Parent epic ID
147
+ - `--mode=<mode>` - Initial mode (defaults to discovery for features)
148
+
149
+ **What it creates:**
150
+ - Feature in "discovery" phase by default
151
+ - Database entry with phase tracking
152
+ - Prompts for feature discovery
153
+
154
+ ---
155
+
156
+ ### `jettypod work create chore <title> [description] [flags]`
157
+
158
+ Create a chore (non-feature work).
159
+
160
+ ```bash
161
+ jettypod work create chore "Update dependencies"
162
+ jettypod work create chore "Refactor auth module" --parent=5
163
+ ```
164
+
165
+ **Optional flags:**
166
+ - `--parent=<id>` - Parent work item ID
167
+ - `--mode=<mode>` - Initial mode
168
+
169
+ ---
170
+
171
+ ### `jettypod work create bug <title> [description] [flags]`
172
+
173
+ Create a bug.
174
+
175
+ ```bash
176
+ jettypod work create bug "Login fails on Safari"
177
+ jettypod work create bug "Memory leak in dashboard" --parent=10
178
+ ```
179
+
180
+ **Optional flags:**
181
+ - `--parent=<id>` - Parent work item ID
182
+ - `--mode=<mode>` - Initial mode (defaults to stable)
183
+
184
+ ---
185
+
186
+ ## Epic Discovery
187
+
188
+ ### `jettypod work epic-discover <epic-id>`
189
+
190
+ Start architectural discovery for an epic.
191
+
192
+ ```bash
193
+ jettypod work epic-discover 5
194
+ ```
195
+
196
+ **Prerequisites:**
197
+ - Epic must have `needs_discovery=1` flag
198
+ - Epic must be in backlog/todo status
199
+
200
+ **What it does:**
201
+ - Activates epic-discover skill in Claude Code
202
+ - Guides through architectural decision process
203
+ - Helps identify key technical decisions needed
204
+
205
+ **Typical flow:**
206
+ 1. Brainstorm features for the epic
207
+ 2. Identify architectural decisions needed
208
+ 3. Explore technical approaches (optional prototypes)
209
+ 4. Make decisions with `epic-implement`
210
+
211
+ ---
212
+
213
+ ### `jettypod work epic-implement <epic-id> [flags]`
214
+
215
+ Record architectural decision for an epic.
216
+
217
+ ```bash
218
+ jettypod work epic-implement 5 \
219
+ --aspect="Authentication" \
220
+ --decision="JWT with refresh tokens" \
221
+ --rationale="Stateless, scalable, mobile-friendly" \
222
+ --prototypes="prototypes/jwt.js,prototypes/session.js,prototypes/oauth.js"
223
+ ```
224
+
225
+ **Required flags:**
226
+ - `--aspect="<category>"` - Type of decision (Architecture/Database/API/etc)
227
+ - `--decision="<approach>"` - The chosen approach
228
+ - `--rationale="<reason>"` - Why this was chosen
229
+
230
+ **Optional flags:**
231
+ - `--prototypes="<files>"` - Comma-separated prototype file paths
232
+
233
+ **What it does:**
234
+ - Records decision in `discovery_decisions` table
235
+ - Updates DECISIONS.md with architectural choice
236
+ - Stores prototype tracking (files + winner)
237
+ - Links decision to epic
238
+
239
+ **Can be called multiple times** for different aspects:
240
+ ```bash
241
+ # Authentication decision
242
+ jettypod work epic-implement 5 \
243
+ --aspect="Authentication" \
244
+ --decision="JWT" \
245
+ --rationale="Stateless"
246
+
247
+ # Database decision
248
+ jettypod work epic-implement 5 \
249
+ --aspect="Database" \
250
+ --decision="PostgreSQL" \
251
+ --rationale="ACID guarantees needed"
252
+ ```
253
+
254
+ ---
255
+
256
+ ## Feature Discovery
257
+
258
+ ### `jettypod work discover <feature-id>`
259
+
260
+ Start UX discovery for a feature.
261
+
262
+ ```bash
263
+ jettypod work discover 12
264
+ ```
265
+
266
+ **Prerequisites:**
267
+ - Must be a feature (not epic/chore/bug)
268
+ - Feature must be in "discovery" phase
269
+
270
+ **What it does:**
271
+ - Activates feature-discover skill
272
+ - Guides through UX approach exploration
273
+ - Generates BDD scenarios
274
+ - Helps create discovery checkpoints
275
+
276
+ **Typical flow:**
277
+ 1. Explore 3 UX approaches
278
+ 2. (Optional) Build throwaway prototypes
279
+ 3. Select winning approach
280
+ 4. Generate BDD scenarios
281
+ 5. Transition to implementation
282
+
283
+ ---
284
+
285
+ ### `jettypod work implement <feature-id> [flags]`
286
+
287
+ Transition feature from discovery to implementation.
288
+
289
+ ```bash
290
+ # Simple transition
291
+ jettypod work implement 12
292
+
293
+ # With prototype tracking
294
+ jettypod work implement 12 \
295
+ --prototypes="prototypes/modal.html,prototypes/page.html" \
296
+ --winner="prototypes/modal.html"
297
+ ```
298
+
299
+ **Optional flags:**
300
+ - `--prototypes="<files>"` - Comma-separated prototype paths
301
+ - `--winner="<path>"` - Winning prototype path
302
+
303
+ **What it does:**
304
+ - Changes phase from "discovery" to "implementation"
305
+ - Sets mode to "speed" by default
306
+ - Stores prototype tracking info
307
+ - Displays speed mode guidance
308
+
309
+ **Output:**
310
+ ```
311
+ ✅ Feature #12 transitioned to Implementation Phase
312
+
313
+ Title: Login Form
314
+ Phase: Implementation
315
+ Mode: Speed
316
+ Prototypes: prototypes/modal.html, prototypes/page.html
317
+ Winner: prototypes/modal.html
318
+
319
+ 🚀 Speed Mode: Prove It Works
320
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
321
+ Build code that passes happy path scenarios.
322
+ Focus: Happy path only, single file when possible
323
+ ```
324
+
325
+ ---
326
+
327
+ ## Work Status & Navigation
328
+
329
+ ### `jettypod work tree [flags]`
330
+
331
+ Display hierarchical tree of all work items.
332
+
333
+ ```bash
334
+ # Collapsed view (default)
335
+ jettypod work tree
336
+
337
+ # Expand specific items
338
+ jettypod work tree --expand=1
339
+ jettypod work tree --expand=1,5,10
340
+
341
+ # Expand all items
342
+ jettypod work tree --expand-all
343
+ ```
344
+
345
+ **Flags:**
346
+ - `--expand=<ids>` - Comma-separated IDs to expand
347
+ - `--expand-all` - Show all details
348
+
349
+ **Output shows:**
350
+ - Recently completed items at top
351
+ - Hierarchical structure (epics → features → chores/bugs)
352
+ - Status, mode, and phase indicators
353
+ - Progress indicators for epics
354
+
355
+ ---
356
+
357
+ ### `jettypod work show <id>`
358
+
359
+ Show detailed information for a work item.
360
+
361
+ ```bash
362
+ jettypod work show 12
363
+ ```
364
+
365
+ **Output includes:**
366
+ - ID and title
367
+ - Type and status
368
+ - Mode (if set)
369
+ - Phase (for features: discovery/implementation)
370
+ - Parent and epic relationships
371
+ - Prototype tracking (if present)
372
+ - Discovery decisions (for epics)
373
+ - Description
374
+
375
+ **Example output:**
376
+ ```
377
+ #12 Login Form
378
+ Type: feature
379
+ Status: backlog
380
+ Mode: speed
381
+ Phase: implementation
382
+ Parent: #5 User Authentication
383
+ Epic: #5 User Authentication
384
+
385
+ 🔬 Prototypes: prototypes/modal.html, prototypes/page.html
386
+ ✅ Winner: prototypes/modal.html
387
+
388
+ Description: User login UI component
389
+ ```
390
+
391
+ ---
392
+
393
+ ### `jettypod work status <id> <status>`
394
+
395
+ Update work item status.
396
+
397
+ ```bash
398
+ jettypod work status 12 in_progress
399
+ jettypod work status 12 done
400
+ ```
401
+
402
+ **Valid statuses:**
403
+ - `backlog` - Not started
404
+ - `todo` - Ready to work
405
+ - `in_progress` - Currently working
406
+ - `done` - Completed
407
+
408
+ **Special behaviors:**
409
+ - Marking parent as done also completes all children
410
+ - Marking last child as done auto-completes parent
411
+
412
+ ---
413
+
414
+ ### `jettypod work describe <id> <description>`
415
+
416
+ Add or update work item description.
417
+
418
+ ```bash
419
+ jettypod work describe 12 "User login form with email and password"
420
+ ```
421
+
422
+ ---
423
+
424
+ ### `jettypod work start [id]`
425
+
426
+ Start work on an item (sets as current work).
427
+
428
+ ```bash
429
+ # Start specific item
430
+ jettypod work start 12
431
+
432
+ # Start current work item (if one exists)
433
+ jettypod work start
434
+ ```
435
+
436
+ **What it does:**
437
+ - Sets item as current work
438
+ - Updates status to `in_progress` if `todo`
439
+ - Updates CLAUDE.md with current context
440
+ - Creates `.jettypod/current-work.json`
441
+
442
+ ---
443
+
444
+ ### `jettypod work stop`
445
+
446
+ Stop current work.
447
+
448
+ ```bash
449
+ jettypod work stop
450
+ ```
451
+
452
+ **What it does:**
453
+ - Clears current work
454
+ - Removes work context from CLAUDE.md
455
+ - Deletes `.jettypod/current-work.json`
456
+
457
+ ---
458
+
459
+ ### `jettypod work current`
460
+
461
+ Show current work item.
462
+
463
+ ```bash
464
+ jettypod work current
465
+ ```
466
+
467
+ **Output:**
468
+ ```
469
+ Currently working on: #12 Login Form
470
+ Type: feature
471
+ Status: in_progress
472
+ ```
473
+
474
+ ---
475
+
476
+ ## Mode Management
477
+
478
+ ### `jettypod work set-mode <id> <mode>`
479
+
480
+ Change work item mode.
481
+
482
+ ```bash
483
+ jettypod work set-mode 12 stable
484
+ jettypod work set-mode 12 production
485
+ ```
486
+
487
+ **Valid modes:**
488
+ - `discovery` - Explore options, prototype
489
+ - `speed` - Ship in 2h max, minimal testing
490
+ - `stable` - Make it dependable, comprehensive tests
491
+ - `production` - Build robust systems, full quality
492
+
493
+ **What it does:**
494
+ - Updates mode in database
495
+ - Updates CLAUDE.md if this is current work
496
+ - Displays mode-specific guidance
497
+
498
+ ---
499
+
500
+ ### `jettypod work elevate <id> <mode>`
501
+
502
+ Elevate work item to higher quality mode.
503
+
504
+ ```bash
505
+ # Elevate from speed to stable
506
+ jettypod work elevate 12 stable
507
+
508
+ # Elevate from stable to production
509
+ jettypod work elevate 12 production
510
+ ```
511
+
512
+ **Mode progression:**
513
+ - discovery → speed → stable → production
514
+
515
+ **What it does:**
516
+ - Changes mode to specified level
517
+ - Displays elevation guidance
518
+ - Updates current work context
519
+
520
+ ---
521
+
522
+ ## Decisions
523
+
524
+ ### `jettypod decisions show`
525
+
526
+ Show all decisions chronologically.
527
+
528
+ ```bash
529
+ jettypod decisions show
530
+ ```
531
+
532
+ **Displays:**
533
+ - Project-level decisions (UX/tech stack)
534
+ - Epic-level decisions (architectural)
535
+ - Feature-level decisions
536
+ - Chronological ordering
537
+
538
+ ---
539
+
540
+ ### `jettypod decisions show project`
541
+
542
+ Show only project-level decisions.
543
+
544
+ ```bash
545
+ jettypod decisions show project
546
+ ```
547
+
548
+ **Output:**
549
+ ```
550
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
551
+ 📋 PROJECT-LEVEL DECISIONS
552
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
553
+
554
+ Winner: prototypes/web-react
555
+ Rationale: Web-first for fastest time to market
556
+ Decided: 10/29/2025
557
+ ```
558
+
559
+ ---
560
+
561
+ ### `jettypod decisions show epic <id>`
562
+
563
+ Show architectural decisions for an epic.
564
+
565
+ ```bash
566
+ jettypod decisions show epic 5
567
+ ```
568
+
569
+ **Output:**
570
+ ```
571
+ 🏛 Discovery Decisions for Epic #5:
572
+
573
+ Authentication:
574
+ Decision: JWT with refresh tokens
575
+ Rationale: Stateless, scalable, mobile-friendly
576
+
577
+ Database:
578
+ Decision: PostgreSQL
579
+ Rationale: ACID guarantees needed
580
+ ```
581
+
582
+ ---
583
+
584
+ ### `jettypod decisions view`
585
+
586
+ Open DECISIONS.md file.
587
+
588
+ ```bash
589
+ jettypod decisions view
590
+ ```
591
+
592
+ **What it does:**
593
+ - Displays contents of `docs/DECISIONS.md`
594
+ - Shows formatted decision history
595
+ - Auto-generated from database
596
+
597
+ ---
598
+
599
+ ## Project State
600
+
601
+ ### `jettypod project state <state>`
602
+
603
+ Set project state/environment.
604
+
605
+ ```bash
606
+ jettypod project state internal
607
+ jettypod project state external
608
+ ```
609
+
610
+ **Valid states:**
611
+ - `internal` - Team only, staging/preview, no external users
612
+ - `external` - Public-facing, has external users
613
+
614
+ **What it does:**
615
+ - Updates project_state in config
616
+ - Affects quality expectations
617
+ - Influences mode guidance
618
+
619
+ ---
620
+
621
+ ### `jettypod project ready`
622
+
623
+ Check external readiness status.
624
+
625
+ ```bash
626
+ jettypod project ready
627
+ ```
628
+
629
+ **Shows checklist of:**
630
+ - External user preparation items
631
+ - Security hardening
632
+ - Compliance requirements
633
+ - Production readiness
634
+
635
+ ---
636
+
637
+ ### `jettypod project ready check <category> <item-key>`
638
+
639
+ Mark readiness item as complete.
640
+
641
+ ```bash
642
+ jettypod project ready check security auth_hardening
643
+ ```
644
+
645
+ ---
646
+
647
+ ## Git Integration
648
+
649
+ JettyPod automatically integrates with git through hooks:
650
+
651
+ ### Pre-commit Hook
652
+ - Runs tests before allowing commit
653
+ - Can be bypassed with `--no-verify`
654
+
655
+ ### Post-commit Hook
656
+ - Updates DECISIONS.md from database
657
+ - Auto-generates documentation
658
+
659
+ ### Post-merge Hook
660
+ - Resets database connection
661
+ - Ensures schema is current
662
+
663
+ ---
664
+
665
+ ## Command Patterns & Tips
666
+
667
+ ### Working with Epics
668
+ ```bash
669
+ # 1. Create epic needing discovery
670
+ jettypod work create epic "User Auth" "Secure login" --needs-discovery
671
+
672
+ # 2. Discover architectural decisions
673
+ jettypod work epic-discover 1
674
+
675
+ # 3. Record decisions
676
+ jettypod work epic-implement 1 \
677
+ --aspect="Authentication" \
678
+ --decision="JWT" \
679
+ --rationale="Stateless scaling"
680
+
681
+ # 4. Create features under epic
682
+ jettypod work create feature "Login UI" --parent=1
683
+ ```
684
+
685
+ ### Working with Features
686
+ ```bash
687
+ # 1. Create feature (starts in discovery)
688
+ jettypod work create feature "Login Form" --parent=1
689
+
690
+ # 2. Explore UX approaches
691
+ jettypod work discover 2
692
+
693
+ # 3. Transition to implementation
694
+ jettypod work implement 2 --winner="prototypes/modal.html"
695
+
696
+ # 4. Build in speed mode
697
+ jettypod work start 2
698
+ # ... build minimal working version ...
699
+
700
+ # 5. Elevate to stable
701
+ jettypod work set-mode 2 stable
702
+ # ... add comprehensive tests ...
703
+
704
+ # 6. Mark complete
705
+ jettypod work status 2 done
706
+ ```
707
+
708
+ ### Prototype Tracking Pattern
709
+ ```bash
710
+ # Project level
711
+ jettypod project discover complete \
712
+ --winner="web-app" \
713
+ --rationale="Mobile web for widest reach" \
714
+ --prototypes="proto-1.html,proto-2.html,proto-3.html"
715
+
716
+ # Epic level
717
+ jettypod work epic-implement 5 \
718
+ --aspect="API" \
719
+ --decision="GraphQL" \
720
+ --rationale="Flexible data fetching" \
721
+ --prototypes="rest-api.js,graphql-api.js,grpc.js"
722
+
723
+ # Feature level
724
+ jettypod work implement 12 \
725
+ --prototypes="modal.html,page.html,drawer.html" \
726
+ --winner="modal.html"
727
+ ```
728
+
729
+ ### Current Work Pattern
730
+ ```bash
731
+ # Start work
732
+ jettypod work start 12
733
+
734
+ # Check what you're working on
735
+ jettypod work current
736
+
737
+ # Stop work
738
+ jettypod work stop
739
+ ```
740
+
741
+ ---
742
+
743
+ ## Database Schema
744
+
745
+ JettyPod uses SQLite with the following main tables:
746
+
747
+ ### `work_items`
748
+ - Core work item storage
749
+ - Tracks type, status, mode, phase
750
+ - Hierarchical relationships (parent_id, epic_id)
751
+ - Prototype tracking (prototype_files, discovery_winner)
752
+
753
+ ### `discovery_decisions`
754
+ - Architectural decisions for epics
755
+ - Links to work_items
756
+ - Stores aspect, decision, rationale
757
+
758
+ ### `project_config`
759
+ - Project-level settings
760
+ - Singleton table (id=1)
761
+ - project_state field
762
+
763
+ ### `external_readiness_checklist`
764
+ - External user readiness tracking
765
+ - Category-based organization
766
+
767
+ ---
768
+
769
+ ## File Structure
770
+
771
+ ```
772
+ .jettypod/
773
+ ├── work.db # SQLite database
774
+ ├── current-work.json # Active work item
775
+ ├── config.json # Project configuration
776
+ └── skills/ # Discovery skills for Claude Code
777
+ ├── epic-discover/
778
+ └── feature-discover/
779
+
780
+ docs/
781
+ └── DECISIONS.md # Auto-generated decision log
782
+
783
+ CLAUDE.md # Project context for Claude Code
784
+ ```
785
+
786
+ ---
787
+
788
+ ## Mode Behavior Reference
789
+
790
+ | Mode | Max Time | Testing | Error Handling | Code Quality | Use Case |
791
+ |------|----------|---------|----------------|--------------|----------|
792
+ | **discovery** | No limit | None | None | Throwaway | Explore approaches |
793
+ | **speed** | 2 hours | Happy path | Basic try/catch | Single file | Prove it works |
794
+ | **stable** | No limit | Comprehensive | Full coverage | Maintainable | Dependable feature |
795
+ | **production** | No limit | Full suite | Bulletproof | Enterprise | External users |
796
+
797
+ ---
798
+
799
+ ## Phase Behavior (Features Only)
800
+
801
+ Features have two phases:
802
+
803
+ ### Discovery Phase
804
+ - Explore UX approaches
805
+ - Build throwaway prototypes
806
+ - Generate BDD scenarios
807
+ - Default mode: `discovery`
808
+ - Display: `[🔍 discovery]`
809
+
810
+ ### Implementation Phase
811
+ - Build production code
812
+ - Follow chosen approach
813
+ - Default mode: `speed`
814
+ - Display: `[speed]`, `[stable]`, or `[production]`
815
+
816
+ Transition with: `jettypod work implement <id>`
817
+
818
+ ---
819
+
820
+ ## Integration with Claude Code
821
+
822
+ JettyPod is designed to work seamlessly with Claude Code:
823
+
824
+ ### CLAUDE.md Integration
825
+ - Auto-updates with current work context
826
+ - Includes mode-specific guidance
827
+ - Shows project state and decisions
828
+
829
+ ### Discovery Skills
830
+ - `epic-discover` - Guides architectural decisions
831
+ - `feature-discover` - Guides UX exploration
832
+
833
+ ### Automatic Triggers
834
+ - Creating epic with `--needs-discovery` → prompts epic-discover
835
+ - Creating feature → prompts feature-discover
836
+ - Starting work → updates Claude context
837
+
838
+ ---
839
+
840
+ ## Best Practices
841
+
842
+ 1. **Start with Project Discovery**
843
+ - Understand user journey first
844
+ - Explore 3 UX approaches
845
+ - Build prototypes to validate
846
+
847
+ 2. **Epic Discovery for Architecture**
848
+ - Use `--needs-discovery` flag
849
+ - Make decisions before creating features
850
+ - Track prototypes for future reference
851
+
852
+ 3. **Feature Discovery for UX**
853
+ - Every feature starts in discovery phase
854
+ - Explore approaches before building
855
+ - Transition consciously to implementation
856
+
857
+ 4. **Mode Progression**
858
+ - Start in speed mode (2h max)
859
+ - Elevate to stable (comprehensive tests)
860
+ - Only use production for external users
861
+
862
+ 5. **Track Prototypes**
863
+ - Use `--prototypes` flags consistently
864
+ - Mark winners with `--winner`
865
+ - Reference in future decisions
866
+
867
+ 6. **Use Work Tree**
868
+ - `jettypod work tree` for overview
869
+ - `--expand` to see details
870
+ - Track progress visually
871
+
872
+ ---
873
+
874
+ ## Troubleshooting
875
+
876
+ ### "Work item #NaN not found"
877
+ Use: `jettypod work show <id>` (ID is required)
878
+
879
+ ### "Epic does not need discovery"
880
+ Add flag when creating: `--needs-discovery`
881
+
882
+ ### "Feature not in discovery phase"
883
+ Check phase with `jettypod work show <id>`
884
+
885
+ ### Database locked
886
+ Close other JettyPod instances or wait for background operations
887
+
888
+ ### Git hooks failing tests
889
+ Use `--no-verify` flag: `git commit --no-verify -m "message"`
890
+
891
+ ---
892
+
893
+ ## Version
894
+
895
+ This reference is current as of JettyPod v3.0.0 (2025-10-31)
896
+
897
+ Features included:
898
+ - Multi-level prototype tracking
899
+ - Feature phase tracking (discovery/implementation)
900
+ - Decision tracking and DECISIONS.md generation
901
+ - Epic and feature discovery skills
902
+ - Mode management system
903
+ - Project state management