@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,29 @@
1
+ ---
2
+ name: product-research
3
+ description: Gathers project requirements, performs research and development without writing code
4
+ members: [jdi-ux-designer, jdi-planner, jdi-product-lead, jdi-researcher]
5
+ ---
6
+
7
+ # Product and Research Team
8
+
9
+ ## Purpose
10
+
11
+ Requirements gathering, research, and planning. Analyses designs, researches codebase patterns, defines acceptance criteria, produces implementation plans. Does NOT write code.
12
+
13
+ ## Members
14
+
15
+ | Role | Agent | Spec Path |
16
+ |------|-------|-----------|
17
+ | Lead UI/UX Designer | `jdi-ux-designer` | `.jdi/framework/agents/jdi-ux-designer.md` |
18
+ | Product Manager | `jdi-planner` | `.jdi/framework/agents/jdi-planner.md` |
19
+ | Product Lead | `jdi-product-lead` | `.jdi/framework/agents/jdi-product-lead.md` |
20
+ | Senior Analyst | `jdi-researcher` | `.jdi/framework/agents/jdi-researcher.md` |
21
+
22
+ ## Coordination
23
+
24
+ Product Lead clarifies requirements → researcher investigates codebase → UX Designer maps component specs → planner synthesises into plans → Product Lead validates.
25
+
26
+ ## Boundaries
27
+
28
+ **Will:** Analyse Figma designs, research codebase, define acceptance criteria, create plans, identify risks.
29
+ **Won't:** Write production/test code, make commits, make architectural decisions, deploy.
@@ -0,0 +1,27 @@
1
+ ---
2
+ name: quality-assurance
3
+ description: Creates and updates backend and frontend tests for completed engineering work
4
+ members: [jdi-quality, jdi-verifier]
5
+ ---
6
+
7
+ # Quality Assurance Team
8
+
9
+ ## Purpose
10
+
11
+ Testing and verification for completed engineering work — Pest (backend) and Vitest (frontend). Ensures coverage, enforces quality gates, validates implementations against specs.
12
+
13
+ ## Members
14
+
15
+ | Role | Agent | Spec Path |
16
+ |------|-------|-----------|
17
+ | Lead QA Developer | `jdi-quality` | `.jdi/framework/agents/jdi-quality.md` |
18
+ | Senior QA Developer | `jdi-verifier` | `.jdi/framework/agents/jdi-verifier.md` |
19
+
20
+ ## Coordination
21
+
22
+ Lead QA designs test strategy and writes tests → Senior QA performs three-level verification (Existence, Substantive, Wired) and validates against specs.
23
+
24
+ ## Boundaries
25
+
26
+ **Will:** Design test strategies, write Pest/Vitest tests, identify edge cases, analyse coverage, verify implementations, enforce quality standards.
27
+ **Won't:** Write production code, skip quality checks, modify source files beyond tests, make architectural decisions.
@@ -0,0 +1,28 @@
1
+ ---
2
+ plan_id: {phase}-{plan}
3
+ task_id: {phase}-{plan}-T{n}
4
+ task_name: {Task Name}
5
+ type: auto
6
+ wave: 1
7
+ depends_on: []
8
+ ---
9
+
10
+ # Task {n}: {Task Name}
11
+
12
+ **Objective:** {What this task accomplishes}
13
+
14
+ **Files:**
15
+ - `{path/to/file.ts}` - {what changes}
16
+ - `{path/to/file2.ts}` - {what changes}
17
+
18
+ **Implementation:**
19
+ 1. {Step 1}
20
+ 2. {Step 2}
21
+ 3. {Step 3}
22
+
23
+ **Verification:**
24
+ - [ ] {Check 1}
25
+ - [ ] {Check 2}
26
+
27
+ **Done when:**
28
+ - {Specific, observable completion criterion}
@@ -0,0 +1,127 @@
1
+ <section name="Frontmatter">
2
+
3
+ ---
4
+ phase: {X}
5
+ plan: {YY}
6
+ name: {Plan Name}
7
+ slug: {plan-slug}
8
+ type: implementation
9
+ autonomous: true
10
+ wave: 1
11
+ gap_closure: false
12
+
13
+ # Split plan task files (omit for legacy monolithic plans)
14
+ task_files:
15
+ - .jdi/plans/{X}-{YY}-{plan-slug}.T1.md
16
+ - .jdi/plans/{X}-{YY}-{plan-slug}.T2.md
17
+
18
+ # Dependency Graph (enables context assembly and parallel execution)
19
+ requires:
20
+ - phase: {N}
21
+ provides: [dependency1, dependency2]
22
+ provides: [deliverable1, deliverable2]
23
+ affects: [{future-phase-1}, {future-phase-2}]
24
+
25
+ # Semantic Indexing (enables fast scanning and context selection)
26
+ subsystem: {auth|api|ui|data|infra|docs|test}
27
+ tags: [tag1, tag2, tag3]
28
+
29
+ # Tech Tracking
30
+ tech_stack:
31
+ added: []
32
+ patterns: []
33
+ ---
34
+
35
+ # Phase {X} Plan {YY}: {Plan Name}
36
+
37
+ ---
38
+
39
+ ## Objective
40
+
41
+ {One paragraph describing what this plan accomplishes. Be specific about the outcome.}
42
+
43
+ ---
44
+
45
+ ## Context
46
+
47
+ **Read before executing:**
48
+ - @{path/to/relevant/file}
49
+ - @{path/to/another/file}
50
+
51
+ **Relevant patterns:**
52
+ - {Pattern to follow}
53
+
54
+ **Previous work:**
55
+ - {What's already done that this builds on}
56
+
57
+ </section>
58
+
59
+ ---
60
+
61
+ <section name="TaskManifest">
62
+
63
+ ## Tasks
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` |
70
+
71
+ > Task details are in individual files. See `task_files` in frontmatter.
72
+
73
+ </section>
74
+
75
+ ---
76
+
77
+ <section name="Verification">
78
+
79
+ ## Verification
80
+
81
+ After all tasks complete, verify:
82
+
83
+ - [ ] {Overall verification 1}
84
+ - [ ] {Overall verification 2}
85
+ - [ ] Tests pass: `{test command}`
86
+ - [ ] Types check: `{type check command}`
87
+
88
+ ## Success Criteria
89
+
90
+ This plan is complete when:
91
+
92
+ 1. {Observable outcome 1}
93
+ 2. {Observable outcome 2}
94
+ 3. All tasks have commits
95
+ 4. Verification checks pass
96
+
97
+ ## Output
98
+
99
+ **Creates:**
100
+ - `{path/to/new/file}` - {purpose}
101
+
102
+ **Modifies:**
103
+ - `{path/to/existing/file}` - {what changes}
104
+
105
+ **SUMMARY location:** `.jdi/plans/{phase}-{plan}-{slug}.summary.md`
106
+
107
+ ## Notes
108
+
109
+ {Any additional context, warnings, or guidance for execution}
110
+
111
+ </section>
112
+
113
+ ---
114
+
115
+ <section name="DeviationRules">
116
+
117
+ ## Deviation Rules Reference
118
+
119
+ During execution, apply automatically:
120
+ - **Rule 1**: Auto-fix bugs
121
+ - **Rule 2**: Auto-add critical functionality
122
+ - **Rule 3**: Auto-fix blocking issues
123
+ - **Rule 4**: Ask about architectural changes
124
+
125
+ Document all deviations in SUMMARY.md.
126
+
127
+ </section>
@@ -0,0 +1,104 @@
1
+ # {Project Name}
2
+
3
+ > {One-liner: What this is in plain language}
4
+
5
+ ---
6
+
7
+ ## What This Is
8
+
9
+ {2-3 sentences describing the project. What does it do? What problem does it solve? Who is it for?}
10
+
11
+ ---
12
+
13
+ ## Core Value
14
+
15
+ **The ONE thing that must work:**
16
+
17
+ {Single sentence describing the critical functionality. Everything else is secondary.}
18
+
19
+ ---
20
+
21
+ ## Context
22
+
23
+ ### Background
24
+
25
+ {Why does this project exist? What led to it?}
26
+
27
+ ### Users
28
+
29
+ {Who will use this? What are their needs?}
30
+
31
+ ### Constraints
32
+
33
+ | Constraint | Description |
34
+ |------------|-------------|
35
+ | {constraint 1} | {details} |
36
+ | {constraint 2} | {details} |
37
+
38
+ ### Tech Stack
39
+
40
+ {If known or decided}
41
+
42
+ | Layer | Technology |
43
+ |-------|------------|
44
+ | Frontend | {tech} |
45
+ | Backend | {tech} |
46
+ | Database | {tech} |
47
+ | Infrastructure | {tech} |
48
+
49
+ ---
50
+
51
+ ## Requirements
52
+
53
+ ### Validated
54
+
55
+ {Requirements proven through shipped functionality}
56
+
57
+ - ✓ {Requirement} — validated {date}
58
+
59
+ ### Active
60
+
61
+ {Current scope - what's being built now}
62
+
63
+ - [ ] {Requirement 1}
64
+ - [ ] {Requirement 2}
65
+ - [ ] {Requirement 3}
66
+
67
+ ### Out of Scope
68
+
69
+ {Explicitly excluded - not in this version}
70
+
71
+ - {Exclusion 1} — {reason}
72
+ - {Exclusion 2} — {reason}
73
+
74
+ ---
75
+
76
+ ## Key Decisions
77
+
78
+ | Decision | Rationale | Outcome |
79
+ |----------|-----------|---------|
80
+ | {decision 1} | {why} | {result or "Pending"} |
81
+
82
+ ---
83
+
84
+ ## Success Criteria
85
+
86
+ How do we know when this is done?
87
+
88
+ 1. {Measurable criterion 1}
89
+ 2. {Measurable criterion 2}
90
+ 3. {Measurable criterion 3}
91
+
92
+ ---
93
+
94
+ ## References
95
+
96
+ | Resource | Link |
97
+ |----------|------|
98
+ | Design | {Figma/design link} |
99
+ | Ticket | {ClickUp/Jira link} |
100
+ | Documentation | {docs link} |
101
+
102
+ ---
103
+
104
+ *Last updated: {date} after {event}*
@@ -0,0 +1,16 @@
1
+ name: "{project_name}"
2
+ summary: "{one_liner_description}"
3
+
4
+ core_value: "{the_one_thing_that_must_work}"
5
+
6
+ background: "{why_this_project_exists}"
7
+
8
+ constraints:
9
+ - "{constraint_1}"
10
+ - "{constraint_2}"
11
+
12
+ success_criteria:
13
+ - "{measurable_criterion_1}"
14
+ - "{measurable_criterion_2}"
15
+
16
+ last_updated: "{date}"
@@ -0,0 +1,95 @@
1
+ # Requirements
2
+
3
+ > Scoped requirements for {Project Name}
4
+
5
+ ---
6
+
7
+ ## Overview
8
+
9
+ | Category | v1 | v2 | Out of Scope |
10
+ |----------|----|----|--------------|
11
+ | {Category 1} | {count} | {count} | {count} |
12
+ | {Category 2} | {count} | {count} | {count} |
13
+ | **Total** | **{total}** | **{total}** | **{total}** |
14
+
15
+ ---
16
+
17
+ ## v1 Requirements
18
+
19
+ ### {Category 1}
20
+
21
+ | REQ-ID | Requirement | Priority | Status |
22
+ |--------|-------------|----------|--------|
23
+ | {CAT}-01 | {User can...} | High | Pending |
24
+ | {CAT}-02 | {User can...} | Medium | Pending |
25
+
26
+ #### {CAT}-01: {Short name}
27
+
28
+ **Requirement:** {Full description}
29
+
30
+ **Acceptance Criteria:**
31
+ - [ ] {Criterion 1}
32
+ - [ ] {Criterion 2}
33
+ - [ ] {Criterion 3}
34
+
35
+ **Notes:** {Any additional context}
36
+
37
+ ---
38
+
39
+ #### {CAT}-02: {Short name}
40
+
41
+ **Requirement:** {Full description}
42
+
43
+ **Acceptance Criteria:**
44
+ - [ ] {Criterion 1}
45
+ - [ ] {Criterion 2}
46
+
47
+ ---
48
+
49
+ ### {Category 2}
50
+
51
+ | REQ-ID | Requirement | Priority | Status |
52
+ |--------|-------------|----------|--------|
53
+ | {CAT2}-01 | {User can...} | High | Pending |
54
+
55
+ ---
56
+
57
+ ## v2 Requirements
58
+
59
+ {Deferred to future version}
60
+
61
+ | REQ-ID | Requirement | Reason for Deferral |
62
+ |--------|-------------|---------------------|
63
+ | {CAT}-03 | {User can...} | {Not critical for MVP} |
64
+
65
+ ---
66
+
67
+ ## Out of Scope
68
+
69
+ {Explicitly excluded from all versions}
70
+
71
+ | Item | Reason |
72
+ |------|--------|
73
+ | {Feature} | {Why it's excluded} |
74
+
75
+ ---
76
+
77
+ ## Traceability
78
+
79
+ | REQ-ID | Phase | Plan | Status |
80
+ |--------|-------|------|--------|
81
+ | {CAT}-01 | 1 | 01 | Pending |
82
+ | {CAT}-02 | 1 | 02 | Pending |
83
+ | {CAT2}-01 | 2 | 01 | Pending |
84
+
85
+ ---
86
+
87
+ ## Change Log
88
+
89
+ | Date | Change | Reason |
90
+ |------|--------|--------|
91
+ | {date} | Initial requirements | Project initialisation |
92
+
93
+ ---
94
+
95
+ *Last updated: {date}*
@@ -0,0 +1,27 @@
1
+ # Only active requirements. Completed phases are pruned automatically.
2
+
3
+ active_phase: 1
4
+
5
+ phases:
6
+ 1:
7
+ name: "{phase_name}"
8
+ requirements:
9
+ "{REQ-ID}":
10
+ description: "{requirement_description}"
11
+ priority: must | should | could
12
+ status: pending
13
+ acceptance_criteria:
14
+ - "{criterion_1}"
15
+ - "{criterion_2}"
16
+
17
+ out_of_scope:
18
+ - "{exclusion_1}: {reason}"
19
+
20
+ risks:
21
+ - id: R-01
22
+ description: "{risk_description}"
23
+ mitigation: "{mitigation_approach}"
24
+
25
+ completed_phases: []
26
+
27
+ last_updated: "{date}"
@@ -0,0 +1,116 @@
1
+ # Roadmap
2
+
3
+ > Phase structure for {Project Name}
4
+
5
+ ---
6
+
7
+ ## Overview
8
+
9
+ | Phase | Name | Plans | Requirements | Status |
10
+ |-------|------|-------|--------------|--------|
11
+ | 1 | {name} | {count} | {REQ-IDs} | Pending |
12
+ | 2 | {name} | {count} | {REQ-IDs} | Pending |
13
+ | 3 | {name} | {count} | {REQ-IDs} | Pending |
14
+
15
+ **Total:** {N} phases | {M} plans | {R} requirements
16
+
17
+ ---
18
+
19
+ ## Phase 1: {Phase Name}
20
+
21
+ **Goal:** {What this phase achieves - one sentence}
22
+
23
+ **Requirements:** {REQ-IDs covered}
24
+
25
+ **Must-Haves:**
26
+ - {Observable outcome 1}
27
+ - {Observable outcome 2}
28
+ - {Observable outcome 3}
29
+
30
+ **Plans:**
31
+ | Plan | Name | Tasks | Wave | Status |
32
+ |------|------|-------|------|--------|
33
+ | 01 | {name} | {count} | 1 | Pending |
34
+ | 02 | {name} | {count} | 1 | Pending |
35
+ | 03 | {name} | {count} | 2 | Pending |
36
+
37
+ **Dependencies:** None (first phase)
38
+
39
+ ---
40
+
41
+ ## Phase 2: {Phase Name}
42
+
43
+ **Goal:** {What this phase achieves}
44
+
45
+ **Requirements:** {REQ-IDs covered}
46
+
47
+ **Must-Haves:**
48
+ - {Observable outcome 1}
49
+ - {Observable outcome 2}
50
+
51
+ **Plans:**
52
+ | Plan | Name | Tasks | Wave | Status |
53
+ |------|------|-------|------|--------|
54
+ | 01 | {name} | {count} | 1 | Pending |
55
+ | 02 | {name} | {count} | 2 | Pending |
56
+
57
+ **Dependencies:** Phase 1 complete
58
+
59
+ ---
60
+
61
+ ## Phase 3: {Phase Name}
62
+
63
+ **Goal:** {What this phase achieves}
64
+
65
+ **Requirements:** {REQ-IDs covered}
66
+
67
+ **Must-Haves:**
68
+ - {Observable outcome 1}
69
+ - {Observable outcome 2}
70
+
71
+ **Plans:**
72
+ | Plan | Name | Tasks | Wave | Status |
73
+ |------|------|-------|------|--------|
74
+ | 01 | {name} | {count} | 1 | Pending |
75
+
76
+ **Dependencies:** Phase 2 complete
77
+
78
+ ---
79
+
80
+ ## Milestone Summary
81
+
82
+ ```
83
+ Phase 1: {name}
84
+ ├── Plan 01: {name}
85
+ ├── Plan 02: {name}
86
+ └── Plan 03: {name}
87
+
88
+ Phase 2: {name}
89
+ ├── Plan 01: {name}
90
+ └── Plan 02: {name}
91
+
92
+ Phase 3: {name}
93
+ └── Plan 01: {name}
94
+ ```
95
+
96
+ ---
97
+
98
+ ## Requirement Coverage
99
+
100
+ | REQ-ID | Requirement | Phase | Plan |
101
+ |--------|-------------|-------|------|
102
+ | {CAT}-01 | {short name} | 1 | 01 |
103
+ | {CAT}-02 | {short name} | 1 | 02 |
104
+ | {CAT2}-01 | {short name} | 2 | 01 |
105
+
106
+ **Coverage:** 100% of v1 requirements mapped
107
+
108
+ ---
109
+
110
+ ## Notes
111
+
112
+ {Any additional context about the roadmap structure, sequencing decisions, etc.}
113
+
114
+ ---
115
+
116
+ *Last updated: {date}*
@@ -0,0 +1,24 @@
1
+ # Only active phases. Completed phases are pruned automatically.
2
+
3
+ overview:
4
+ total_phases: 1
5
+ completed: []
6
+ active: [1]
7
+
8
+ phases:
9
+ 1:
10
+ name: "{phase_name}"
11
+ status: pending
12
+ goal: "{what_this_phase_achieves}"
13
+ requirements: ["{REQ-ID-1}", "{REQ-ID-2}"]
14
+ must_haves:
15
+ - "{observable_outcome_1}"
16
+ - "{observable_outcome_2}"
17
+ plans:
18
+ "01":
19
+ name: "{plan_name}"
20
+ tasks: 0
21
+ waves: [1]
22
+ status: pending
23
+
24
+ last_updated: "{date}"