@benzotti/jedi 0.1.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.
Files changed (83) hide show
  1. package/README.md +615 -0
  2. package/dist/index.js +10514 -0
  3. package/framework/adapters/generic.yaml +23 -0
  4. package/framework/adapters/laravel.yaml +46 -0
  5. package/framework/adapters/nextjs.yaml +36 -0
  6. package/framework/adapters/node.yaml +29 -0
  7. package/framework/agents/jdi-architect.md +118 -0
  8. package/framework/agents/jdi-backend.md +52 -0
  9. package/framework/agents/jdi-codebase-mapper.md +59 -0
  10. package/framework/agents/jdi-committer.md +83 -0
  11. package/framework/agents/jdi-debugger.md +73 -0
  12. package/framework/agents/jdi-devops.md +46 -0
  13. package/framework/agents/jdi-executor.md +89 -0
  14. package/framework/agents/jdi-feedback-learner.md +92 -0
  15. package/framework/agents/jdi-frontend.md +51 -0
  16. package/framework/agents/jdi-head-engineering.md +30 -0
  17. package/framework/agents/jdi-phase-researcher.md +59 -0
  18. package/framework/agents/jdi-plan-checker.md +80 -0
  19. package/framework/agents/jdi-planner.md +140 -0
  20. package/framework/agents/jdi-pr-feedback.md +118 -0
  21. package/framework/agents/jdi-pr-generator.md +80 -0
  22. package/framework/agents/jdi-product-lead.md +44 -0
  23. package/framework/agents/jdi-quality.md +77 -0
  24. package/framework/agents/jdi-researcher.md +70 -0
  25. package/framework/agents/jdi-ux-designer.md +40 -0
  26. package/framework/agents/jdi-verifier.md +80 -0
  27. package/framework/commands/commit.md +20 -0
  28. package/framework/commands/create-plan.md +32 -0
  29. package/framework/commands/generate-pr.md +19 -0
  30. package/framework/commands/implement-plan.md +34 -0
  31. package/framework/commands/init.md +65 -0
  32. package/framework/commands/pr-feedback.md +20 -0
  33. package/framework/commands/pr-review.md +15 -0
  34. package/framework/commands/quick.md +17 -0
  35. package/framework/commands/status.md +13 -0
  36. package/framework/commands/worktree-remove.md +32 -0
  37. package/framework/commands/worktree.md +52 -0
  38. package/framework/components/execution/CodebaseContext.md +36 -0
  39. package/framework/components/execution/Commit.md +121 -0
  40. package/framework/components/execution/Verify.md +140 -0
  41. package/framework/components/execution/VerifyAdvanced.md +43 -0
  42. package/framework/components/meta/AgentBase.md +108 -0
  43. package/framework/components/meta/AgentTeamsOrchestration.md +71 -0
  44. package/framework/components/meta/ComplexityRouter.md +80 -0
  45. package/framework/components/meta/StateUpdate.md +191 -0
  46. package/framework/components/meta/TeamRouter.md +86 -0
  47. package/framework/components/planning/TaskBreakdown.md +83 -0
  48. package/framework/components/planning/WaveComputation.md +59 -0
  49. package/framework/components/quality/PRReview.md +196 -0
  50. package/framework/components/quality/PRReviewLocal.md +99 -0
  51. package/framework/config/jdi-config.yaml +159 -0
  52. package/framework/config/state.yaml +72 -0
  53. package/framework/config/variables.yaml +43 -0
  54. package/framework/hooks/checkpoint.md +196 -0
  55. package/framework/hooks/jdi-worktree-cleanup.md +123 -0
  56. package/framework/hooks/lint-fix-frontend.md +59 -0
  57. package/framework/hooks/on-pause.md +213 -0
  58. package/framework/hooks/pre-commit.md +143 -0
  59. package/framework/jedi.md +336 -0
  60. package/framework/learnings/backend.md +3 -0
  61. package/framework/learnings/devops.md +3 -0
  62. package/framework/learnings/frontend.md +3 -0
  63. package/framework/learnings/general.md +3 -0
  64. package/framework/learnings/testing.md +3 -0
  65. package/framework/rules/commit-rules.md +24 -0
  66. package/framework/rules/deviation-rules.md +221 -0
  67. package/framework/teams/devops.md +26 -0
  68. package/framework/teams/engineering.md +29 -0
  69. package/framework/teams/micro-management.md +26 -0
  70. package/framework/teams/product-research.md +29 -0
  71. package/framework/teams/quality-assurance.md +27 -0
  72. package/framework/templates/PLAN-TASK.md +28 -0
  73. package/framework/templates/PLAN.md +127 -0
  74. package/framework/templates/PROJECT.md +104 -0
  75. package/framework/templates/PROJECT.yaml +16 -0
  76. package/framework/templates/REQUIREMENTS.md +95 -0
  77. package/framework/templates/REQUIREMENTS.yaml +27 -0
  78. package/framework/templates/ROADMAP.md +116 -0
  79. package/framework/templates/ROADMAP.yaml +24 -0
  80. package/framework/templates/STATE.md +137 -0
  81. package/framework/templates/SUMMARY.md +201 -0
  82. package/framework/workflows/README.md +87 -0
  83. package/package.json +35 -0
@@ -0,0 +1,137 @@
1
+ # Project State
2
+
3
+ > Living memory for {Project Name}
4
+
5
+ ---
6
+
7
+ <section name="Position">
8
+
9
+ ## Current Position
10
+
11
+ **Phase:** {X} of {Y} ({phase name})
12
+ **Plan:** {A} of {B} ({plan name})
13
+ **Status:** {Idle | Planning | Executing | Verifying | Complete | Blocked}
14
+ **Last activity:** {date} - {what happened}
15
+
16
+ **Progress:**
17
+ ```
18
+ [████████████░░░░░░░░] 60%
19
+ ```
20
+
21
+ </section>
22
+
23
+ ---
24
+
25
+ <section name="Continuity">
26
+
27
+ ## Session Continuity
28
+
29
+ **Last session:** {date and time}
30
+ **Stopped at:** {where work stopped}
31
+ **Resume file:** {path to plan index file or "None"}
32
+
33
+ **To continue:**
34
+ 1. {Next step}
35
+ 2. {Following step}
36
+
37
+ ## Brief Alignment
38
+
39
+ {2-3 sentences about current project state. What's done? What's next? Any blockers?}
40
+
41
+ </section>
42
+
43
+ ---
44
+
45
+ <section name="Decisions">
46
+
47
+ ## Decisions
48
+
49
+ | Date | Phase | Decision | Rationale |
50
+ |------|-------|----------|-----------|
51
+ | {date} | {X} | {decision} | {why} |
52
+
53
+ </section>
54
+
55
+ ---
56
+
57
+ <section name="Blockers">
58
+
59
+ ## Blockers
60
+
61
+ ### Active
62
+
63
+ - [ ] **{Type}**: {description}
64
+ - Impact: {what's blocked}
65
+ - Added: {date}
66
+
67
+ ### Resolved
68
+
69
+ - [x] **{Type}**: {description}
70
+ - Resolved: {date} - {how}
71
+
72
+ </section>
73
+
74
+ ---
75
+
76
+ <section name="Progress">
77
+
78
+ ## Phase Progress
79
+
80
+ ### Phase 1: {name}
81
+
82
+ | Plan | Name | Status | SUMMARY |
83
+ |------|------|--------|---------|
84
+ | 01 | {name} | Complete | ✓ |
85
+ | 02 | {name} | In Progress | — |
86
+ | 03 | {name} | Pending | — |
87
+
88
+ ### Phase 2: {name}
89
+
90
+ | Plan | Name | Status | SUMMARY |
91
+ |------|------|--------|---------|
92
+ | 01 | {name} | Pending | — |
93
+
94
+ </section>
95
+
96
+ ---
97
+
98
+ <section name="Context">
99
+
100
+ ## Accumulated Context
101
+
102
+ ### Key Files
103
+
104
+ | File | Purpose |
105
+ |------|---------|
106
+ | {path} | {what it does} |
107
+
108
+ ### Patterns Established
109
+
110
+ - {Pattern 1}: {description}
111
+ - {Pattern 2}: {description}
112
+
113
+ ### Things to Watch
114
+
115
+ - {Item 1}
116
+ - {Item 2}
117
+
118
+ ## Metrics
119
+
120
+ | Metric | Value |
121
+ |--------|-------|
122
+ | Plans completed | {X} / {Y} |
123
+ | Tasks completed | {A} / {B} |
124
+ | Commits | {count} |
125
+ | Deviations | {count} |
126
+
127
+ ## Session Log
128
+
129
+ | Date | Duration | Activity | Outcome |
130
+ |------|----------|----------|---------|
131
+ | {date} | {time} | {what was done} | {result} |
132
+
133
+ </section>
134
+
135
+ ---
136
+
137
+ *Auto-updated during execution*
@@ -0,0 +1,201 @@
1
+ <section name="Frontmatter">
2
+
3
+ ---
4
+ phase: {X}
5
+ plan: {YY}
6
+ name: {Plan Name}
7
+ completed_at: {ISO timestamp}
8
+ duration: {time in minutes}
9
+
10
+ # Dependency Graph (copied from PLAN.md, updated with actuals)
11
+ requires:
12
+ - phase: {N}
13
+ provides: [dependency1, dependency2]
14
+ provides: [deliverable1, deliverable2]
15
+ affects: [{future-phase-1}, {future-phase-2}]
16
+
17
+ # Semantic Indexing
18
+ subsystem: {auth|api|ui|data|infra|docs|test}
19
+ tags: [tag1, tag2, tag3]
20
+
21
+ # Execution Stats
22
+ tasks_completed: {n}
23
+ tasks_total: {n}
24
+ deviations: {n}
25
+ commits: {n}
26
+ ---
27
+
28
+ # Phase {X} Plan {YY}: {Plan Name} - Summary
29
+
30
+ ## One-Liner
31
+
32
+ {Single sentence describing what was accomplished}
33
+
34
+ </section>
35
+
36
+ ---
37
+
38
+ <section name="TasksCompleted">
39
+
40
+ ## Tasks Completed
41
+
42
+ | # | Task | Commit | Files | Duration |
43
+ |---|------|--------|-------|----------|
44
+ | 1 | {Task 1 name} | `{hash}` | {n} files | {time} |
45
+ | 2 | {Task 2 name} | `{hash}` | {n} files | {time} |
46
+ | 3 | {Task 3 name} | `{hash}` | {n} files | {time} |
47
+
48
+ ### Commits Detail
49
+
50
+ ```
51
+ {hash1} {type}({scope}): {message}
52
+ {hash2} {type}({scope}): {message}
53
+ {hash3} {type}({scope}): {message}
54
+ ```
55
+
56
+ </section>
57
+
58
+ ---
59
+
60
+ <section name="Deviations">
61
+
62
+ ## Deviations from Plan
63
+
64
+ {If no deviations: "None - plan executed as written."}
65
+
66
+ ### Auto-Fixed Issues
67
+
68
+ **1. [Rule {N}] {Title}**
69
+ - **Found during:** Task {X}
70
+ - **Issue:** {Description of what was wrong}
71
+ - **Fix:** {What was done to fix it}
72
+ - **Commit:** `{hash}`
73
+ - **Files affected:** {list}
74
+
75
+ ### User Decisions (Rule 4 Stops)
76
+
77
+ {If any Rule 4 stops occurred}
78
+
79
+ **1. {Decision Title}**
80
+ - **Question posed:** {What was asked}
81
+ - **User decision:** {What was decided}
82
+ - **Rationale:** {Why}
83
+ - **Implementation:** {How it was implemented}
84
+
85
+ ## Decisions Made
86
+
87
+ | Decision | Choice | Rationale |
88
+ |----------|--------|-----------|
89
+ | {What was decided} | {The choice} | {Why} |
90
+
91
+ </section>
92
+
93
+ ---
94
+
95
+ <section name="KeyFiles">
96
+
97
+ ## Key Files
98
+
99
+ ### Created
100
+
101
+ | File | Purpose |
102
+ |------|---------|
103
+ | `{path/to/new/file.ts}` | {What it does} |
104
+
105
+ ### Modified
106
+
107
+ | File | Changes |
108
+ |------|---------|
109
+ | `{path/to/existing/file.ts}` | {What changed} |
110
+
111
+ ## Dependencies
112
+
113
+ ### Consumed (from requires)
114
+
115
+ | Source | What Was Used |
116
+ |--------|---------------|
117
+ | Phase {N} | {dependency used} |
118
+
119
+ ### Provided (for affects)
120
+
121
+ | Deliverable | Description |
122
+ |-------------|-------------|
123
+ | {deliverable1} | {What it enables} |
124
+
125
+ </section>
126
+
127
+ ---
128
+
129
+ <section name="Verification">
130
+
131
+ ## Verification Results
132
+
133
+ | Check | Status | Notes |
134
+ |-------|--------|-------|
135
+ | All tasks completed | {PASS/FAIL} | |
136
+ | No uncommitted changes | {PASS/FAIL} | |
137
+ | Lint passes | {PASS/FAIL} | {n} warnings |
138
+ | Types check | {PASS/FAIL} | |
139
+ | Tests pass | {PASS/FAIL} | {n}/{m} passed |
140
+
141
+ ## Checkpoints Encountered
142
+
143
+ {If no checkpoints: "None - fully autonomous execution."}
144
+
145
+ | Checkpoint | Type | Outcome |
146
+ |------------|------|---------|
147
+ | Task {N} | human-verify | Approved |
148
+ | Task {N} | decision | Chose option {X} |
149
+
150
+ </section>
151
+
152
+ ---
153
+
154
+ <section name="Metrics">
155
+
156
+ ## Metrics
157
+
158
+ | Metric | Value |
159
+ |--------|-------|
160
+ | Total duration | {time} |
161
+ | Tasks completed | {n}/{n} |
162
+ | Commits created | {n} |
163
+ | Files created | {n} |
164
+ | Files modified | {n} |
165
+ | Deviations handled | {n} |
166
+ | Checkpoints passed | {n} |
167
+
168
+ </section>
169
+
170
+ ---
171
+
172
+ <section name="NextContext">
173
+
174
+ ## Context for Next Plans
175
+
176
+ {Key information that downstream plans should know}
177
+
178
+ ### What's Now Available
179
+ - {Capability or component now exists}
180
+ - {API or function now available}
181
+
182
+ ### Patterns Established
183
+ - {Pattern used that should be followed}
184
+ - {Convention established}
185
+
186
+ ### Warnings for Future Work
187
+ - {Gotcha to be aware of}
188
+ - {Limitation to know about}
189
+
190
+ ## Next Phase Readiness
191
+
192
+ This plan provides: `{provides list}`
193
+
194
+ Phases that can now proceed:
195
+ - Phase {N}: {name} (was waiting for {dependency})
196
+
197
+ </section>
198
+
199
+ ---
200
+
201
+ *Generated by jdi-executor at {timestamp}*
@@ -0,0 +1,87 @@
1
+ # JDI Workflows
2
+
3
+ Quick-reference for common development workflows using JDI commands.
4
+
5
+ ---
6
+
7
+ ## Feature Workflow
8
+
9
+ End-to-end: requirements to merged PR.
10
+
11
+ ```
12
+ Discovery → Planning → Execution → Review
13
+ ```
14
+
15
+ 1. `/jdi:create-plan "feature description"` — researches codebase, creates PLAN.md
16
+ 2. Review and refine the generated plan
17
+ 3. `/jdi:implement-plan .jdi/plans/{phase}-{plan}-{slug}.plan.md` — executes with atomic commits
18
+ 4. `/jdi:generate-pr` — creates PR with description from SUMMARY.md
19
+ 5. `/jdi:pr-review` — self-review before requesting human review
20
+ 6. `/jdi:pr-feedback` — address review comments
21
+
22
+ **Quick variant:** For small changes, use `/jdi:quick "description"` instead of steps 1-3.
23
+
24
+ ---
25
+
26
+ ## Bugfix Workflow
27
+
28
+ Investigate, fix, and verify bugs.
29
+
30
+ ```
31
+ Reproduce → Investigate → Fix → Verify
32
+ ```
33
+
34
+ 1. Reproduce the bug and confirm the issue
35
+ 2. `/jdi:create-plan "fix: description of bug"` — creates targeted fix plan
36
+ 3. `/jdi:implement-plan` — implements the fix with tests
37
+ 4. `/jdi:generate-pr` — creates PR
38
+ 5. `/jdi:pr-review` — verify fix addresses root cause
39
+
40
+ **Quick variant:** For obvious fixes, use `/jdi:quick "fix: description"`.
41
+
42
+ ---
43
+
44
+ ## PR Workflow
45
+
46
+ Pull request lifecycle from creation to merge.
47
+
48
+ ```
49
+ Create → Review → Feedback → Merge
50
+ ```
51
+
52
+ 1. `/jdi:generate-pr` — creates PR with comprehensive description
53
+ 2. `/jdi:pr-review` — self-review, posts line comments to GitHub
54
+ 3. Wait for human review
55
+ 4. `/jdi:pr-feedback` — address all review comments, post replies
56
+ 5. Repeat steps 3-4 until approved
57
+ 6. Merge via GitHub
58
+
59
+ ---
60
+
61
+ ## Discovery Workflow
62
+
63
+ Research and analysis before implementation.
64
+
65
+ ```
66
+ Scope → Research → Analyse → Document
67
+ ```
68
+
69
+ 1. Define what needs to be understood (scope the research)
70
+ 2. `/jdi:create-plan --depth deep "research: topic"` — generates research tasks
71
+ 3. Review research outputs in `.jdi/research/`
72
+ 4. Use findings to inform feature planning
73
+
74
+ ---
75
+
76
+ ## Command Quick Reference
77
+
78
+ | Command | Purpose | When to Use |
79
+ |---------|---------|-------------|
80
+ | `/jdi:quick` | Small focused change | Single file, <50 lines, obvious fix |
81
+ | `/jdi:create-plan` | Create implementation plan | New features, complex changes |
82
+ | `/jdi:implement-plan` | Execute plan | After plan is created and reviewed |
83
+ | `/jdi:commit` | Conventional commit | Manual commits outside plan execution |
84
+ | `/jdi:generate-pr` | Create pull request | After implementation is complete |
85
+ | `/jdi:pr-review` | Review pull request | Before requesting human review |
86
+ | `/jdi:pr-feedback` | Address PR feedback | After receiving review comments |
87
+ | `/jdi:status` | Show current status | Check progress and next steps |
package/package.json ADDED
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "@benzotti/jedi",
3
+ "version": "0.1.0",
4
+ "description": "JDI - Context-efficient AI development framework for Claude Code",
5
+ "type": "module",
6
+ "bin": {
7
+ "jdi": "./dist/index.js"
8
+ },
9
+ "scripts": {
10
+ "build": "bun build src/index.ts --outdir dist --target bun",
11
+ "dev": "bun run src/index.ts",
12
+ "test": "bun test"
13
+ },
14
+ "dependencies": {
15
+ "citty": "^0.1.6",
16
+ "consola": "^3.4.0",
17
+ "yaml": "^2.7.0"
18
+ },
19
+ "devDependencies": {
20
+ "@types/bun": "latest",
21
+ "typescript": "^5.8.0"
22
+ },
23
+ "files": [
24
+ "dist",
25
+ "framework"
26
+ ],
27
+ "repository": {
28
+ "type": "git",
29
+ "url": "https://github.com/zottiben/jedi.git"
30
+ },
31
+ "license": "MIT",
32
+ "engines": {
33
+ "node": ">=18"
34
+ }
35
+ }