kodelyth-ecc 1.5.0 → 1.5.2
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/CHANGELOG.md +110 -0
- package/README.md +106 -11
- package/SECURITY.md +6 -2
- package/VERSION +1 -1
- package/agents/image-architect.md +190 -0
- package/commands/lessons.md +92 -0
- package/commands/project-launch.md +74 -0
- package/commands/team-review.md +90 -0
- package/hooks/hooks.json +28 -2
- package/hooks/memory/capture-correction.js +185 -0
- package/hooks/memory/read-lessons.js +190 -0
- package/install.sh +1 -1
- package/package.json +7 -3
- package/rules/common/agent-intent-routing.md +61 -0
- package/rules/common/self-improvement-workflow.md +141 -0
- package/social/facebook-v150.svg +119 -0
- package/wiki/Agent-Reference.md +398 -397
- package/wiki/FAQ.md +229 -228
- package/wiki/Home.md +114 -113
- package/wiki/Hook-Reference.md +197 -196
- package/wiki/Installation-Guide.md +208 -207
- package/wiki/Platform-Support.md +187 -186
- package/wiki/Skill-Reference.md +211 -210
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
# Self-Improvement Workflow — Compound Learning System
|
|
2
|
+
|
|
3
|
+
This rule encodes the workflow used by the Claude Code team internally, extended with ECC's three-layer compound memory architecture. Every session makes Claude more aligned with how YOU think and work.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 1. Plan Node Default
|
|
8
|
+
|
|
9
|
+
Enter plan mode for ANY non-trivial task (3+ steps, architectural decisions, or anything that touches more than 2 files):
|
|
10
|
+
|
|
11
|
+
- Write the plan to `tasks/todo.md` with checkable items before writing a single line of code
|
|
12
|
+
- If something goes sideways mid-task: STOP, re-plan, do not keep pushing
|
|
13
|
+
- Use plan mode for verification steps, not just building
|
|
14
|
+
- Write detailed specs upfront — ambiguity at start = bugs at end
|
|
15
|
+
- Check plan with the user before executing when scope is large
|
|
16
|
+
|
|
17
|
+
## 2. Subagent Strategy
|
|
18
|
+
|
|
19
|
+
The 61 ECC specialist agents exist so the main context window stays clean:
|
|
20
|
+
|
|
21
|
+
- Offload research, exploration, and parallel analysis to subagents
|
|
22
|
+
- For complex problems: throw more compute via agents, not more tokens in main context
|
|
23
|
+
- One task per subagent — focused execution beats monolithic threads
|
|
24
|
+
- Intent routing picks the right specialist automatically — trust it
|
|
25
|
+
|
|
26
|
+
## 3. Self-Improvement Loop (CRITICAL)
|
|
27
|
+
|
|
28
|
+
**After ANY correction from the user — no matter how small — encode it permanently.**
|
|
29
|
+
|
|
30
|
+
When the user says something like "no, don't do that", "use X instead", "I told you to", "wrong approach", "stop doing X":
|
|
31
|
+
|
|
32
|
+
1. **Acknowledge** the correction in one line
|
|
33
|
+
2. **Apply** it immediately in the current response
|
|
34
|
+
3. **Encode** it: mentally append the rule to `tasks/lessons.md` in the project root
|
|
35
|
+
|
|
36
|
+
The AI MUST track corrections within a session and apply them consistently from that point forward. The `capture-correction.js` hook writes them to disk automatically at session end.
|
|
37
|
+
|
|
38
|
+
### How lessons compound
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
Session 1: User corrects "use pnpm not npm" → lesson written
|
|
42
|
+
Session 2: Claude reads lesson → never uses npm again in this project
|
|
43
|
+
Session 3+: New lessons stack → Claude increasingly matches YOUR style
|
|
44
|
+
Month 3: Claude works like a team member who has been here for years
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
**Review and extend lessons** at `tasks/lessons.md` — edit them freely, they are yours.
|
|
48
|
+
|
|
49
|
+
## 4. Verification Before Done
|
|
50
|
+
|
|
51
|
+
Never mark a task complete without proving it works:
|
|
52
|
+
|
|
53
|
+
- Run the actual code, test, or command — do not assume
|
|
54
|
+
- Diff behavior between baseline and your changes when relevant
|
|
55
|
+
- Ask: "Would a staff engineer approve this PR?"
|
|
56
|
+
- Run tests, check logs, demonstrate correctness with evidence
|
|
57
|
+
- If verification fails: fix, do not close the loop
|
|
58
|
+
|
|
59
|
+
## 5. Demand Elegance (Balanced)
|
|
60
|
+
|
|
61
|
+
For non-trivial changes, pause before presenting:
|
|
62
|
+
|
|
63
|
+
- Ask internally: "Is there a more elegant solution?"
|
|
64
|
+
- If the fix feels hacky: "Knowing everything I know now, implement the elegant solution"
|
|
65
|
+
- **Skip this for simple, obvious fixes** — do not over-engineer
|
|
66
|
+
- Challenge your own work before presenting it
|
|
67
|
+
- Three lines of clear code beat a clever one-liner every time
|
|
68
|
+
|
|
69
|
+
## 6. Autonomous Bug Fixing
|
|
70
|
+
|
|
71
|
+
When given a bug report: fix it. Do not ask for hand-holding:
|
|
72
|
+
|
|
73
|
+
- Point at logs, errors, and failing tests — then resolve them
|
|
74
|
+
- Zero context switching required from the user
|
|
75
|
+
- Go fix failing CI tests without being told how
|
|
76
|
+
- Use `debug-detective` for root cause analysis (never patch symptoms)
|
|
77
|
+
- Use `silent-failure-hunter` when there is no error message
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## Task Management Protocol
|
|
82
|
+
|
|
83
|
+
When starting any non-trivial task:
|
|
84
|
+
|
|
85
|
+
1. **Plan First** — write plan to `tasks/todo.md` with checkable items
|
|
86
|
+
2. **Verify Plan** — check in before starting implementation on large tasks
|
|
87
|
+
3. **Track Progress** — mark items complete as you go
|
|
88
|
+
4. **Explain Changes** — high-level summary at each step
|
|
89
|
+
5. **Document Results** — add review section to `tasks/todo.md`
|
|
90
|
+
6. **Capture Lessons** — `tasks/lessons.md` is updated automatically by the correction hook
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## Cross-Platform Lesson Loading
|
|
95
|
+
|
|
96
|
+
**For Claude Code:** `tasks/lessons.md` is loaded automatically via SessionStart hook before your first message.
|
|
97
|
+
|
|
98
|
+
**For all other platforms (Windsurf, Cursor, Codex, Antigravity, OpenCode):**
|
|
99
|
+
At the start of every session, BEFORE doing anything else:
|
|
100
|
+
1. Check if `tasks/lessons.md` exists in the project root
|
|
101
|
+
2. If it exists: read it and apply all rules marked with `-` as hard, mandatory constraints for this session
|
|
102
|
+
3. Announce: "Loaded N lessons from tasks/lessons.md — applying for this session."
|
|
103
|
+
4. If it does not exist: proceed normally
|
|
104
|
+
|
|
105
|
+
**Users on non-Claude-Code platforms:** run `/lessons` as your first message on any project that has a `tasks/lessons.md`. It will load and activate all your rules instantly.
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Three-Layer Compound Memory Architecture
|
|
110
|
+
|
|
111
|
+
ECC uses three compounding memory layers — together they make Claude increasingly match how you think:
|
|
112
|
+
|
|
113
|
+
### Layer 1 — Project Lessons (`tasks/lessons.md`)
|
|
114
|
+
- Per-project. Human-readable. Hard rules.
|
|
115
|
+
- Written automatically when you correct Claude (via `capture-correction.js` Stop hook)
|
|
116
|
+
- Injected at session start (via `read-lessons.js` SessionStart hook)
|
|
117
|
+
- Edit freely — these are YOUR rules for this project
|
|
118
|
+
- Example: "Always use pnpm. Never npm. Never yarn."
|
|
119
|
+
|
|
120
|
+
### Layer 2 — Global Memory (`~/.kodelyth/memory/`)
|
|
121
|
+
- Cross-project. BM25 fuzzy search. Solution patterns.
|
|
122
|
+
- Captures solutions from every session
|
|
123
|
+
- Auto-recalls relevant past solutions on every prompt you type
|
|
124
|
+
- Example: "Last time you had a CORS issue in Express, you added this middleware..."
|
|
125
|
+
|
|
126
|
+
### Layer 3 — Intent Routing (`rules/common/agent-intent-routing.md`)
|
|
127
|
+
- Always-on. 61 specialists. Zero setup.
|
|
128
|
+
- Routes your message to the right expert from the first word
|
|
129
|
+
- No agent names needed — just describe the problem
|
|
130
|
+
|
|
131
|
+
**Combined effect**: Layer 1 knows your project rules. Layer 2 knows your past solutions. Layer 3 knows your intent. Together they eliminate the ramp-up cost of every session.
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
|
|
135
|
+
## Core Principles
|
|
136
|
+
|
|
137
|
+
- **Simplicity First** — make every change as simple as possible, impact minimal code
|
|
138
|
+
- **No Laziness** — find root causes, no temporary fixes, senior developer standards
|
|
139
|
+
- **Minimal Impact** — changes touch only what's necessary, avoid introducing bugs
|
|
140
|
+
- **Immutability** — create new objects, never mutate existing ones
|
|
141
|
+
- **No Guessing** — if uncertain, ask. Never fabricate facts or behavior.
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
<svg width="1200" height="630" viewBox="0 0 1200 630" xmlns="http://www.w3.org/2000/svg" font-family="'Segoe UI', system-ui, -apple-system, sans-serif">
|
|
2
|
+
<defs>
|
|
3
|
+
<linearGradient id="bg" x1="0%" y1="0%" x2="100%" y2="100%">
|
|
4
|
+
<stop offset="0%" style="stop-color:#050811"/>
|
|
5
|
+
<stop offset="100%" style="stop-color:#0d1117"/>
|
|
6
|
+
</linearGradient>
|
|
7
|
+
<linearGradient id="purple" x1="0%" y1="0%" x2="100%" y2="0%">
|
|
8
|
+
<stop offset="0%" style="stop-color:#7c3aed"/>
|
|
9
|
+
<stop offset="100%" style="stop-color:#2563eb"/>
|
|
10
|
+
</linearGradient>
|
|
11
|
+
<linearGradient id="green" x1="0%" y1="0%" x2="100%" y2="0%">
|
|
12
|
+
<stop offset="0%" style="stop-color:#059669"/>
|
|
13
|
+
<stop offset="100%" style="stop-color:#0891b2"/>
|
|
14
|
+
</linearGradient>
|
|
15
|
+
<linearGradient id="card1" x1="0%" y1="0%" x2="0%" y2="100%">
|
|
16
|
+
<stop offset="0%" style="stop-color:#1a1f2e"/>
|
|
17
|
+
<stop offset="100%" style="stop-color:#0d1117"/>
|
|
18
|
+
</linearGradient>
|
|
19
|
+
</defs>
|
|
20
|
+
|
|
21
|
+
<!-- Background -->
|
|
22
|
+
<rect width="1200" height="630" fill="url(#bg)"/>
|
|
23
|
+
|
|
24
|
+
<!-- Subtle glow orbs -->
|
|
25
|
+
<circle cx="150" cy="180" r="280" fill="#7c3aed" opacity="0.05"/>
|
|
26
|
+
<circle cx="1050" cy="460" r="240" fill="#059669" opacity="0.05"/>
|
|
27
|
+
<circle cx="600" cy="315" r="350" fill="#2563eb" opacity="0.03"/>
|
|
28
|
+
|
|
29
|
+
<!-- Top accent bar -->
|
|
30
|
+
<rect x="0" y="0" width="1200" height="5" fill="url(#purple)"/>
|
|
31
|
+
|
|
32
|
+
<!-- Version badge -->
|
|
33
|
+
<rect x="80" y="36" width="90" height="28" rx="14" fill="#7c3aed" fill-opacity="0.25" stroke="#7c3aed" stroke-opacity="0.6" stroke-width="1.5"/>
|
|
34
|
+
<text x="125" y="55" font-size="13" fill="#a78bfa" text-anchor="middle" font-weight="700" letter-spacing="0.5">v1.5.0</text>
|
|
35
|
+
|
|
36
|
+
<!-- NEW badge -->
|
|
37
|
+
<rect x="184" y="36" width="68" height="28" rx="14" fill="#059669" fill-opacity="0.25" stroke="#059669" stroke-opacity="0.6" stroke-width="1.5"/>
|
|
38
|
+
<text x="218" y="55" font-size="13" fill="#10b981" text-anchor="middle" font-weight="700">NEW</text>
|
|
39
|
+
|
|
40
|
+
<!-- Main headline -->
|
|
41
|
+
<text x="80" y="135" font-size="70" font-weight="900" letter-spacing="-3" fill="#ffffff">Kodelyth ECC</text>
|
|
42
|
+
<text x="80" y="200" font-size="28" fill="#6e7681" font-weight="400">61 agents. Self-learning memory. Zero cost. Zero cloud.</text>
|
|
43
|
+
|
|
44
|
+
<!-- Divider -->
|
|
45
|
+
<line x1="80" y1="228" x2="1120" y2="228" stroke="#21262d" stroke-width="1.5"/>
|
|
46
|
+
|
|
47
|
+
<!-- Left column: What's new cards -->
|
|
48
|
+
<!-- Card: Memory -->
|
|
49
|
+
<rect x="80" y="252" width="340" height="110" rx="10" fill="url(#card1)" stroke="#059669" stroke-opacity="0.35" stroke-width="1"/>
|
|
50
|
+
<rect x="80" y="252" width="4" height="110" rx="2" fill="url(#green)"/>
|
|
51
|
+
<text x="100" y="280" font-size="13" font-weight="700" fill="#10b981" letter-spacing="0.5">SELF-LEARNING MEMORY</text>
|
|
52
|
+
<text x="100" y="302" font-size="14" fill="#8b949e">Captures every solution you find.</text>
|
|
53
|
+
<text x="100" y="322" font-size="14" fill="#8b949e">Auto-recalls on your next prompt.</text>
|
|
54
|
+
<text x="100" y="342" font-size="14" fill="#8b949e">Local BM25. No cloud. No telemetry.</text>
|
|
55
|
+
|
|
56
|
+
<!-- Card: New Agents -->
|
|
57
|
+
<rect x="80" y="374" width="340" height="110" rx="10" fill="url(#card1)" stroke="#f97316" stroke-opacity="0.35" stroke-width="1"/>
|
|
58
|
+
<rect x="80" y="374" width="4" height="110" rx="2" fill="#f97316"/>
|
|
59
|
+
<text x="100" y="402" font-size="13" font-weight="700" fill="#fdba74" letter-spacing="0.5">2 NEW AGENTS</text>
|
|
60
|
+
<text x="100" y="424" font-size="14" fill="#8b949e">incident-commander — P0/P1/P2/P3</text>
|
|
61
|
+
<text x="100" y="444" font-size="14" fill="#8b949e">production incident response.</text>
|
|
62
|
+
<text x="100" y="464" font-size="14" fill="#8b949e">load-tester — k6, Locust, Artillery.</text>
|
|
63
|
+
|
|
64
|
+
<!-- Center divider line -->
|
|
65
|
+
<line x1="460" y1="252" x2="460" y2="500" stroke="#21262d" stroke-width="1"/>
|
|
66
|
+
|
|
67
|
+
<!-- Middle column: Stats -->
|
|
68
|
+
<text x="540" y="290" font-size="86" font-weight="900" fill="#ffffff" text-anchor="middle">61</text>
|
|
69
|
+
<text x="540" y="318" font-size="13" fill="#484f58" text-anchor="middle" letter-spacing="3">SPECIALIST AGENTS</text>
|
|
70
|
+
|
|
71
|
+
<line x1="480" y1="340" x2="600" y2="340" stroke="#21262d" stroke-width="1"/>
|
|
72
|
+
|
|
73
|
+
<text x="540" y="382" font-size="52" font-weight="900" fill="#ffffff" text-anchor="middle">188</text>
|
|
74
|
+
<text x="540" y="406" font-size="12" fill="#484f58" text-anchor="middle" letter-spacing="3">SKILLS</text>
|
|
75
|
+
|
|
76
|
+
<line x1="480" y1="428" x2="600" y2="428" stroke="#21262d" stroke-width="1"/>
|
|
77
|
+
|
|
78
|
+
<text x="540" y="468" font-size="52" font-weight="900" fill="#ffffff" text-anchor="middle">80</text>
|
|
79
|
+
<text x="540" y="492" font-size="12" fill="#484f58" text-anchor="middle" letter-spacing="3">COMMANDS</text>
|
|
80
|
+
|
|
81
|
+
<!-- Right column: Benefits -->
|
|
82
|
+
<line x1="620" y1="252" x2="620" y2="500" stroke="#21262d" stroke-width="1"/>
|
|
83
|
+
|
|
84
|
+
<!-- Benefit 1: Cost -->
|
|
85
|
+
<rect x="644" y="252" width="476" height="74" rx="10" fill="url(#card1)" stroke="#21262d" stroke-width="1"/>
|
|
86
|
+
<text x="668" y="280" font-size="15" font-weight="700" fill="#ffffff">Saves money.</text>
|
|
87
|
+
<text x="668" y="300" font-size="13" fill="#6e7681">Intent routing picks the right model tier automatically.</text>
|
|
88
|
+
<text x="668" y="318" font-size="13" fill="#6e7681">No more paying Opus prices for Haiku-level work.</text>
|
|
89
|
+
|
|
90
|
+
<!-- Benefit 2: Speed -->
|
|
91
|
+
<rect x="644" y="338" width="476" height="74" rx="10" fill="url(#card1)" stroke="#21262d" stroke-width="1"/>
|
|
92
|
+
<text x="668" y="366" font-size="15" font-weight="700" fill="#ffffff">Works instantly.</text>
|
|
93
|
+
<text x="668" y="386" font-size="13" fill="#6e7681">No agent names to remember. Type naturally —</text>
|
|
94
|
+
<text x="668" y="404" font-size="13" fill="#6e7681">routing reads intent and calls the right expert.</text>
|
|
95
|
+
|
|
96
|
+
<!-- Benefit 3: Free -->
|
|
97
|
+
<rect x="644" y="424" width="476" height="74" rx="10" fill="url(#card1)" stroke="#21262d" stroke-width="1"/>
|
|
98
|
+
<text x="668" y="452" font-size="15" font-weight="700" fill="#ffffff">100% free. MIT license.</text>
|
|
99
|
+
<text x="668" y="472" font-size="13" fill="#6e7681">Open source. No subscription. No lock-in.</text>
|
|
100
|
+
<text x="668" y="490" font-size="13" fill="#6e7681">Works on Claude Code, Cursor, Windsurf, Codex + more.</text>
|
|
101
|
+
|
|
102
|
+
<!-- Bottom bar -->
|
|
103
|
+
<rect x="0" y="520" width="1200" height="60" fill="#0d1117"/>
|
|
104
|
+
<line x1="0" y1="520" x2="1200" y2="520" stroke="#21262d" stroke-width="1"/>
|
|
105
|
+
|
|
106
|
+
<!-- Install command -->
|
|
107
|
+
<rect x="80" y="535" width="320" height="34" rx="6" fill="#161b22" stroke="#30363d" stroke-width="1"/>
|
|
108
|
+
<text x="100" y="557" font-family="'Courier New', Courier, monospace" font-size="15" fill="#57c454">$</text>
|
|
109
|
+
<text x="118" y="557" font-family="'Courier New', Courier, monospace" font-size="15" fill="#e6edf3"> npx kodelyth-ecc</text>
|
|
110
|
+
|
|
111
|
+
<!-- Platforms -->
|
|
112
|
+
<text x="420" y="547" font-size="12" fill="#484f58">Claude Code · Windsurf · Cursor · Codex · Antigravity · OpenCode</text>
|
|
113
|
+
|
|
114
|
+
<!-- GitHub link -->
|
|
115
|
+
<text x="1120" y="557" font-size="12" fill="#30363d" text-anchor="end">github.com/sifxprime/kodelyth-ecc</text>
|
|
116
|
+
|
|
117
|
+
<!-- Bottom accent -->
|
|
118
|
+
<rect x="0" y="625" width="1200" height="5" fill="url(#green)"/>
|
|
119
|
+
</svg>
|