kodelyth-ecc 1.8.0 → 1.8.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.
Files changed (91) hide show
  1. package/CLAUDE.md +1 -1
  2. package/VERSION +1 -1
  3. package/bin/kodelyth-ecc.js +54 -5
  4. package/install.ps1 +30 -13
  5. package/install.sh +11 -4
  6. package/package.json +1 -1
  7. package/rules/common/agent-intent-routing.md +96 -195
  8. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -47
  9. package/.github/ISSUE_TEMPLATE/config.yml +0 -8
  10. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -41
  11. package/.github/ISSUE_TEMPLATE/good_first_issue.md +0 -36
  12. package/.github/ISSUE_TEMPLATE/new_agent.md +0 -52
  13. package/.github/PULL_REQUEST_TEMPLATE.md +0 -53
  14. package/.github/workflows/ci.yml +0 -45
  15. package/.github/workflows/publish.yml +0 -60
  16. package/brand/concepts.svg +0 -109
  17. package/brand/convert.js +0 -161
  18. package/brand/favicon.svg +0 -7
  19. package/brand/fb-cover.svg +0 -34
  20. package/brand/fb-profile.svg +0 -21
  21. package/brand/kodelyth-dark.svg +0 -24
  22. package/brand/kodelyth-light.svg +0 -24
  23. package/brand/kodelyth-mark.svg +0 -20
  24. package/brand/package.json +0 -12
  25. package/docs/dashboard.md +0 -211
  26. package/docs/evolve.md +0 -303
  27. package/docs/mcp-clients.md +0 -167
  28. package/docs/mcp.md +0 -178
  29. package/docs/replay.md +0 -244
  30. package/docs/supply-chain.md +0 -207
  31. package/docs/swarm.md +0 -243
  32. package/skills/skill-comply/tests/test_grader.py +0 -137
  33. package/skills/skill-comply/tests/test_parser.py +0 -90
  34. package/social/card-agents.svg +0 -104
  35. package/social/card-install.svg +0 -58
  36. package/social/card-main.svg +0 -54
  37. package/social/facebook-v150.svg +0 -110
  38. package/social/fb-ad-main.svg +0 -128
  39. package/social/fb-post-features.svg +0 -118
  40. package/social/fb-post-launch.svg +0 -144
  41. package/social/fb-post-platforms.svg +0 -135
  42. package/social/github-social-preview.svg +0 -151
  43. package/social/hype-compound-learning.svg +0 -129
  44. package/social/hype-devil-mode.svg +0 -240
  45. package/social/hype-mcp-server.svg +0 -148
  46. package/social/hype-parallel-agents.svg +0 -162
  47. package/social/hype-stats-hero.svg +0 -138
  48. package/social/og-image.svg +0 -151
  49. package/social/readme-agents.svg +0 -138
  50. package/social/readme-hero.svg +0 -102
  51. package/social/section-agents.svg +0 -69
  52. package/social/section-author.svg +0 -66
  53. package/social/section-dashboard.svg +0 -71
  54. package/social/section-devil.svg +0 -66
  55. package/social/section-hooks.svg +0 -63
  56. package/social/section-install.svg +0 -54
  57. package/social/section-learning.svg +0 -64
  58. package/social/section-mcp.svg +0 -58
  59. package/social/section-memory.svg +0 -69
  60. package/social/section-parallel.svg +0 -84
  61. package/social/section-routing.svg +0 -63
  62. package/social/twitter-threads.md +0 -621
  63. package/social/x-card-agents-grid.svg +0 -120
  64. package/social/x-card-free.svg +0 -71
  65. package/social/x-card-hook.svg +0 -94
  66. package/tests/dashboard/data.test.js +0 -391
  67. package/tests/dashboard/server.test.js +0 -257
  68. package/tests/evolve/analyze.test.js +0 -169
  69. package/tests/evolve/proposals.test.js +0 -173
  70. package/tests/evolve/stats.test.js +0 -167
  71. package/tests/hooks/branch-name-check.test.js +0 -184
  72. package/tests/hooks/smart-suggest.test.js +0 -149
  73. package/tests/hooks/test-reminder.test.js +0 -181
  74. package/tests/mcp/catalog.test.js +0 -98
  75. package/tests/mcp/client.test.js +0 -113
  76. package/tests/mcp/resources-prompts.test.js +0 -70
  77. package/tests/mcp/tools.test.js +0 -159
  78. package/tests/memory/auto-recall.test.js +0 -132
  79. package/tests/memory/instincts.test.js +0 -258
  80. package/tests/memory/store.test.js +0 -203
  81. package/tests/replay/bundle.test.js +0 -181
  82. package/tests/replay/replay.test.js +0 -131
  83. package/tests/router/classify.test.js +0 -164
  84. package/tests/run-all.js +0 -55
  85. package/tests/safety/patterns.test.js +0 -94
  86. package/tests/safety/prompt-injection-guard.test.js +0 -111
  87. package/tests/safety/token-budget.test.js +0 -119
  88. package/tests/supply-chain/manifest.test.js +0 -147
  89. package/tests/supply-chain/sbom.test.js +0 -170
  90. package/tests/supply-chain/verify.test.js +0 -146
  91. package/tests/swarm/build-plan.test.js +0 -188
@@ -1,240 +0,0 @@
1
- <svg width="1200" height="675" viewBox="0 0 1200 675" xmlns="http://www.w3.org/2000/svg" font-family="'Segoe UI', system-ui, -apple-system, sans-serif">
2
- <defs>
3
- <linearGradient id="bgGrad" x1="0%" y1="0%" x2="100%" y2="100%">
4
- <stop offset="0%" style="stop-color:#050811"/>
5
- <stop offset="60%" style="stop-color:#0a0508"/>
6
- <stop offset="100%" style="stop-color:#060309"/>
7
- </linearGradient>
8
- <linearGradient id="redGrad" x1="0%" y1="0%" x2="100%" y2="0%">
9
- <stop offset="0%" style="stop-color:#ef4444"/>
10
- <stop offset="100%" style="stop-color:#dc2626"/>
11
- </linearGradient>
12
- <linearGradient id="termBg" x1="0%" y1="0%" x2="0%" y2="100%">
13
- <stop offset="0%" style="stop-color:#0c0c14"/>
14
- <stop offset="100%" style="stop-color:#080810"/>
15
- </linearGradient>
16
- <linearGradient id="badgeGrad" x1="0%" y1="0%" x2="100%" y2="0%">
17
- <stop offset="0%" style="stop-color:#2d0a0a"/>
18
- <stop offset="100%" style="stop-color:#1a0505"/>
19
- </linearGradient>
20
- <linearGradient id="barCrit" x1="0%" y1="0%" x2="100%" y2="0%">
21
- <stop offset="0%" style="stop-color:#ef4444"/>
22
- <stop offset="100%" style="stop-color:#b91c1c"/>
23
- </linearGradient>
24
- <linearGradient id="barHigh" x1="0%" y1="0%" x2="100%" y2="0%">
25
- <stop offset="0%" style="stop-color:#f97316"/>
26
- <stop offset="100%" style="stop-color:#ea580c"/>
27
- </linearGradient>
28
- <linearGradient id="barClear" x1="0%" y1="0%" x2="100%" y2="0%">
29
- <stop offset="0%" style="stop-color:#22c55e"/>
30
- <stop offset="100%" style="stop-color:#16a34a"/>
31
- </linearGradient>
32
- <linearGradient id="accentLine" x1="0%" y1="0%" x2="100%" y2="0%">
33
- <stop offset="0%" style="stop-color:#ef4444" stop-opacity="0.8"/>
34
- <stop offset="50%" style="stop-color:#dc2626" stop-opacity="0.4"/>
35
- <stop offset="100%" style="stop-color:#ef4444" stop-opacity="0"/>
36
- </linearGradient>
37
- </defs>
38
-
39
- <!-- Background -->
40
- <rect width="1200" height="675" fill="url(#bgGrad)"/>
41
-
42
- <!-- Subtle background texture — faint grid lines -->
43
- <line x1="0" y1="225" x2="1200" y2="225" stroke="#ef4444" stroke-opacity="0.025" stroke-width="1"/>
44
- <line x1="0" y1="450" x2="1200" y2="450" stroke="#ef4444" stroke-opacity="0.025" stroke-width="1"/>
45
- <line x1="400" y1="0" x2="400" y2="675" stroke="#ef4444" stroke-opacity="0.02" stroke-width="1"/>
46
- <line x1="800" y1="0" x2="800" y2="675" stroke="#ef4444" stroke-opacity="0.02" stroke-width="1"/>
47
-
48
- <!-- Ambient red glow — top-left corner, very subtle -->
49
- <radialGradient id="glowTL" cx="0%" cy="0%" r="60%">
50
- <stop offset="0%" style="stop-color:#ef4444" stop-opacity="0.07"/>
51
- <stop offset="100%" style="stop-color:#ef4444" stop-opacity="0"/>
52
- </radialGradient>
53
- <rect width="1200" height="675" fill="url(#glowTL)"/>
54
-
55
- <!-- Left border accent line -->
56
- <rect x="0" y="0" width="3" height="675" fill="url(#redGrad)"/>
57
-
58
- <!-- ============================================================ -->
59
- <!-- TOP BADGE -->
60
- <!-- ============================================================ -->
61
- <rect x="56" y="40" width="198" height="28" rx="4" fill="url(#badgeGrad)" stroke="#ef4444" stroke-opacity="0.5" stroke-width="1"/>
62
- <text x="66" y="59" font-size="11" font-weight="700" fill="#ef4444" letter-spacing="1.5">DEVIL MODE</text>
63
- <rect x="164" y="47" width="1" height="14" fill="#ef4444" opacity="0.4"/>
64
- <text x="172" y="59" font-size="11" font-weight="500" fill="#484f58" letter-spacing="0.5">v1.8.0</text>
65
-
66
- <!-- ============================================================ -->
67
- <!-- MAIN HEADLINE -->
68
- <!-- ============================================================ -->
69
- <text x="56" y="126" font-size="52" font-weight="900" letter-spacing="-2" fill="#ffffff">8 agents read your code</text>
70
- <text x="56" y="184" font-size="52" font-weight="900" letter-spacing="-2" fill="url(#redGrad)">like an attacker.</text>
71
-
72
- <!-- Subline -->
73
- <text x="56" y="220" font-size="16" font-weight="400" fill="#8b949e" letter-spacing="0.2">Prompt injection. Supply chain. Secrets. Backdoors. Jailbreaks. All parallel.</text>
74
-
75
- <!-- Separator line -->
76
- <rect x="56" y="242" width="500" height="1" fill="url(#accentLine)"/>
77
-
78
- <!-- ============================================================ -->
79
- <!-- TERMINAL BLOCK — left panel -->
80
- <!-- ============================================================ -->
81
- <rect x="56" y="258" width="680" height="348" rx="8" fill="url(#termBg)" stroke="#1e1e2e" stroke-width="1"/>
82
- <!-- Terminal top bar -->
83
- <rect x="56" y="258" width="680" height="32" rx="8" fill="#0f0f1a"/>
84
- <rect x="56" y="278" width="680" height="12" fill="#0f0f1a"/>
85
- <!-- Traffic lights -->
86
- <circle cx="80" cy="274" r="5" fill="#2d1b1b"/>
87
- <circle cx="98" cy="274" r="5" fill="#2a1a10"/>
88
- <circle cx="116" cy="274" r="5" fill="#0f1a10"/>
89
- <!-- Terminal title -->
90
- <text x="600" y="279" font-size="11" fill="#484f58" text-anchor="middle" font-family="'Consolas', 'SF Mono', monospace">bash — devil-mode</text>
91
-
92
- <!-- Command line -->
93
- <text x="80" y="314" font-size="13" font-family="'Consolas', 'SF Mono', 'Courier New', monospace" fill="#ef4444" font-weight="700">/devil-mode --all</text>
94
-
95
- <!-- Agent rows — each row: arrow + name + progress bar + status label -->
96
- <!-- Row 1: prompt-injection-hunter CRITICAL: 2 -->
97
- <text x="80" y="343" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#484f58">&#x2192;</text>
98
- <text x="100" y="343" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#e6edf3">prompt-injection-hunter</text>
99
- <rect x="330" y="331" width="186" height="9" rx="2" fill="#1a1a2a"/>
100
- <rect x="330" y="331" width="186" height="9" rx="2" fill="url(#barCrit)"/>
101
- <text x="526" y="342" font-size="11" font-family="'Consolas', 'SF Mono', monospace" fill="#ef4444" font-weight="700"> CRITICAL: 2</text>
102
-
103
- <!-- Row 2: supply-chain-auditor HIGH: 1 -->
104
- <text x="80" y="368" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#484f58">&#x2192;</text>
105
- <text x="100" y="368" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#e6edf3">supply-chain-auditor</text>
106
- <rect x="330" y="356" width="186" height="9" rx="2" fill="#1a1a2a"/>
107
- <rect x="330" y="356" width="186" height="9" rx="2" fill="url(#barHigh)"/>
108
- <text x="526" y="367" font-size="11" font-family="'Consolas', 'SF Mono', monospace" fill="#f97316" font-weight="700"> HIGH: 1</text>
109
-
110
- <!-- Row 3: secret-hunter CLEAR -->
111
- <text x="80" y="393" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#484f58">&#x2192;</text>
112
- <text x="100" y="393" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#e6edf3">secret-hunter</text>
113
- <rect x="330" y="381" width="186" height="9" rx="2" fill="#1a1a2a"/>
114
- <rect x="330" y="381" width="186" height="9" rx="2" fill="url(#barClear)"/>
115
- <text x="526" y="392" font-size="11" font-family="'Consolas', 'SF Mono', monospace" fill="#22c55e" font-weight="700"> CLEAR</text>
116
-
117
- <!-- Row 4: backdoor-hunter CLEAR -->
118
- <text x="80" y="418" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#484f58">&#x2192;</text>
119
- <text x="100" y="418" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#e6edf3">backdoor-hunter</text>
120
- <rect x="330" y="406" width="186" height="9" rx="2" fill="#1a1a2a"/>
121
- <rect x="330" y="406" width="186" height="9" rx="2" fill="url(#barClear)"/>
122
- <text x="526" y="417" font-size="11" font-family="'Consolas', 'SF Mono', monospace" fill="#22c55e" font-weight="700"> CLEAR</text>
123
-
124
- <!-- Row 5: jailbreak-tester HIGH: 1 -->
125
- <text x="80" y="443" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#484f58">&#x2192;</text>
126
- <text x="100" y="443" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#e6edf3">jailbreak-tester</text>
127
- <rect x="330" y="431" width="186" height="9" rx="2" fill="#1a1a2a"/>
128
- <rect x="330" y="431" width="186" height="9" rx="2" fill="url(#barHigh)"/>
129
- <text x="526" y="442" font-size="11" font-family="'Consolas', 'SF Mono', monospace" fill="#f97316" font-weight="700"> HIGH: 1</text>
130
-
131
- <!-- Row 6: license-violation-finder CLEAR -->
132
- <text x="80" y="468" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#484f58">&#x2192;</text>
133
- <text x="100" y="468" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#e6edf3">license-violation-finder</text>
134
- <rect x="330" y="456" width="186" height="9" rx="2" fill="#1a1a2a"/>
135
- <rect x="330" y="456" width="186" height="9" rx="2" fill="url(#barClear)"/>
136
- <text x="526" y="467" font-size="11" font-family="'Consolas', 'SF Mono', monospace" fill="#22c55e" font-weight="700"> CLEAR</text>
137
-
138
- <!-- Row 7: code-stealer-detector CLEAR -->
139
- <text x="80" y="493" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#484f58">&#x2192;</text>
140
- <text x="100" y="493" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#e6edf3">code-stealer-detector</text>
141
- <rect x="330" y="481" width="186" height="9" rx="2" fill="#1a1a2a"/>
142
- <rect x="330" y="481" width="186" height="9" rx="2" fill="url(#barClear)"/>
143
- <text x="526" y="492" font-size="11" font-family="'Consolas', 'SF Mono', monospace" fill="#22c55e" font-weight="700"> CLEAR</text>
144
-
145
- <!-- Row 8: chaos-engineer HIGH: 3 -->
146
- <text x="80" y="518" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#484f58">&#x2192;</text>
147
- <text x="100" y="518" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#e6edf3">chaos-engineer</text>
148
- <rect x="330" y="506" width="186" height="9" rx="2" fill="#1a1a2a"/>
149
- <rect x="330" y="506" width="186" height="9" rx="2" fill="url(#barHigh)"/>
150
- <text x="526" y="517" font-size="11" font-family="'Consolas', 'SF Mono', monospace" fill="#f97316" font-weight="700"> HIGH: 3</text>
151
-
152
- <!-- Summary line -->
153
- <line x1="80" y1="536" x2="710" y2="536" stroke="#1e1e2e" stroke-width="1"/>
154
- <text x="80" y="556" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#484f58">60 min</text>
155
- <text x="138" y="556" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#ef4444" font-weight="700">&#x2192;</text>
156
- <text x="158" y="556" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#22c55e" font-weight="700">8 min</text>
157
- <text x="214" y="556" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#484f58"> &#xB7; 3 issues need your attention</text>
158
-
159
- <!-- ============================================================ -->
160
- <!-- RIGHT PANEL — stats / context -->
161
- <!-- ============================================================ -->
162
-
163
- <!-- Stat box 1: Agents -->
164
- <rect x="768" y="258" width="392" height="100" rx="8" fill="#0c0c16" stroke="#1e1a28" stroke-width="1"/>
165
- <rect x="768" y="258" width="3" height="100" rx="1" fill="url(#redGrad)"/>
166
- <text x="788" y="292" font-size="40" font-weight="900" fill="#ef4444" letter-spacing="-1">8</text>
167
- <text x="836" y="292" font-size="15" font-weight="700" fill="#e6edf3">adversarial agents</text>
168
- <text x="836" y="314" font-size="12" fill="#484f58">firing simultaneously in parallel</text>
169
- <text x="836" y="332" font-size="12" fill="#484f58">— no sequential bottleneck</text>
170
-
171
- <!-- Stat box 2: Time -->
172
- <rect x="768" y="374" width="392" height="100" rx="8" fill="#0c0c16" stroke="#1e1a28" stroke-width="1"/>
173
- <rect x="768" y="374" width="3" height="100" rx="1" fill="url(#redGrad)"/>
174
- <text x="788" y="408" font-size="40" font-weight="900" fill="#ef4444" letter-spacing="-1">7x</text>
175
- <text x="850" y="408" font-size="15" font-weight="700" fill="#e6edf3">faster than sequential</text>
176
- <text x="788" y="430" font-size="12" fill="#484f58">8 min full adversarial sweep</text>
177
- <text x="788" y="448" font-size="12" fill="#484f58">vs. 60 min doing each by hand</text>
178
-
179
- <!-- Stat box 3: Coverage -->
180
- <rect x="768" y="490" width="392" height="116" rx="8" fill="#0c0c16" stroke="#1e1a28" stroke-width="1"/>
181
- <rect x="768" y="490" width="3" height="116" rx="1" fill="url(#redGrad)"/>
182
- <text x="788" y="520" font-size="13" font-weight="700" fill="#e6edf3">Attack surface covered</text>
183
- <!-- Tag pills -->
184
- <rect x="788" y="530" width="78" height="20" rx="3" fill="#2d0a0a" stroke="#ef4444" stroke-opacity="0.35" stroke-width="1"/>
185
- <text x="796" y="544" font-size="10" fill="#ef4444">AI injection</text>
186
-
187
- <rect x="874" y="530" width="92" height="20" rx="3" fill="#2d0a0a" stroke="#ef4444" stroke-opacity="0.35" stroke-width="1"/>
188
- <text x="882" y="544" font-size="10" fill="#ef4444">supply chain</text>
189
-
190
- <rect x="974" y="530" width="62" height="20" rx="3" fill="#2d0a0a" stroke="#ef4444" stroke-opacity="0.35" stroke-width="1"/>
191
- <text x="982" y="544" font-size="10" fill="#ef4444">secrets</text>
192
-
193
- <rect x="788" y="558" width="72" height="20" rx="3" fill="#2d0a0a" stroke="#ef4444" stroke-opacity="0.35" stroke-width="1"/>
194
- <text x="796" y="572" font-size="10" fill="#ef4444">backdoors</text>
195
-
196
- <rect x="868" y="558" width="80" height="20" rx="3" fill="#2d0a0a" stroke="#ef4444" stroke-opacity="0.35" stroke-width="1"/>
197
- <text x="876" y="572" font-size="10" fill="#ef4444">jailbreaks</text>
198
-
199
- <rect x="956" y="558" width="60" height="20" rx="3" fill="#2d0a0a" stroke="#ef4444" stroke-opacity="0.35" stroke-width="1"/>
200
- <text x="964" y="572" font-size="10" fill="#ef4444">licenses</text>
201
-
202
- <rect x="788" y="586" width="94" height="20" rx="3" fill="#2d0a0a" stroke="#ef4444" stroke-opacity="0.35" stroke-width="1"/>
203
- <text x="796" y="600" font-size="10" fill="#ef4444">code provenance</text>
204
-
205
- <rect x="890" y="586" width="56" height="20" rx="3" fill="#2d0a0a" stroke="#ef4444" stroke-opacity="0.35" stroke-width="1"/>
206
- <text x="898" y="600" font-size="10" fill="#ef4444">chaos</text>
207
-
208
- <!-- ============================================================ -->
209
- <!-- BOTTOM BAR -->
210
- <!-- ============================================================ -->
211
- <rect x="0" y="629" width="1200" height="38" fill="#07080f"/>
212
- <line x1="0" y1="629" x2="1200" y2="629" stroke="#1e1e2e" stroke-width="1"/>
213
-
214
- <!-- Left: npx install command -->
215
- <text x="56" y="653" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#ef4444" font-weight="600">npx kodelyth-ecc</text>
216
-
217
- <!-- Dot separator -->
218
- <text x="206" y="653" font-size="12" fill="#2d3340">&#xB7;</text>
219
-
220
- <!-- GitHub URL -->
221
- <text x="222" y="653" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#484f58">github.com/sifxprime/kodelyth-ecc</text>
222
-
223
- <!-- Dot separator -->
224
- <text x="562" y="653" font-size="12" fill="#2d3340">&#xB7;</text>
225
-
226
- <!-- MIT license -->
227
- <text x="578" y="653" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#484f58">MIT</text>
228
-
229
- <!-- Ghost Depth Mark — brand stamp (scale 0.55×) -->
230
- <g transform="translate(1044, 282) scale(0.55)" opacity="0.16">
231
- <polyline points="-44,4 12,100 -44,196"
232
- stroke="#ffffff" stroke-width="10"
233
- stroke-linecap="round" stroke-linejoin="round"
234
- fill="none"/>
235
- <polyline points="0,0 88,100 0,200"
236
- stroke="#ffffff" stroke-width="32"
237
- stroke-linecap="round" stroke-linejoin="round"
238
- fill="none"/>
239
- </g>
240
- </svg>
@@ -1,148 +0,0 @@
1
- <svg width="1200" height="675" viewBox="0 0 1200 675" 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:#06080e"/>
6
- </linearGradient>
7
- <linearGradient id="purple" x1="0%" y1="0%" x2="100%" y2="0%">
8
- <stop offset="0%" style="stop-color:#a78bfa"/>
9
- <stop offset="100%" style="stop-color:#7c3aed"/>
10
- </linearGradient>
11
- <linearGradient id="blue" x1="0%" y1="0%" x2="100%" y2="0%">
12
- <stop offset="0%" style="stop-color:#38bdf8"/>
13
- <stop offset="100%" style="stop-color:#0284c7"/>
14
- </linearGradient>
15
- <linearGradient id="termBg" x1="0%" y1="0%" x2="0%" y2="100%">
16
- <stop offset="0%" style="stop-color:#0b0c16"/>
17
- <stop offset="100%" style="stop-color:#080810"/>
18
- </linearGradient>
19
- <linearGradient id="accentFade" x1="0%" y1="0%" x2="100%" y2="0%">
20
- <stop offset="0%" style="stop-color:#a78bfa" stop-opacity="0.8"/>
21
- <stop offset="100%" style="stop-color:#a78bfa" stop-opacity="0"/>
22
- </linearGradient>
23
- <linearGradient id="connLine" x1="0%" y1="50%" x2="100%" y2="50%">
24
- <stop offset="0%" style="stop-color:#a78bfa" stop-opacity="0.6"/>
25
- <stop offset="100%" style="stop-color:#38bdf8" stop-opacity="0.3"/>
26
- </linearGradient>
27
- </defs>
28
-
29
- <rect width="1200" height="675" fill="url(#bg)"/>
30
- <radialGradient id="glowP" cx="20%" cy="20%" r="55%">
31
- <stop offset="0%" style="stop-color:#a78bfa" stop-opacity="0.05"/>
32
- <stop offset="100%" style="stop-color:#a78bfa" stop-opacity="0"/>
33
- </radialGradient>
34
- <rect width="1200" height="675" fill="url(#glowP)"/>
35
- <rect x="0" y="0" width="3" height="675" fill="url(#purple)"/>
36
-
37
- <!-- Badge -->
38
- <rect x="56" y="40" width="168" height="28" rx="4" fill="#120a28" stroke="#a78bfa" stroke-opacity="0.5" stroke-width="1"/>
39
- <text x="66" y="59" font-size="11" font-weight="700" fill="#a78bfa" letter-spacing="1.5">MCP SERVER</text>
40
- <rect x="168" y="47" width="1" height="14" fill="#a78bfa" opacity="0.4"/>
41
- <text x="176" y="59" font-size="11" font-weight="500" fill="#484f58">v1.8.0</text>
42
-
43
- <!-- Headline -->
44
- <text x="56" y="126" font-size="52" font-weight="900" letter-spacing="-2" fill="#ffffff">One server.</text>
45
- <text x="56" y="184" font-size="52" font-weight="900" letter-spacing="-2" fill="url(#purple)">Every AI framework.</text>
46
- <text x="56" y="222" font-size="16" fill="#8b949e">16 tools · 6 prompts · 377 resources. Runs locally. Bridges any MCP client.</text>
47
-
48
- <rect x="56" y="244" width="460" height="1" fill="url(#accentFade)"/>
49
-
50
- <!-- Terminal block -->
51
- <rect x="56" y="260" width="540" height="280" rx="8" fill="url(#termBg)" stroke="#1a1a2e" stroke-width="1"/>
52
- <rect x="56" y="260" width="540" height="32" rx="8" fill="#0f0f1a"/>
53
- <rect x="56" y="280" width="540" height="12" fill="#0f0f1a"/>
54
- <circle cx="80" cy="276" r="5" fill="#1a1020"/>
55
- <circle cx="98" cy="276" r="5" fill="#14100a"/>
56
- <circle cx="116" cy="276" r="5" fill="#0f1a10"/>
57
- <text x="456" y="281" font-size="11" fill="#484f58" text-anchor="middle" font-family="'Consolas', 'SF Mono', monospace">bash — mcp server</text>
58
-
59
- <!-- Command -->
60
- <text x="80" y="316" font-size="13" font-family="'Consolas', 'SF Mono', monospace" fill="#a78bfa" font-weight="700">npx kodelyth-ecc mcp</text>
61
-
62
- <text x="80" y="344" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#484f58">[INFO] Starting MCP server...</text>
63
- <text x="80" y="364" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#484f58">[INFO] Listening on stdio (JSON-RPC 2.0)</text>
64
- <text x="80" y="384" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#10b981">[INFO] Tools registered:</text>
65
- <text x="100" y="404" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#a78bfa">agent_invoke, memory_search, skill_load</text>
66
- <text x="100" y="422" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#a78bfa">swarm_run, cost_route, session_analyze</text>
67
- <text x="100" y="440" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#484f58">+ 10 more tools</text>
68
- <text x="80" y="464" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#10b981">[INFO] Resources:</text>
69
- <text x="100" y="484" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#38bdf8">377 resources (agents + skills + commands)</text>
70
- <text x="80" y="508" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#10b981" font-weight="600">[READY] Server ready. Connect your MCP client.</text>
71
-
72
- <!-- Right panel — connection diagram -->
73
- <!-- Center node: ECC MCP -->
74
- <rect x="748" y="340" width="200" height="64" rx="8" fill="#120a28" stroke="#a78bfa" stroke-opacity="0.7" stroke-width="1.5"/>
75
- <text x="848" y="366" font-size="13" font-weight="700" fill="#a78bfa" text-anchor="middle">Kodelyth ECC</text>
76
- <text x="848" y="384" font-size="11" fill="#484f58" text-anchor="middle">MCP Server</text>
77
- <text x="848" y="398" font-size="10" fill="#2d2040" text-anchor="middle">16 tools · 6 prompts · 377 res</text>
78
-
79
- <!-- Connection lines from center to clients -->
80
- <line x1="748" y1="358" x2="660" y2="290" stroke="#a78bfa" stroke-opacity="0.3" stroke-width="1" stroke-dasharray="4,3"/>
81
- <line x1="748" y1="372" x2="660" y2="440" stroke="#a78bfa" stroke-opacity="0.3" stroke-width="1" stroke-dasharray="4,3"/>
82
- <line x1="948" y1="358" x2="1044" y2="290" stroke="#38bdf8" stroke-opacity="0.3" stroke-width="1" stroke-dasharray="4,3"/>
83
- <line x1="948" y1="372" x2="1044" y2="440" stroke="#38bdf8" stroke-opacity="0.3" stroke-width="1" stroke-dasharray="4,3"/>
84
- <line x1="848" y1="340" x2="848" y2="272" stroke="#a78bfa" stroke-opacity="0.3" stroke-width="1" stroke-dasharray="4,3"/>
85
- <line x1="848" y1="404" x2="848" y2="472" stroke="#38bdf8" stroke-opacity="0.3" stroke-width="1" stroke-dasharray="4,3"/>
86
-
87
- <!-- Client boxes -->
88
- <!-- Claude Desktop -->
89
- <rect x="604" y="256" width="148" height="50" rx="6" fill="#0d0d18" stroke="#21262d" stroke-width="1"/>
90
- <text x="678" y="279" font-size="11" font-weight="700" fill="#e6edf3" text-anchor="middle">Claude Desktop</text>
91
- <text x="678" y="296" font-size="10" fill="#484f58" text-anchor="middle">native MCP client</text>
92
-
93
- <!-- Claude Code -->
94
- <rect x="766" y="256" width="164" height="50" rx="6" fill="#0d0d18" stroke="#21262d" stroke-width="1"/>
95
- <text x="848" y="279" font-size="11" font-weight="700" fill="#e6edf3" text-anchor="middle">Claude Code</text>
96
- <text x="848" y="296" font-size="10" fill="#484f58" text-anchor="middle">CLI + IDE extension</text>
97
-
98
- <!-- LangGraph -->
99
- <rect x="960" y="256" width="148" height="50" rx="6" fill="#0d0d18" stroke="#21262d" stroke-width="1"/>
100
- <text x="1034" y="279" font-size="11" font-weight="700" fill="#e6edf3" text-anchor="middle">LangGraph</text>
101
- <text x="1034" y="296" font-size="10" fill="#484f58" text-anchor="middle">agent framework</text>
102
-
103
- <!-- AutoGen -->
104
- <rect x="604" y="422" width="148" height="50" rx="6" fill="#0d0d18" stroke="#21262d" stroke-width="1"/>
105
- <text x="678" y="445" font-size="11" font-weight="700" fill="#e6edf3" text-anchor="middle">AutoGen</text>
106
- <text x="678" y="462" font-size="10" fill="#484f58" text-anchor="middle">multi-agent</text>
107
-
108
- <!-- CrewAI -->
109
- <rect x="766" y="472" width="164" height="50" rx="6" fill="#0d0d18" stroke="#21262d" stroke-width="1"/>
110
- <text x="848" y="495" font-size="11" font-weight="700" fill="#e6edf3" text-anchor="middle">CrewAI</text>
111
- <text x="848" y="512" font-size="10" fill="#484f58" text-anchor="middle">crew orchestration</text>
112
-
113
- <!-- OpenAI Agents -->
114
- <rect x="960" y="422" width="148" height="50" rx="6" fill="#0d0d18" stroke="#21262d" stroke-width="1"/>
115
- <text x="1034" y="445" font-size="11" font-weight="700" fill="#e6edf3" text-anchor="middle">OpenAI Agents</text>
116
- <text x="1034" y="462" font-size="10" fill="#484f58" text-anchor="middle">SDK bridge</text>
117
-
118
- <!-- Stats row at bottom right -->
119
- <text x="770" y="565" font-size="32" font-weight="900" fill="#a78bfa">16</text>
120
- <text x="770" y="582" font-size="10" fill="#484f58" letter-spacing="1">TOOLS</text>
121
-
122
- <text x="880" y="565" font-size="32" font-weight="900" fill="#38bdf8">6</text>
123
- <text x="880" y="582" font-size="10" fill="#484f58" letter-spacing="1">PROMPTS</text>
124
-
125
- <text x="980" y="565" font-size="32" font-weight="900" fill="#10b981">377</text>
126
- <text x="980" y="582" font-size="10" fill="#484f58" letter-spacing="1">RESOURCES</text>
127
-
128
- <!-- Bottom bar -->
129
- <rect x="0" y="629" width="1200" height="38" fill="#07080f"/>
130
- <line x1="0" y1="629" x2="1200" y2="629" stroke="#1e1e2e" stroke-width="1"/>
131
- <text x="56" y="653" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#a78bfa" font-weight="600">npx kodelyth-ecc mcp</text>
132
- <text x="240" y="653" font-size="12" fill="#2d3340">&#xB7;</text>
133
- <text x="256" y="653" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#484f58">github.com/sifxprime/kodelyth-ecc</text>
134
- <text x="596" y="653" font-size="12" fill="#2d3340">&#xB7;</text>
135
- <text x="612" y="653" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#484f58">localhost only · zero telemetry</text>
136
-
137
- <!-- Ghost Depth Mark — brand stamp (scale 0.55×) -->
138
- <g transform="translate(1044, 282) scale(0.55)" opacity="0.16">
139
- <polyline points="-44,4 12,100 -44,196"
140
- stroke="#ffffff" stroke-width="10"
141
- stroke-linecap="round" stroke-linejoin="round"
142
- fill="none"/>
143
- <polyline points="0,0 88,100 0,200"
144
- stroke="#ffffff" stroke-width="32"
145
- stroke-linecap="round" stroke-linejoin="round"
146
- fill="none"/>
147
- </g>
148
- </svg>
@@ -1,162 +0,0 @@
1
- <svg width="1200" height="675" viewBox="0 0 1200 675" 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:#0d0a03"/>
6
- </linearGradient>
7
- <linearGradient id="amber" x1="0%" y1="0%" x2="100%" y2="0%">
8
- <stop offset="0%" style="stop-color:#f59e0b"/>
9
- <stop offset="100%" style="stop-color:#d97706"/>
10
- </linearGradient>
11
- <linearGradient id="termBg" x1="0%" y1="0%" x2="0%" y2="100%">
12
- <stop offset="0%" style="stop-color:#0c0c10"/>
13
- <stop offset="100%" style="stop-color:#080810"/>
14
- </linearGradient>
15
- <linearGradient id="slowBar" x1="0%" y1="0%" x2="100%" y2="0%">
16
- <stop offset="0%" style="stop-color:#374151"/>
17
- <stop offset="100%" style="stop-color:#1f2937"/>
18
- </linearGradient>
19
- <linearGradient id="fastBar" x1="0%" y1="0%" x2="100%" y2="0%">
20
- <stop offset="0%" style="stop-color:#f59e0b"/>
21
- <stop offset="100%" style="stop-color:#10b981"/>
22
- </linearGradient>
23
- <linearGradient id="accentFade" x1="0%" y1="0%" x2="100%" y2="0%">
24
- <stop offset="0%" style="stop-color:#f59e0b" stop-opacity="0.8"/>
25
- <stop offset="100%" style="stop-color:#f59e0b" stop-opacity="0"/>
26
- </linearGradient>
27
- </defs>
28
-
29
- <rect width="1200" height="675" fill="url(#bg)"/>
30
- <!-- Ambient glow -->
31
- <radialGradient id="glowA" cx="15%" cy="15%" r="50%">
32
- <stop offset="0%" style="stop-color:#f59e0b" stop-opacity="0.05"/>
33
- <stop offset="100%" style="stop-color:#f59e0b" stop-opacity="0"/>
34
- </radialGradient>
35
- <rect width="1200" height="675" fill="url(#glowA)"/>
36
- <!-- Left border -->
37
- <rect x="0" y="0" width="3" height="675" fill="url(#amber)"/>
38
-
39
- <!-- Badge -->
40
- <rect x="56" y="40" width="200" height="28" rx="4" fill="#1a1200" stroke="#f59e0b" stroke-opacity="0.5" stroke-width="1"/>
41
- <text x="66" y="59" font-size="11" font-weight="700" fill="#f59e0b" letter-spacing="1.5">PARALLEL AGENTS</text>
42
- <rect x="198" y="47" width="1" height="14" fill="#f59e0b" opacity="0.4"/>
43
- <text x="206" y="59" font-size="11" font-weight="500" fill="#484f58">v1.8.0</text>
44
-
45
- <!-- Headline -->
46
- <text x="56" y="126" font-size="52" font-weight="900" letter-spacing="-2" fill="#ffffff">4 specialists, 15 minutes.</text>
47
- <text x="56" y="184" font-size="52" font-weight="900" letter-spacing="-2" fill="url(#amber)">Not 60.</text>
48
- <text x="56" y="222" font-size="16" fill="#8b949e">Fire code, security, performance, and API reviewers simultaneously with /team-review.</text>
49
-
50
- <rect x="56" y="244" width="480" height="1" fill="url(#accentFade)"/>
51
-
52
- <!-- Terminal block -->
53
- <rect x="56" y="260" width="660" height="330" rx="8" fill="url(#termBg)" stroke="#1e1e2e" stroke-width="1"/>
54
- <rect x="56" y="260" width="660" height="32" rx="8" fill="#0f0f18"/>
55
- <rect x="56" y="280" width="660" height="12" fill="#0f0f18"/>
56
- <circle cx="80" cy="276" r="5" fill="#1a1a10"/>
57
- <circle cx="98" cy="276" r="5" fill="#1a1208"/>
58
- <circle cx="116" cy="276" r="5" fill="#0f1a10"/>
59
- <text x="576" y="281" font-size="11" fill="#484f58" text-anchor="middle" font-family="'Consolas', 'SF Mono', monospace">bash — /team-review</text>
60
-
61
- <!-- Command -->
62
- <text x="80" y="316" font-size="13" font-family="'Consolas', 'SF Mono', monospace" fill="#f59e0b" font-weight="700">/team-review</text>
63
- <text x="222" y="316" font-size="13" font-family="'Consolas', 'SF Mono', monospace" fill="#484f58"> # spawning 4 agents in parallel</text>
64
-
65
- <!-- Agent launch rows -->
66
- <text x="80" y="346" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#484f58">&#x2192;</text>
67
- <text x="100" y="346" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#e6edf3">code-reviewer</text>
68
- <text x="290" y="346" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#484f58">launching...</text>
69
- <rect x="404" y="336" width="80" height="8" rx="2" fill="#1a2010"/>
70
- <rect x="404" y="336" width="80" height="8" rx="2" fill="#10b981" opacity="0.8"/>
71
- <text x="494" y="346" font-size="11" font-family="'Consolas', 'SF Mono', monospace" fill="#10b981"> running</text>
72
-
73
- <text x="80" y="372" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#484f58">&#x2192;</text>
74
- <text x="100" y="372" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#e6edf3">security-reviewer</text>
75
- <text x="290" y="372" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#484f58">launching...</text>
76
- <rect x="404" y="362" width="80" height="8" rx="2" fill="#1a2010"/>
77
- <rect x="404" y="362" width="80" height="8" rx="2" fill="#10b981" opacity="0.8"/>
78
- <text x="494" y="372" font-size="11" font-family="'Consolas', 'SF Mono', monospace" fill="#10b981"> running</text>
79
-
80
- <text x="80" y="398" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#484f58">&#x2192;</text>
81
- <text x="100" y="398" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#e6edf3">performance-optimizer</text>
82
- <text x="340" y="398" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#484f58">launching...</text>
83
- <rect x="454" y="388" width="80" height="8" rx="2" fill="#1a2010"/>
84
- <rect x="454" y="388" width="80" height="8" rx="2" fill="#10b981" opacity="0.8"/>
85
- <text x="544" y="398" font-size="11" font-family="'Consolas', 'SF Mono', monospace" fill="#10b981"> running</text>
86
-
87
- <text x="80" y="424" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#484f58">&#x2192;</text>
88
- <text x="100" y="424" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#e6edf3">api-guardian</text>
89
- <text x="256" y="424" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#484f58">launching...</text>
90
- <rect x="404" y="414" width="80" height="8" rx="2" fill="#1a2010"/>
91
- <rect x="404" y="414" width="80" height="8" rx="2" fill="#10b981" opacity="0.8"/>
92
- <text x="494" y="424" font-size="11" font-family="'Consolas', 'SF Mono', monospace" fill="#10b981"> running</text>
93
-
94
- <!-- Done line -->
95
- <line x1="80" y1="442" x2="690" y2="442" stroke="#1e1e2e" stroke-width="1"/>
96
- <text x="80" y="462" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#484f58">all 4 agents running</text>
97
- <text x="264" y="462" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#f59e0b" font-weight="700"> simultaneously</text>
98
- <text x="80" y="484" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#484f58">report ready in ~15 min (was 60 min sequential)</text>
99
-
100
- <!-- Time comparison visual -->
101
- <text x="80" y="534" font-size="11" fill="#484f58" font-weight="700" letter-spacing="1">SEQUENTIAL</text>
102
- <rect x="80" y="542" width="540" height="14" rx="3" fill="url(#slowBar)"/>
103
- <text x="628" y="554" font-size="11" fill="#6e7681" font-family="'Consolas', 'SF Mono', monospace">60 min</text>
104
-
105
- <text x="80" y="576" font-size="11" fill="#f59e0b" font-weight="700" letter-spacing="1">PARALLEL</text>
106
- <rect x="80" y="584" width="135" height="14" rx="3" fill="url(#fastBar)"/>
107
- <text x="224" y="596" font-size="11" fill="#10b981" font-family="'Consolas', 'SF Mono', monospace">15 min</text>
108
-
109
- <!-- Right panel -->
110
- <!-- Card 1 -->
111
- <rect x="748" y="260" width="400" height="90" rx="8" fill="#0d0d16" stroke="#1e2030" stroke-width="1"/>
112
- <rect x="748" y="260" width="3" height="90" rx="1" fill="url(#amber)"/>
113
- <text x="770" y="288" font-size="11" font-weight="700" fill="#f59e0b" letter-spacing="1">CODE QUALITY</text>
114
- <text x="770" y="308" font-size="13" fill="#8b949e">Patterns, dead code, naming,</text>
115
- <text x="770" y="326" font-size="13" fill="#8b949e">complexity, maintainability</text>
116
- <text x="770" y="342" font-size="11" fill="#484f58">code-reviewer agent</text>
117
-
118
- <!-- Card 2 -->
119
- <rect x="748" y="366" width="400" height="90" rx="8" fill="#0d0d16" stroke="#1e2030" stroke-width="1"/>
120
- <rect x="748" y="366" width="3" height="90" rx="1" fill="#ef4444"/>
121
- <text x="770" y="394" font-size="11" font-weight="700" fill="#ef4444" letter-spacing="1">SECURITY</text>
122
- <text x="770" y="414" font-size="13" fill="#8b949e">OWASP Top 10, secrets, injection,</text>
123
- <text x="770" y="432" font-size="13" fill="#8b949e">auth gaps, CVEs in deps</text>
124
- <text x="770" y="448" font-size="11" fill="#484f58">security-reviewer agent</text>
125
-
126
- <!-- Card 3 -->
127
- <rect x="748" y="472" width="192" height="90" rx="8" fill="#0d0d16" stroke="#1e2030" stroke-width="1"/>
128
- <rect x="748" y="472" width="3" height="90" rx="1" fill="#38bdf8"/>
129
- <text x="770" y="498" font-size="11" font-weight="700" fill="#38bdf8" letter-spacing="1">PERFORMANCE</text>
130
- <text x="770" y="518" font-size="12" fill="#8b949e">N+1, memory,</text>
131
- <text x="770" y="536" font-size="12" fill="#8b949e">bundle, slow queries</text>
132
- <text x="770" y="554" font-size="11" fill="#484f58">perf-optimizer</text>
133
-
134
- <!-- Card 4 -->
135
- <rect x="956" y="472" width="192" height="90" rx="8" fill="#0d0d16" stroke="#1e2030" stroke-width="1"/>
136
- <rect x="956" y="472" width="3" height="90" rx="1" fill="#a78bfa"/>
137
- <text x="978" y="498" font-size="11" font-weight="700" fill="#a78bfa" letter-spacing="1">API CONTRACTS</text>
138
- <text x="978" y="518" font-size="12" fill="#8b949e">Breaking changes,</text>
139
- <text x="978" y="536" font-size="12" fill="#8b949e">contract drift</text>
140
- <text x="978" y="554" font-size="11" fill="#484f58">api-guardian</text>
141
-
142
- <!-- Bottom bar -->
143
- <rect x="0" y="629" width="1200" height="38" fill="#07080f"/>
144
- <line x1="0" y1="629" x2="1200" y2="629" stroke="#1e1e2e" stroke-width="1"/>
145
- <text x="56" y="653" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#f59e0b" font-weight="600">npx kodelyth-ecc</text>
146
- <text x="206" y="653" font-size="12" fill="#2d3340">&#xB7;</text>
147
- <text x="222" y="653" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#484f58">github.com/sifxprime/kodelyth-ecc</text>
148
- <text x="562" y="653" font-size="12" fill="#2d3340">&#xB7;</text>
149
- <text x="578" y="653" font-size="12" font-family="'Consolas', 'SF Mono', monospace" fill="#484f58">MIT · free forever</text>
150
-
151
- <!-- Ghost Depth Mark — brand stamp (scale 0.55×) -->
152
- <g transform="translate(1044, 282) scale(0.55)" opacity="0.16">
153
- <polyline points="-44,4 12,100 -44,196"
154
- stroke="#ffffff" stroke-width="10"
155
- stroke-linecap="round" stroke-linejoin="round"
156
- fill="none"/>
157
- <polyline points="0,0 88,100 0,200"
158
- stroke="#ffffff" stroke-width="32"
159
- stroke-linecap="round" stroke-linejoin="round"
160
- fill="none"/>
161
- </g>
162
- </svg>