@benzotti/jedi 0.1.19 → 0.1.21
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/dist/index.js +18 -3
- package/framework/agents/jdi-planner.md +33 -3
- package/framework/templates/PLAN.md +5 -5
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -11403,7 +11403,13 @@ var actionCommand = defineCommand({
|
|
|
11403
11403
|
``,
|
|
11404
11404
|
`- If the feedback is a **question** ("why did you...", "what about...", "can you explain..."), answer it conversationally first. If the answer implies a change is needed, explain that and then apply it.`,
|
|
11405
11405
|
`- If the feedback is an **approval** ("approved", "lgtm", "looks good", "ship it"), finalise the current work \u2014 create commits and/or a PR as appropriate.`,
|
|
11406
|
-
`- If the feedback is a **refinement** ("change task 2", "use a different approach", "add error handling"), explain what you're changing and why, then apply the changes. Present an updated summary
|
|
11406
|
+
`- If the feedback is a **refinement** ("change task 2", "use a different approach", "add error handling"), explain what you're changing and why, then apply the changes. Present an updated summary with the full updated plan in a collapsible block:`,
|
|
11407
|
+
` <details>`,
|
|
11408
|
+
` <summary>View full plan</summary>`,
|
|
11409
|
+
` `,
|
|
11410
|
+
` [full updated plan content here as markdown]`,
|
|
11411
|
+
` `,
|
|
11412
|
+
` </details>`,
|
|
11407
11413
|
``,
|
|
11408
11414
|
`Read state.yaml and any existing plan files to understand what was previously done. Apply changes incrementally \u2014 do not restart from scratch.`
|
|
11409
11415
|
].join(`
|
|
@@ -11428,6 +11434,14 @@ The above is prior conversation on this issue for context.
|
|
|
11428
11434
|
ticketContext ? `
|
|
11429
11435
|
Use the ClickUp ticket above as the primary requirements source.` : ``,
|
|
11430
11436
|
``,
|
|
11437
|
+
`## Scope Rules`,
|
|
11438
|
+
`IMPORTANT: Only plan what was explicitly requested. Do NOT add extras like testing, linting, formatting, CI, or tooling unless the user asked for them.`,
|
|
11439
|
+
`If something is ambiguous, ask \u2014 do not guess.`,
|
|
11440
|
+
``,
|
|
11441
|
+
`## Learnings`,
|
|
11442
|
+
`Before planning, read .jdi/persistence/learnings.md and .jdi/framework/learnings/ if they exist. Apply any team preferences found.`,
|
|
11443
|
+
``,
|
|
11444
|
+
`## Presentation`,
|
|
11431
11445
|
`Follow the planning workflow in your spec. When presenting the plan:`,
|
|
11432
11446
|
`1. Start with a brief summary of the approach`,
|
|
11433
11447
|
`2. Include the FULL plan in a collapsible details block using this format:`,
|
|
@@ -11437,7 +11451,8 @@ Use the ClickUp ticket above as the primary requirements source.` : ``,
|
|
|
11437
11451
|
` [full plan content here as markdown]`,
|
|
11438
11452
|
` `,
|
|
11439
11453
|
` </details>`,
|
|
11440
|
-
`3.
|
|
11454
|
+
`3. After the plan, suggest 3-5 optional additions the user might want (e.g. "Would you also like testing? linting? state management?"). These are NOT part of the plan.`,
|
|
11455
|
+
`4. Ask for feedback. The user will respond via another GitHub comment.`
|
|
11441
11456
|
].join(`
|
|
11442
11457
|
`);
|
|
11443
11458
|
break;
|
|
@@ -11641,7 +11656,7 @@ var setupActionCommand = defineCommand({
|
|
|
11641
11656
|
// package.json
|
|
11642
11657
|
var package_default = {
|
|
11643
11658
|
name: "@benzotti/jedi",
|
|
11644
|
-
version: "0.1.
|
|
11659
|
+
version: "0.1.21",
|
|
11645
11660
|
description: "JDI - Context-efficient AI development framework for Claude Code",
|
|
11646
11661
|
type: "module",
|
|
11647
11662
|
bin: {
|
|
@@ -13,6 +13,25 @@ You create executable implementation plans with proper task sizing, dependency m
|
|
|
13
13
|
|
|
14
14
|
---
|
|
15
15
|
|
|
16
|
+
## CRITICAL: Scope Discipline
|
|
17
|
+
|
|
18
|
+
You MUST only plan what was explicitly requested. Never infer, assume, or add extras.
|
|
19
|
+
|
|
20
|
+
**Rules:**
|
|
21
|
+
1. **Only include what was asked for.** If the user says "react app with vite and typescript", plan exactly that — scaffold, config, and nothing else.
|
|
22
|
+
2. **Do not add tooling, testing, linting, formatting, CI, or any other extras** unless the user explicitly requests them.
|
|
23
|
+
3. **Do not make subjective decisions.** If something is ambiguous (e.g. folder structure, routing library, state management), list it as an open question and ask the user — do not guess.
|
|
24
|
+
4. **Suggest optional additions separately.** After presenting the plan, list 3-5 common additions the user might want (e.g. "Would you also like: testing (Vitest)? linting (ESLint)? formatting (Prettier)?"). These are suggestions, NOT part of the plan.
|
|
25
|
+
5. **Same request = same plan.** Two identical requests must produce structurally identical plans. Achieve this by following the templates exactly and not improvising.
|
|
26
|
+
|
|
27
|
+
## CRITICAL: Read Learnings First
|
|
28
|
+
|
|
29
|
+
Before planning, ALWAYS:
|
|
30
|
+
1. Read `.jdi/persistence/learnings.md` if it exists
|
|
31
|
+
2. Read `.jdi/framework/learnings/` files if they exist
|
|
32
|
+
3. Apply any team preferences found (e.g. "always use path aliases", "prefer Zustand over Redux")
|
|
33
|
+
4. Learnings override your defaults — if the team has a preference, follow it
|
|
34
|
+
|
|
16
35
|
## CRITICAL: File Writing is Mandatory
|
|
17
36
|
|
|
18
37
|
You MUST write files using Write/Edit tools. Returning plan content as text is NOT acceptable.
|
|
@@ -39,12 +58,23 @@ Plan files use human-readable slugged names: `{phase}-{plan}-{slug}.{suffix}`
|
|
|
39
58
|
|
|
40
59
|
## Task Sizing
|
|
41
60
|
|
|
61
|
+
Use t-shirt sizes instead of time estimates:
|
|
62
|
+
|
|
63
|
+
| Size | Scope |
|
|
64
|
+
|------|-------|
|
|
65
|
+
| **S** | Single file change, simple logic |
|
|
66
|
+
| **M** | 2-4 files, moderate logic or integration |
|
|
67
|
+
| **L** | 5+ files, complex logic, multiple subsystems |
|
|
68
|
+
| **XL** | Too large — must be split into multiple tasks |
|
|
69
|
+
|
|
42
70
|
| Constraint | Value |
|
|
43
71
|
|------------|-------|
|
|
44
|
-
| Duration | 15-60 min per task |
|
|
45
72
|
| Tasks per plan | 2-4 maximum |
|
|
46
73
|
| Context target | ~50% of budget |
|
|
47
74
|
| Each task | Independently verifiable |
|
|
75
|
+
| Max task size | L (split XL into smaller tasks) |
|
|
76
|
+
|
|
77
|
+
Never use time estimates. Use S/M/L sizing in task manifests and plan summaries.
|
|
48
78
|
|
|
49
79
|
---
|
|
50
80
|
|
|
@@ -118,7 +148,7 @@ Read `.jdi/config/variables.yaml` (create from template if missing). Update: `fe
|
|
|
118
148
|
3. Write each task to `.jdi/plans/{phase}-{plan}-{slug}.T{n}.md` — follow template from `.jdi/framework/templates/PLAN-TASK.md`. One file per task.
|
|
119
149
|
|
|
120
150
|
#### 7b: Update ROADMAP.yaml
|
|
121
|
-
Add plan entry to appropriate phase section with wave and
|
|
151
|
+
Add plan entry to appropriate phase section with wave and sizing.
|
|
122
152
|
|
|
123
153
|
#### 7c: Update REQUIREMENTS.yaml Traceability
|
|
124
154
|
Map requirements to plan tasks.
|
|
@@ -134,7 +164,7 @@ task_files:
|
|
|
134
164
|
- .jdi/plans/{phase}-{plan}-{slug}.T1.md
|
|
135
165
|
- .jdi/plans/{phase}-{plan}-{slug}.T2.md
|
|
136
166
|
task_count: {n}
|
|
137
|
-
|
|
167
|
+
overall_size: S | M | L
|
|
138
168
|
wave: {assigned_wave}
|
|
139
169
|
provides: [what this plan delivers]
|
|
140
170
|
```
|
|
@@ -62,11 +62,11 @@ tech_stack:
|
|
|
62
62
|
|
|
63
63
|
## Tasks
|
|
64
64
|
|
|
65
|
-
| Task | Name | Type | Wave | File |
|
|
66
|
-
|
|
67
|
-
| T1 | {Task Name} | auto | 1 | `{X}-{YY}-{plan-slug}.T1.md` |
|
|
68
|
-
| T2 | {Task Name} | auto | 1 | `{X}-{YY}-{plan-slug}.T2.md` |
|
|
69
|
-
| T3 | {Task Name} | checkpoint:human-verify | 2 | `{X}-{YY}-{plan-slug}.T3.md` |
|
|
65
|
+
| Task | Name | Size | Type | Wave | File |
|
|
66
|
+
|------|------|------|------|------|------|
|
|
67
|
+
| T1 | {Task Name} | S | auto | 1 | `{X}-{YY}-{plan-slug}.T1.md` |
|
|
68
|
+
| T2 | {Task Name} | M | auto | 1 | `{X}-{YY}-{plan-slug}.T2.md` |
|
|
69
|
+
| T3 | {Task Name} | S | checkpoint:human-verify | 2 | `{X}-{YY}-{plan-slug}.T3.md` |
|
|
70
70
|
|
|
71
71
|
> Task details are in individual files. See `task_files` in frontmatter.
|
|
72
72
|
|