kodelyth-ecc 1.5.2 → 1.5.3

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.
@@ -1,130 +1,89 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 900 290" width="900" height="290">
1
+ <svg viewBox="0 0 900 260" xmlns="http://www.w3.org/2000/svg" font-family="'Segoe UI', system-ui, -apple-system, sans-serif">
2
2
  <defs>
3
- <linearGradient id="bgGrad" x1="0%" y1="0%" x2="100%" y2="100%">
4
- <stop offset="0%" style="stop-color:#050811;stop-opacity:1" />
5
- <stop offset="100%" style="stop-color:#0d1117;stop-opacity:1" />
3
+ <linearGradient id="bg" x1="0%" y1="0%" x2="100%" y2="100%">
4
+ <stop offset="0%" style="stop-color:#0d1117"/>
5
+ <stop offset="100%" style="stop-color:#161b22"/>
6
6
  </linearGradient>
7
- <linearGradient id="termGrad" x1="0%" y1="0%" x2="0%" y2="100%">
8
- <stop offset="0%" style="stop-color:#161b22;stop-opacity:1" />
9
- <stop offset="100%" style="stop-color:#0d1117;stop-opacity:1" />
10
- </linearGradient>
11
- <linearGradient id="accentGrad" x1="0%" y1="0%" x2="100%" y2="0%">
12
- <stop offset="0%" style="stop-color:#7c3aed;stop-opacity:1" />
13
- <stop offset="100%" style="stop-color:#2563eb;stop-opacity:1" />
7
+ <linearGradient id="accent" x1="0%" y1="0%" x2="100%" y2="0%">
8
+ <stop offset="0%" style="stop-color:#a78bfa"/>
9
+ <stop offset="100%" style="stop-color:#38bdf8"/>
14
10
  </linearGradient>
15
- <linearGradient id="memGrad" x1="0%" y1="0%" x2="100%" y2="0%">
16
- <stop offset="0%" style="stop-color:#059669;stop-opacity:1" />
17
- <stop offset="100%" style="stop-color:#0891b2;stop-opacity:1" />
11
+ <linearGradient id="termGrad" x1="0%" y1="0%" x2="0%" y2="100%">
12
+ <stop offset="0%" style="stop-color:#161b22"/>
13
+ <stop offset="100%" style="stop-color:#0d1117"/>
18
14
  </linearGradient>
15
+ <filter id="glow">
16
+ <feGaussianBlur stdDeviation="3" result="blur"/>
17
+ <feMerge><feMergeNode in="blur"/><feMergeNode in="SourceGraphic"/></feMerge>
18
+ </filter>
19
19
  </defs>
20
20
 
21
21
  <!-- Background -->
22
- <rect width="900" height="290" fill="url(#bgGrad)" rx="12" />
23
-
24
- <!-- Top accent line -->
25
- <rect x="0" y="0" width="900" height="3" rx="2" fill="url(#accentGrad)" />
22
+ <rect width="900" height="260" fill="url(#bg)" rx="12"/>
23
+ <rect width="900" height="260" fill="none" stroke="#21262d" stroke-width="1" rx="12"/>
26
24
 
27
- <!-- Subtle grid -->
28
- <line x1="0" y1="96" x2="900" y2="96" stroke="#ffffff" stroke-opacity="0.025" stroke-width="1"/>
29
- <line x1="0" y1="192" x2="900" y2="192" stroke="#ffffff" stroke-opacity="0.025" stroke-width="1"/>
30
-
31
- <!-- LEFT SECTION -->
32
- <!-- Kodelyth ECC title -->
33
- <text x="32" y="42" font-family="system-ui, -apple-system, sans-serif" font-size="26" font-weight="800" fill="#ffffff" letter-spacing="-0.5">Kodelyth ECC</text>
25
+ <!-- LEFT Brand block -->
34
26
  <!-- Version badge -->
35
- <rect x="192" y="26" width="56" height="18" rx="9" fill="#7c3aed" fill-opacity="0.25" stroke="#7c3aed" stroke-opacity="0.6" stroke-width="1"/>
36
- <text x="220" y="39" font-family="system-ui, -apple-system, sans-serif" font-size="9" fill="#a78bfa" text-anchor="middle" font-weight="700" letter-spacing="0.5">v1.4.1</text>
37
-
38
- <!-- Memory feature tag -->
39
- <rect x="32" y="52" width="148" height="16" rx="8" fill="#059669" fill-opacity="0.15" stroke="#059669" stroke-opacity="0.4" stroke-width="1"/>
40
- <text x="106" y="64" font-family="system-ui, -apple-system, sans-serif" font-size="9" fill="#10b981" text-anchor="middle" font-weight="700" letter-spacing="0.5">+ LOCAL SELF-LEARNING MEMORY</text>
41
-
42
- <!-- Divider -->
43
- <line x1="32" y1="80" x2="310" y2="80" stroke="url(#accentGrad)" stroke-opacity="0.35" stroke-width="1"/>
44
-
45
- <!-- Stats Grid 2x2 -->
46
- <!-- Stat 1: 61 Agents -->
47
- <rect x="32" y="92" width="124" height="58" rx="8" fill="#ffffff" fill-opacity="0.04" stroke="#7c3aed" stroke-opacity="0.25" stroke-width="1"/>
48
- <text x="94" y="116" font-family="system-ui, -apple-system, sans-serif" font-size="24" font-weight="800" fill="#ffffff" text-anchor="middle">61</text>
49
- <text x="94" y="136" font-family="system-ui, -apple-system, sans-serif" font-size="10" fill="#6b7280" text-anchor="middle" letter-spacing="1.5">AGENTS</text>
50
-
51
- <!-- Stat 2: 188 Skills -->
52
- <rect x="166" y="92" width="124" height="58" rx="8" fill="#ffffff" fill-opacity="0.04" stroke="#2563eb" stroke-opacity="0.25" stroke-width="1"/>
53
- <text x="228" y="116" font-family="system-ui, -apple-system, sans-serif" font-size="24" font-weight="800" fill="#ffffff" text-anchor="middle">188</text>
54
- <text x="228" y="136" font-family="system-ui, -apple-system, sans-serif" font-size="10" fill="#6b7280" text-anchor="middle" letter-spacing="1.5">SKILLS</text>
55
-
56
- <!-- Stat 3: 80 Commands -->
57
- <rect x="32" y="162" width="124" height="58" rx="8" fill="#ffffff" fill-opacity="0.04" stroke="#059669" stroke-opacity="0.25" stroke-width="1"/>
58
- <text x="94" y="186" font-family="system-ui, -apple-system, sans-serif" font-size="24" font-weight="800" fill="#ffffff" text-anchor="middle">80</text>
59
- <text x="94" y="206" font-family="system-ui, -apple-system, sans-serif" font-size="10" fill="#6b7280" text-anchor="middle" letter-spacing="1.5">COMMANDS</text>
60
-
61
- <!-- Stat 4: 18+ Hooks -->
62
- <rect x="166" y="162" width="124" height="58" rx="8" fill="#ffffff" fill-opacity="0.04" stroke="#0891b2" stroke-opacity="0.25" stroke-width="1"/>
63
- <text x="228" y="186" font-family="system-ui, -apple-system, sans-serif" font-size="24" font-weight="800" fill="#ffffff" text-anchor="middle">18+</text>
64
- <text x="228" y="206" font-family="system-ui, -apple-system, sans-serif" font-size="10" fill="#6b7280" text-anchor="middle" letter-spacing="1.5">HOOKS</text>
65
-
66
- <!-- RIGHT SECTION: Terminal window -->
67
- <rect x="324" y="16" width="556" height="238" rx="10" fill="url(#termGrad)" stroke="#21262d" stroke-width="1.5"/>
68
-
69
- <!-- Terminal title bar -->
70
- <rect x="324" y="16" width="556" height="30" rx="10" fill="#161b22"/>
71
- <rect x="324" y="36" width="556" height="10" fill="#161b22"/>
27
+ <rect x="32" y="22" width="72" height="20" rx="10" fill="#a78bfa" fill-opacity="0.15" stroke="#a78bfa" stroke-opacity="0.4" stroke-width="1"/>
28
+ <text x="68" y="36" font-size="9" fill="#a78bfa" text-anchor="middle" font-weight="700" letter-spacing="0.5">v1.5.3</text>
72
29
 
73
- <!-- Traffic lights -->
74
- <circle cx="348" cy="31" r="5.5" fill="#ff5f57"/>
75
- <circle cx="368" cy="31" r="5.5" fill="#febc2e"/>
76
- <circle cx="388" cy="31" r="5.5" fill="#28c840"/>
30
+ <!-- Title -->
31
+ <text x="32" y="78" font-size="36" font-weight="900" letter-spacing="-1.5" fill="#ffffff" filter="url(#glow)">Kodelyth</text>
32
+ <text x="32" y="118" font-size="36" font-weight="900" letter-spacing="-1.5" fill="url(#accent)">ECC</text>
77
33
 
78
- <!-- Terminal title text -->
79
- <text x="602" y="35" font-family="system-ui, -apple-system, sans-serif" font-size="11" fill="#484f58" text-anchor="middle">terminal kodelyth-ecc install</text>
34
+ <!-- Tagline -->
35
+ <text x="32" y="148" font-size="12" fill="#6e7681" font-weight="400">AI coding toolkit. 6 platforms. Zero cloud.</text>
80
36
 
81
- <!-- Terminal content -->
82
- <text x="344" y="70" font-family="'Courier New', Courier, monospace" font-size="11" fill="#57c454">$</text>
83
- <text x="356" y="70" font-family="'Courier New', Courier, monospace" font-size="11" fill="#e6edf3"> npx kodelyth-ecc</text>
37
+ <!-- Separator -->
38
+ <line x1="32" y1="165" x2="290" y2="165" stroke="#21262d" stroke-width="1"/>
84
39
 
85
- <text x="344" y="90" font-family="'Courier New', Courier, monospace" font-size="11" fill="#3fb950">✓</text>
86
- <text x="362" y="90" font-family="'Courier New', Courier, monospace" font-size="11" fill="#e6edf3"> Agents (61) </text>
87
- <text x="508" y="90" font-family="'Courier New', Courier, monospace" font-size="11" fill="#484f58">→ ~/.claude/agents/</text>
40
+ <!-- Stats row -->
41
+ <rect x="32" y="178" width="56" height="54" rx="8" fill="#ffffff" fill-opacity="0.04" stroke="#a78bfa" stroke-opacity="0.25" stroke-width="1"/>
42
+ <text x="60" y="202" font-size="20" font-weight="800" fill="#ffffff" text-anchor="middle">62</text>
43
+ <text x="60" y="220" font-size="8" fill="#6b7280" text-anchor="middle" letter-spacing="1.5">AGENTS</text>
88
44
 
89
- <text x="344" y="108" font-family="'Courier New', Courier, monospace" font-size="11" fill="#3fb950">✓</text>
90
- <text x="362" y="108" font-family="'Courier New', Courier, monospace" font-size="11" fill="#e6edf3"> Skills (188) </text>
91
- <text x="508" y="108" font-family="'Courier New', Courier, monospace" font-size="11" fill="#484f58">→ ~/.claude/skills/</text>
45
+ <rect x="96" y="178" width="56" height="54" rx="8" fill="#ffffff" fill-opacity="0.04" stroke="#2563eb" stroke-opacity="0.25" stroke-width="1"/>
46
+ <text x="124" y="202" font-size="20" font-weight="800" fill="#ffffff" text-anchor="middle">188</text>
47
+ <text x="124" y="220" font-size="8" fill="#6b7280" text-anchor="middle" letter-spacing="1.5">SKILLS</text>
92
48
 
93
- <text x="344" y="126" font-family="'Courier New', Courier, monospace" font-size="11" fill="#3fb950">✓</text>
94
- <text x="362" y="126" font-family="'Courier New', Courier, monospace" font-size="11" fill="#e6edf3"> Memory hooks </text>
95
- <text x="508" y="126" font-family="'Courier New', Courier, monospace" font-size="11" fill="#484f58">→ ~/.kodelyth/memory/</text>
49
+ <rect x="160" y="178" width="56" height="54" rx="8" fill="#ffffff" fill-opacity="0.04" stroke="#059669" stroke-opacity="0.25" stroke-width="1"/>
50
+ <text x="188" y="202" font-size="20" font-weight="800" fill="#ffffff" text-anchor="middle">80</text>
51
+ <text x="188" y="220" font-size="8" fill="#6b7280" text-anchor="middle" letter-spacing="1.5">COMMANDS</text>
96
52
 
97
- <text x="344" y="144" font-family="'Courier New', Courier, monospace" font-size="11" fill="#3fb950">✓</text>
98
- <text x="362" y="144" font-family="'Courier New', Courier, monospace" font-size="11" fill="#e6edf3"> Intent routing </text>
99
- <text x="508" y="144" font-family="'Courier New', Courier, monospace" font-size="11" fill="#484f58">→ rules/common/</text>
53
+ <rect x="224" y="178" width="56" height="54" rx="8" fill="#ffffff" fill-opacity="0.04" stroke="#0891b2" stroke-opacity="0.25" stroke-width="1"/>
54
+ <text x="252" y="202" font-size="20" font-weight="800" fill="#ffffff" text-anchor="middle">20+</text>
55
+ <text x="252" y="220" font-size="8" fill="#6b7280" text-anchor="middle" letter-spacing="1.5">HOOKS</text>
100
56
 
101
- <!-- Memory auto-recall demo block -->
102
- <rect x="338" y="160" width="534" height="60" rx="6" fill="#0d2b1d" stroke="#059669" stroke-opacity="0.3" stroke-width="1"/>
103
- <text x="350" y="177" font-family="'Courier New', Courier, monospace" font-size="10" fill="#484f58"># Memory auto-recall fired on your prompt:</text>
104
- <text x="350" y="192" font-family="'Courier New', Courier, monospace" font-size="10" fill="#10b981">→ Found 1 match from March 2026: Stripe webhooks</text>
105
- <text x="350" y="207" font-family="'Courier New', Courier, monospace" font-size="10" fill="#6b7280"> raw body parser + constructEvent + stripe-cli test</text>
57
+ <!-- RIGHT Terminal -->
58
+ <rect x="320" y="16" width="564" height="232" rx="10" fill="url(#termGrad)" stroke="#21262d" stroke-width="1.5"/>
59
+ <rect x="320" y="16" width="564" height="30" rx="10" fill="#161b22"/>
60
+ <rect x="320" y="36" width="564" height="10" fill="#161b22"/>
61
+ <circle cx="344" cy="31" r="5" fill="#ff5f57"/>
62
+ <circle cx="360" cy="31" r="5" fill="#febc2e"/>
63
+ <circle cx="376" cy="31" r="5" fill="#28c840"/>
64
+ <text x="612" y="35" font-size="11" fill="#484f58" text-anchor="middle">kodelyth-ecc v1.5.3</text>
106
65
 
107
- <text x="344" y="236" font-family="'Courier New', Courier, monospace" font-size="11" font-weight="700" fill="#3fb950" letter-spacing="0.5">ARMED AND OPERATIONAL.</text>
66
+ <text x="348" y="66" font-family="'Courier New', Courier, monospace" font-size="11" fill="#10b981">$</text>
67
+ <text x="360" y="66" font-family="'Courier New', Courier, monospace" font-size="11" fill="#e6edf3"> npx kodelyth-ecc</text>
108
68
 
109
- <!-- BOTTOM STRIP: Platform badges -->
110
- <rect x="0" y="255" width="900" height="35" rx="0" fill="#ffffff" fill-opacity="0.025"/>
111
- <rect x="0" y="255" width="900" height="1" fill="url(#accentGrad)" fill-opacity="0.2"/>
69
+ <text x="348" y="84" font-family="'Courier New', Courier, monospace" font-size="11" fill="#484f58">Installing Kodelyth ECC v1.5.3...</text>
112
70
 
113
- <rect x="28" y="264" width="100" height="18" rx="9" fill="#ff6b35" fill-opacity="0.15" stroke="#ff6b35" stroke-opacity="0.4" stroke-width="1"/>
114
- <text x="78" y="277" font-family="system-ui, -apple-system, sans-serif" font-size="9.5" fill="#ff6b35" text-anchor="middle" font-weight="700">Claude Code</text>
71
+ <text x="348" y="108" font-family="'Courier New', Courier, monospace" font-size="11" fill="#e6edf3"> Agents (62) </text>
72
+ <text x="494" y="108" font-family="'Courier New', Courier, monospace" font-size="11" fill="#484f58">→ ~/.claude/agents/</text>
115
73
 
116
- <rect x="138" y="264" width="80" height="18" rx="9" fill="#10b981" fill-opacity="0.15" stroke="#10b981" stroke-opacity="0.4" stroke-width="1"/>
117
- <text x="178" y="277" font-family="system-ui, -apple-system, sans-serif" font-size="9.5" fill="#10b981" text-anchor="middle" font-weight="700">Codex CLI</text>
74
+ <text x="348" y="126" font-family="'Courier New', Courier, monospace" font-size="11" fill="#e6edf3"> Skills (188) </text>
75
+ <text x="494" y="126" font-family="'Courier New', Courier, monospace" font-size="11" fill="#484f58">→ ~/.claude/skills/</text>
118
76
 
119
- <rect x="228" y="264" width="76" height="18" rx="9" fill="#22d3ee" fill-opacity="0.15" stroke="#22d3ee" stroke-opacity="0.4" stroke-width="1"/>
120
- <text x="266" y="277" font-family="system-ui, -apple-system, sans-serif" font-size="9.5" fill="#22d3ee" text-anchor="middle" font-weight="700">Windsurf</text>
77
+ <text x="348" y="144" font-family="'Courier New', Courier, monospace" font-size="11" fill="#e6edf3"> Compound learning </text>
78
+ <text x="494" y="144" font-family="'Courier New', Courier, monospace" font-size="11" fill="#484f58">→ tasks/lessons.md</text>
121
79
 
122
- <rect x="314" y="264" width="90" height="18" rx="9" fill="#a78bfa" fill-opacity="0.15" stroke="#a78bfa" stroke-opacity="0.4" stroke-width="1"/>
123
- <text x="359" y="277" font-family="system-ui, -apple-system, sans-serif" font-size="9.5" fill="#a78bfa" text-anchor="middle" font-weight="700">Antigravity</text>
80
+ <text x="348" y="162" font-family="'Courier New', Courier, monospace" font-size="11" fill="#e6edf3"> Semantic routing </text>
81
+ <text x="494" y="162" font-family="'Courier New', Courier, monospace" font-size="11" fill="#484f58">→ intent, not keywords</text>
124
82
 
125
- <rect x="414" y="264" width="64" height="18" rx="9" fill="#f59e0b" fill-opacity="0.15" stroke="#f59e0b" stroke-opacity="0.4" stroke-width="1"/>
126
- <text x="446" y="277" font-family="system-ui, -apple-system, sans-serif" font-size="9.5" fill="#f59e0b" text-anchor="middle" font-weight="700">Cursor</text>
83
+ <text x="348" y="180" font-family="'Courier New', Courier, monospace" font-size="11" fill="#e6edf3"> Memory hooks </text>
84
+ <text x="494" y="180" font-family="'Courier New', Courier, monospace" font-size="11" fill="#484f58">→ ~/.kodelyth/memory/</text>
127
85
 
128
- <rect x="488" y="264" width="80" height="18" rx="9" fill="#818cf8" fill-opacity="0.15" stroke="#818cf8" stroke-opacity="0.4" stroke-width="1"/>
129
- <text x="528" y="277" font-family="system-ui, -apple-system, sans-serif" font-size="9.5" fill="#818cf8" text-anchor="middle" font-weight="700">OpenCode</text>
86
+ <rect x="348" y="196" width="500" height="36" rx="6" fill="#0d2b1d" stroke="#059669" stroke-opacity="0.3" stroke-width="1"/>
87
+ <text x="368" y="212" font-size="9" font-weight="700" fill="#10b981" letter-spacing="1">NEW IN v1.5.3 — SEMANTIC INTENT ROUTING</text>
88
+ <text x="368" y="226" font-size="10" fill="#6b7280">Paste code or a stack trace — AI routes you automatically, no command needed</text>
130
89
  </svg>
@@ -4,115 +4,105 @@
4
4
  <stop offset="0%" style="stop-color:#050811"/>
5
5
  <stop offset="100%" style="stop-color:#0d1117"/>
6
6
  </linearGradient>
7
- <linearGradient id="accent" 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="mem" x1="0%" y1="0%" x2="100%" y2="0%">
7
+ <linearGradient id="mem" x1="0%" y1="0%" x2="0%" y2="100%">
12
8
  <stop offset="0%" style="stop-color:#059669"/>
13
- <stop offset="100%" style="stop-color:#0891b2"/>
9
+ <stop offset="100%" style="stop-color:#065f46"/>
14
10
  </linearGradient>
15
- <linearGradient id="card" x1="0%" y1="0%" x2="0%" y2="100%">
11
+ <linearGradient id="card" x1="0%" y1="0%" x2="100%" y2="100%">
16
12
  <stop offset="0%" style="stop-color:#161b22"/>
17
13
  <stop offset="100%" style="stop-color:#0d1117"/>
18
14
  </linearGradient>
19
15
  </defs>
20
16
 
21
17
  <rect width="1200" height="675" fill="url(#bg)"/>
22
- <rect x="0" y="0" width="1200" height="5" fill="url(#accent)"/>
18
+ <circle cx="1100" cy="600" r="300" fill="#059669" opacity="0.04"/>
19
+ <circle cx="100" cy="100" r="200" fill="#a78bfa" opacity="0.03"/>
23
20
 
24
21
  <!-- Header -->
25
- <text x="80" y="72" font-size="48" font-weight="900" letter-spacing="-2" fill="#ffffff">61 agents. One install.</text>
26
- <text x="80" y="110" font-size="20" fill="#6e7681">Intent routing picks the right expert from your first message no agent names needed.</text>
27
-
28
- <!-- Agent grid 3x3 -->
29
- <!-- Row 1 -->
30
- <!-- debug-detective -->
31
- <rect x="80" y="134" width="320" height="120" rx="8" fill="url(#card)" stroke="#21262d" stroke-width="1"/>
32
- <rect x="80" y="134" width="4" height="120" rx="2" fill="#dc2626"/>
33
- <text x="100" y="162" font-size="15" font-weight="700" fill="#f87171">debug-detective</text>
34
- <text x="100" y="183" font-size="13" fill="#6e7681">Root cause analyst. Never patches</text>
35
- <text x="100" y="200" font-size="13" fill="#6e7681">symptoms. Traces every bug to</text>
36
- <text x="100" y="217" font-size="13" fill="#6e7681">its exact origin.</text>
37
- <text x="100" y="245" font-size="11" fill="#30363d">Debugging · Evidence</text>
22
+ <text x="80" y="72" font-size="48" font-weight="900" letter-spacing="-2" fill="#ffffff">62 agents. One install.</text>
23
+ <text x="80" y="110" font-size="18" fill="#6e7681">Semantic routing picks the right one you never need to know their names.</text>
38
24
 
39
- <!-- security-reviewer -->
40
- <rect x="420" y="134" width="320" height="120" rx="8" fill="url(#card)" stroke="#21262d" stroke-width="1"/>
41
- <rect x="420" y="134" width="4" height="120" rx="2" fill="#f59e0b"/>
42
- <text x="440" y="162" font-size="15" font-weight="700" fill="#fcd34d">security-reviewer</text>
43
- <text x="440" y="183" font-size="13" fill="#6e7681">OWASP Top 10. Flags secrets,</text>
44
- <text x="440" y="200" font-size="13" fill="#6e7681">injection, SSRF, unsafe crypto</text>
45
- <text x="440" y="217" font-size="13" fill="#6e7681">before you commit.</text>
46
- <text x="440" y="245" font-size="11" fill="#30363d">Security · OWASP</text>
25
+ <!-- Left column — agent cards -->
26
+ <!-- Card 1 -->
27
+ <rect x="80" y="140" width="360" height="120" rx="8" fill="url(#card)" stroke="#21262d" stroke-width="1"/>
28
+ <rect x="80" y="140" width="4" height="120" rx="2" fill="#a78bfa"/>
29
+ <text x="100" y="166" font-size="13" font-weight="700" fill="#ffffff">kodelyth-advisor</text>
30
+ <text x="100" y="185" font-size="12" fill="#8b949e">"I'm stuck, no idea where to start"</text>
31
+ <text x="100" y="201" font-size="12" fill="#8b949e">"I'm overwhelmed, any advice?"</text>
32
+ <text x="100" y="220" font-size="11" fill="#484f58">→ strategic direction + right specialist</text>
33
+ <text x="100" y="237" font-size="11" fill="#484f58">→ priority 1 — fires on confusion/emotion</text>
47
34
 
48
- <!-- kodelyth-memory (NEW) -->
49
- <rect x="760" y="134" width="360" height="120" rx="8" fill="#0d2b1d" stroke="#059669" stroke-opacity="0.4" stroke-width="1"/>
50
- <rect x="760" y="134" width="4" height="120" rx="2" fill="url(#mem)"/>
51
- <text x="780" y="162" font-size="15" font-weight="700" fill="#10b981">kodelyth-memory</text>
52
- <rect x="926" y="140" width="46" height="18" rx="9" fill="#059669" fill-opacity="0.3" stroke="#059669" stroke-opacity="0.5" stroke-width="1"/>
53
- <text x="949" y="153" font-size="10" fill="#10b981" text-anchor="middle" font-weight="700">NEW</text>
54
- <text x="780" y="183" font-size="13" fill="#6e7681">Captures past solutions locally.</text>
55
- <text x="780" y="200" font-size="13" fill="#6e7681">BM25 auto-recall on every prompt.</text>
56
- <text x="780" y="217" font-size="13" fill="#6e7681">Zero cloud. Zero telemetry.</text>
57
- <text x="780" y="245" font-size="11" fill="#30363d">Memory · BM25 · Auto-Recall</text>
35
+ <!-- Card 2 -->
36
+ <rect x="80" y="280" width="360" height="120" rx="8" fill="#161b22" stroke="#21262d" stroke-width="1"/>
37
+ <rect x="80" y="280" width="4" height="120" rx="2" fill="#f59e0b"/>
38
+ <text x="100" y="306" font-size="13" font-weight="700" fill="#ffffff">debug-detective</text>
39
+ <text x="100" y="325" font-size="12" fill="#8b949e">"nothing works, driving me crazy"</text>
40
+ <text x="100" y="341" font-size="12" fill="#8b949e">[paste stack trace with no text]</text>
41
+ <text x="100" y="360" font-size="11" fill="#484f58">→ root cause, never guesses</text>
42
+ <text x="100" y="377" font-size="11" fill="#484f58">→ auto-detects naked paste</text>
58
43
 
59
- <!-- Row 2 -->
60
- <!-- pair-programmer -->
61
- <rect x="80" y="274" width="320" height="120" rx="8" fill="url(#card)" stroke="#21262d" stroke-width="1"/>
62
- <rect x="80" y="274" width="4" height="120" rx="2" fill="#10b981"/>
63
- <text x="100" y="302" font-size="15" font-weight="700" fill="#6ee7b7">pair-programmer</text>
64
- <text x="100" y="323" font-size="13" fill="#6e7681">Pre-code thinking partner.</text>
65
- <text x="100" y="340" font-size="13" fill="#6e7681">Catches wrong approaches before</text>
66
- <text x="100" y="357" font-size="13" fill="#6e7681">you write a single line.</text>
67
- <text x="100" y="385" font-size="11" fill="#30363d">Planning · Prevention</text>
44
+ <!-- Card 3 — memory / ECC exclusive -->
45
+ <rect x="80" y="420" width="360" height="120" rx="8" fill="#0d2b1d" stroke="#059669" stroke-opacity="0.4" stroke-width="1"/>
46
+ <rect x="80" y="420" width="4" height="120" rx="2" fill="url(#mem)"/>
47
+ <rect x="246" y="426" width="46" height="18" rx="9" fill="#059669" fill-opacity="0.3" stroke="#059669" stroke-opacity="0.5" stroke-width="1"/>
48
+ <text x="269" y="439" font-size="9" fill="#10b981" text-anchor="middle" font-weight="700">ECC only</text>
49
+ <text x="100" y="448" font-size="13" font-weight="700" fill="#ffffff">kodelyth-memory</text>
50
+ <text x="100" y="467" font-size="12" fill="#8b949e">BM25 local memory — past solutions</text>
51
+ <text x="100" y="483" font-size="12" fill="#8b949e">injected before you ask</text>
52
+ <text x="100" y="502" font-size="11" fill="#484f58">→ capture-correction · read-lessons</text>
53
+ <text x="100" y="519" font-size="11" fill="#484f58">→ ~/.kodelyth/memory/ — zero cloud</text>
68
54
 
69
- <!-- ux-reviewer -->
70
- <rect x="420" y="274" width="320" height="120" rx="8" fill="url(#card)" stroke="#21262d" stroke-width="1"/>
71
- <rect x="420" y="274" width="4" height="120" rx="2" fill="#0891b2"/>
72
- <text x="440" y="302" font-size="15" font-weight="700" fill="#67e8f9">ux-reviewer</text>
73
- <text x="440" y="323" font-size="13" fill="#6e7681">WCAG 2.1 AA UX reviewer.</text>
74
- <text x="440" y="340" font-size="13" fill="#6e7681">Interaction behavior, not</text>
75
- <text x="440" y="357" font-size="13" fill="#6e7681">visual aesthetics.</text>
76
- <text x="440" y="385" font-size="11" fill="#30363d">UX · Accessibility · A11y</text>
55
+ <!-- Middle separator -->
56
+ <line x1="460" y1="130" x2="460" y2="560" stroke="#21262d" stroke-width="1"/>
77
57
 
78
- <!-- git-rescue -->
79
- <rect x="760" y="274" width="360" height="120" rx="8" fill="url(#card)" stroke="#21262d" stroke-width="1"/>
80
- <rect x="760" y="274" width="4" height="120" rx="2" fill="#22d3ee"/>
81
- <text x="780" y="302" font-size="15" font-weight="700" fill="#a5f3fc">git-rescue</text>
82
- <text x="780" y="323" font-size="13" fill="#6e7681">Recovers broken git states.</text>
83
- <text x="780" y="340" font-size="13" fill="#6e7681">Lost commits, bad rebases,</text>
84
- <text x="780" y="357" font-size="13" fill="#6e7681">force-push damage.</text>
85
- <text x="780" y="385" font-size="11" fill="#30363d">Git · Recovery · Rebase</text>
58
+ <!-- Right column — more agents -->
59
+ <!-- Card 4 -->
60
+ <rect x="480" y="140" width="360" height="120" rx="8" fill="url(#card)" stroke="#21262d" stroke-width="1"/>
61
+ <rect x="480" y="140" width="4" height="120" rx="2" fill="#22d3ee"/>
62
+ <text x="500" y="166" font-size="13" font-weight="700" fill="#ffffff">code-reviewer</text>
63
+ <text x="500" y="185" font-size="12" fill="#8b949e">"take a look at this"</text>
64
+ <text x="500" y="201" font-size="12" fill="#8b949e">[paste code with no text]</text>
65
+ <text x="500" y="220" font-size="11" fill="#484f58">→ auto-detects naked code paste</text>
66
+ <text x="500" y="237" font-size="11" fill="#484f58">→ 12 language-specific variants</text>
86
67
 
87
- <!-- Row 3 -->
88
- <!-- release-captain -->
89
- <rect x="80" y="414" width="320" height="120" rx="8" fill="url(#card)" stroke="#21262d" stroke-width="1"/>
90
- <rect x="80" y="414" width="4" height="120" rx="2" fill="#f97316"/>
91
- <text x="100" y="442" font-size="15" font-weight="700" fill="#fdba74">release-captain</text>
92
- <text x="100" y="463" font-size="13" fill="#6e7681">Owns the full release ritual.</text>
93
- <text x="100" y="480" font-size="13" fill="#6e7681">Semver, changelog, tag,</text>
94
- <text x="100" y="497" font-size="13" fill="#6e7681">publish, rollback rehearsal.</text>
95
- <text x="100" y="525" font-size="11" fill="#30363d">Release · Semver · Publish</text>
68
+ <!-- Card 5 -->
69
+ <rect x="480" y="280" width="360" height="120" rx="8" fill="#0d2b1d" stroke="#059669" stroke-opacity="0.4" stroke-width="1"/>
70
+ <rect x="480" y="280" width="4" height="120" rx="2" fill="url(#mem)"/>
71
+ <rect x="646" y="286" width="78" height="18" rx="9" fill="#059669" fill-opacity="0.25" stroke="#059669" stroke-opacity="0.5" stroke-width="1"/>
72
+ <text x="685" y="299" font-size="9" fill="#10b981" text-anchor="middle" font-weight="700">NEW v1.5.2</text>
73
+ <text x="500" y="306" font-size="13" font-weight="700" fill="#ffffff">image-architect</text>
74
+ <text x="500" y="325" font-size="12" fill="#8b949e">"my site looks plain / boring"</text>
75
+ <text x="500" y="341" font-size="12" fill="#8b949e">"I need an OG image / social card"</text>
76
+ <text x="500" y="360" font-size="11" fill="#484f58">→ Gemini Imagen 3 / DALL-E 3 / SVG</text>
77
+ <text x="500" y="377" font-size="11" fill="#484f58">→ platform-aware, always free via SVG</text>
96
78
 
97
- <!-- flake-hunter -->
98
- <rect x="420" y="414" width="320" height="120" rx="8" fill="url(#card)" stroke="#21262d" stroke-width="1"/>
99
- <rect x="420" y="414" width="4" height="120" rx="2" fill="#8b5cf6"/>
100
- <text x="440" y="442" font-size="15" font-weight="700" fill="#c4b5fd">flake-hunter</text>
101
- <text x="440" y="463" font-size="13" fill="#6e7681">Stabilizes flaky tests.</text>
102
- <text x="440" y="480" font-size="13" fill="#6e7681">6-class taxonomy. Real fixes.</text>
103
- <text x="440" y="497" font-size="13" fill="#6e7681">Never adds blind retries.</text>
104
- <text x="440" y="525" font-size="11" fill="#30363d">Tests · Reliability</text>
79
+ <!-- Card 6 -->
80
+ <rect x="480" y="420" width="360" height="120" rx="8" fill="url(#card)" stroke="#21262d" stroke-width="1"/>
81
+ <rect x="480" y="420" width="4" height="120" rx="2" fill="#38bdf8"/>
82
+ <text x="500" y="448" font-size="13" font-weight="700" fill="#ffffff">more agents</text>
83
+ <text x="500" y="467" font-size="12" fill="#8b949e">security-reviewer · ux-reviewer</text>
84
+ <text x="500" y="483" font-size="12" fill="#8b949e">incident-commander · load-tester</text>
85
+ <text x="500" y="502" font-size="11" fill="#484f58">performance-optimizer · migration-guide</text>
86
+ <text x="500" y="519" font-size="11" fill="#484f58">tdd-guide · git-rescue · release-captain</text>
105
87
 
106
- <!-- more badge -->
107
- <rect x="760" y="414" width="360" height="120" rx="8" fill="url(#card)" stroke="#21262d" stroke-width="1"/>
108
- <text x="940" y="465" font-size="38" font-weight="900" fill="#ffffff" text-anchor="middle">+51</text>
109
- <text x="940" y="495" font-size="13" fill="#484f58" text-anchor="middle">more agents</text>
110
- <text x="940" y="516" font-size="12" fill="#30363d" text-anchor="middle">dependency-doctor · env-debugger</text>
111
- <text x="940" y="534" font-size="12" fill="#30363d" text-anchor="middle">build fixers · language reviewers · and more</text>
88
+ <!-- Install bar -->
89
+ <rect x="80" y="568" width="760" height="52" rx="8" fill="#0d1117" stroke="#21262d" stroke-width="1"/>
90
+ <text x="460" y="590" font-size="13" fill="#10b981" text-anchor="middle" font-weight="700">$ npx kodelyth-ecc</text>
91
+ <text x="460" y="608" font-size="12" fill="#484f58" text-anchor="middle">Works with Claude Code · Windsurf · Cursor · Codex · Antigravity · OpenCode</text>
112
92
 
113
- <!-- Footer -->
114
- <rect x="0" y="570" width="1200" height="5" fill="#21262d"/>
115
- <text x="80" y="606" font-size="16" fill="#484f58">$ npx kodelyth-ecc</text>
116
- <text x="80" y="638" font-size="14" fill="#30363d">github.com/sifxprime/kodelyth-ecc · MIT License</text>
117
- <rect x="0" y="670" width="1200" height="5" fill="url(#mem)"/>
93
+ <!-- Stats -->
94
+ <text x="920" y="200" font-size="72" font-weight="900" fill="#ffffff" text-anchor="middle">62</text>
95
+ <text x="920" y="228" font-size="10" fill="#484f58" text-anchor="middle" letter-spacing="3">AGENTS</text>
96
+ <line x1="860" y1="248" x2="980" y2="248" stroke="#21262d" stroke-width="1"/>
97
+ <text x="920" y="280" font-size="32" font-weight="800" fill="#ffffff" text-anchor="middle">188</text>
98
+ <text x="920" y="302" font-size="10" fill="#484f58" text-anchor="middle" letter-spacing="2">SKILLS</text>
99
+ <line x1="860" y1="320" x2="980" y2="320" stroke="#21262d" stroke-width="1"/>
100
+ <text x="920" y="352" font-size="32" font-weight="800" fill="#ffffff" text-anchor="middle">20+</text>
101
+ <text x="920" y="374" font-size="10" fill="#484f58" text-anchor="middle" letter-spacing="2">HOOKS</text>
102
+ <line x1="860" y1="392" x2="980" y2="392" stroke="#21262d" stroke-width="1"/>
103
+ <text x="920" y="424" font-size="32" font-weight="800" fill="#ffffff" text-anchor="middle">6</text>
104
+ <text x="920" y="446" font-size="10" fill="#484f58" text-anchor="middle" letter-spacing="2">PLATFORMS</text>
105
+ <line x1="860" y1="464" x2="980" y2="464" stroke="#21262d" stroke-width="1"/>
106
+ <text x="920" y="496" font-size="20" font-weight="800" fill="#ffffff" text-anchor="middle">v1.5.3</text>
107
+ <text x="920" y="516" font-size="10" fill="#484f58" text-anchor="middle" letter-spacing="2">LATEST</text>
118
108
  </svg>
@@ -5,45 +5,55 @@
5
5
  <stop offset="100%" style="stop-color:#0d1117"/>
6
6
  </linearGradient>
7
7
  <linearGradient id="accent" 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="mem" x1="0%" y1="0%" x2="100%" y2="0%">
12
- <stop offset="0%" style="stop-color:#059669"/>
13
- <stop offset="100%" style="stop-color:#0891b2"/>
8
+ <stop offset="0%" style="stop-color:#a78bfa"/>
9
+ <stop offset="100%" style="stop-color:#38bdf8"/>
14
10
  </linearGradient>
15
11
  </defs>
16
12
 
17
13
  <rect width="1200" height="675" fill="url(#bg)"/>
18
- <rect x="0" y="0" width="1200" height="5" fill="url(#accent)"/>
19
-
20
- <!-- Glow orbs -->
21
- <circle cx="200" cy="200" r="300" fill="#7c3aed" opacity="0.04"/>
22
- <circle cx="1000" cy="475" r="260" fill="#059669" opacity="0.04"/>
14
+ <circle cx="1100" cy="580" r="320" fill="#059669" opacity="0.04"/>
15
+ <circle cx="100" cy="120" r="200" fill="#a78bfa" opacity="0.03"/>
23
16
 
24
17
  <!-- Main headline -->
25
- <text x="100" y="180" font-size="96" font-weight="900" letter-spacing="-4" fill="#ffffff">Free.</text>
26
- <text x="100" y="280" font-size="96" font-weight="900" letter-spacing="-4" fill="#ffffff">Open source.</text>
27
- <text x="100" y="380" font-size="96" font-weight="900" letter-spacing="-4" fill="url(#accent)">MIT license.</text>
18
+ <text x="80" y="120" font-size="72" font-weight="900" letter-spacing="-3" fill="#ffffff">100% free.</text>
19
+ <text x="80" y="200" font-size="72" font-weight="900" letter-spacing="-3" fill="url(#accent)">100% local.</text>
20
+ <text x="80" y="272" font-size="24" fill="#6e7681" font-weight="400">No dashboard. No telemetry. No cloud. No account.</text>
21
+ <text x="80" y="306" font-size="24" fill="#6e7681">Just files on your disk that make your AI smarter.</text>
22
+
23
+ <line x1="80" y1="340" x2="1120" y2="340" stroke="#21262d" stroke-width="1"/>
28
24
 
29
- <!-- Sub-copy -->
30
- <text x="100" y="448" font-size="28" fill="#6e7681" font-weight="400">61 specialist agents. Local self-learning memory.</text>
31
- <text x="100" y="482" font-size="28" fill="#6e7681">Zero cloud. Zero telemetry. Zero cost.</text>
25
+ <!-- Three pillars -->
26
+ <!-- Pillar 1 -->
27
+ <rect x="80" y="364" width="320" height="180" rx="10" fill="#161b22" stroke="#21262d" stroke-width="1"/>
28
+ <rect x="80" y="364" width="4" height="180" rx="2" fill="#a78bfa"/>
29
+ <text x="100" y="396" font-size="32" font-weight="900" fill="#ffffff">Zero cost</text>
30
+ <text x="100" y="426" font-size="14" fill="#8b949e">No API keys. No subscriptions.</text>
31
+ <text x="100" y="446" font-size="14" fill="#8b949e">No usage limits. No vendor lock-in.</text>
32
+ <text x="100" y="476" font-size="12" fill="#484f58">Install once. Works forever.</text>
33
+ <text x="100" y="494" font-size="12" fill="#484f58">Fork it, edit it, own it.</text>
34
+ <text x="100" y="528" font-size="11" fill="#30363d">npx kodelyth-ecc</text>
32
35
 
33
- <!-- Install pill -->
34
- <rect x="100" y="520" width="460" height="72" rx="12" fill="#161b22" stroke="#21262d" stroke-width="2"/>
35
- <text x="140" y="562" font-family="'Courier New', Courier, monospace" font-size="26" fill="#57c454">$</text>
36
- <text x="164" y="562" font-family="'Courier New', Courier, monospace" font-size="26" fill="#e6edf3"> npx kodelyth-ecc</text>
36
+ <!-- Pillar 2 -->
37
+ <rect x="430" y="364" width="320" height="180" rx="10" fill="#161b22" stroke="#21262d" stroke-width="1"/>
38
+ <rect x="430" y="364" width="4" height="180" rx="2" fill="#059669"/>
39
+ <text x="450" y="396" font-size="32" font-weight="900" fill="#ffffff">Zero cloud</text>
40
+ <text x="450" y="426" font-size="14" fill="#8b949e">Memory at ~/.kodelyth/memory/</text>
41
+ <text x="450" y="446" font-size="14" fill="#8b949e">Lessons at tasks/lessons.md</text>
42
+ <text x="450" y="476" font-size="12" fill="#484f58">Your data never leaves your machine.</text>
43
+ <text x="450" y="494" font-size="12" fill="#484f58">BM25 search — no embeddings needed.</text>
44
+ <text x="450" y="528" font-size="11" fill="#30363d">ls ~/.kodelyth/memory/</text>
37
45
 
38
- <!-- Stats -->
39
- <text x="640" y="540" font-size="72" font-weight="900" fill="#ffffff">61</text>
40
- <text x="640" y="570" font-size="13" fill="#484f58" letter-spacing="3">AGENTS</text>
41
- <text x="780" y="540" font-size="72" font-weight="900" fill="#ffffff">188</text>
42
- <text x="780" y="570" font-size="13" fill="#484f58" letter-spacing="3">SKILLS</text>
43
- <text x="950" y="540" font-size="72" font-weight="900" fill="#ffffff">80</text>
44
- <text x="950" y="570" font-size="13" fill="#484f58" letter-spacing="3">COMMANDS</text>
46
+ <!-- Pillar 3 -->
47
+ <rect x="780" y="364" width="340" height="180" rx="10" fill="#161b22" stroke="#21262d" stroke-width="1"/>
48
+ <rect x="780" y="364" width="4" height="180" rx="2" fill="#38bdf8"/>
49
+ <text x="800" y="396" font-size="32" font-weight="900" fill="#ffffff">Gets smarter</text>
50
+ <text x="800" y="426" font-size="14" fill="#8b949e">Every correction → lessons.md</text>
51
+ <text x="800" y="446" font-size="14" fill="#8b949e">Every session → better context</text>
52
+ <text x="800" y="476" font-size="12" fill="#484f58">Month 1: knows your style.</text>
53
+ <text x="800" y="494" font-size="12" fill="#484f58">Month 3: works like it's been here years.</text>
54
+ <text x="800" y="528" font-size="11" fill="#30363d">Compound learning — v1.5.1</text>
45
55
 
46
- <!-- Bottom -->
47
- <text x="100" y="640" font-size="18" fill="#30363d">github.com/sifxprime/kodelyth-ecc</text>
48
- <rect x="0" y="670" width="1200" height="5" fill="url(#mem)"/>
56
+ <!-- Footer CTA -->
57
+ <text x="80" y="606" font-size="20" fill="#484f58">$ npx kodelyth-ecc</text>
58
+ <text x="1120" y="606" font-size="16" fill="#484f58" text-anchor="end">v1.5.3 · github.com/sifxprime/kodelyth-ecc</text>
49
59
  </svg>