kodelyth-ecc 1.7.4 → 1.7.5
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 +4 -0
- package/README.md +6 -2
- package/VERSION +1 -1
- package/brand/concepts.svg +109 -0
- package/brand/convert.js +161 -0
- package/brand/favicon.svg +7 -0
- package/brand/fb-cover.svg +34 -0
- package/brand/fb-profile.svg +21 -0
- package/brand/kodelyth-dark.svg +24 -0
- package/brand/kodelyth-light.svg +24 -0
- package/brand/kodelyth-mark.svg +20 -0
- package/brand/package.json +12 -0
- package/bundles/enterprise.md +1 -1
- package/bundles/indie-hacker.md +1 -1
- package/bundles/red-team.md +1 -1
- package/package.json +1 -1
- package/scripts/dashboard/data.js +1 -1
- package/scripts/dashboard/server.js +1 -1
- package/social/card-agents.svg +12 -0
- package/social/card-install.svg +13 -1
- package/social/card-main.svg +13 -1
- package/social/facebook-v150.svg +17 -4
- package/social/github-social-preview.svg +51 -138
- package/social/hype-compound-learning.svg +13 -1
- package/social/hype-devil-mode.svg +13 -1
- package/social/hype-mcp-server.svg +13 -1
- package/social/hype-parallel-agents.svg +13 -1
- package/social/hype-stats-hero.svg +13 -1
- package/social/og-image.svg +65 -0
- package/social/readme-agents.svg +14 -2
- package/social/readme-hero.svg +17 -4
- package/social/section-agents.svg +12 -0
- package/social/section-author.svg +12 -0
- package/social/section-dashboard.svg +12 -0
- package/social/section-devil.svg +12 -0
- package/social/section-hooks.svg +12 -0
- package/social/section-install.svg +12 -0
- package/social/section-learning.svg +12 -0
- package/social/section-mcp.svg +13 -1
- package/social/section-memory.svg +12 -0
- package/social/section-parallel.svg +12 -0
- package/social/section-routing.svg +12 -0
- package/social/twitter-threads.md +1 -1
- package/social/x-card-agents-grid.svg +14 -2
- package/social/x-card-free.svg +14 -2
- package/social/x-card-hook.svg +17 -5
- package/wiki/FAQ.md +1 -1
- package/wiki/Home.md +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to Kodelyth ECC are documented here.
|
|
4
4
|
|
|
5
|
+
## v1.7.5 — Brand identity + visual adjustments (May 2026)
|
|
6
|
+
|
|
7
|
+
Normal maintenance release. Ghost Depth mark applied across all social assets, favicon added, og-image added for kodelyth.com.
|
|
8
|
+
|
|
5
9
|
## v1.7.4 — Real-time IDE-aware dashboard + cross-IDE memory protocol (May 2026)
|
|
6
10
|
|
|
7
11
|
The dashboard now sees what every IDE on the machine is doing in real time, not just Claude Code. Memory continuity across IDEs is documented and operationalised through the universal `memory-protocol.md` rule and the existing MCP tool surface.
|
package/README.md
CHANGED
|
@@ -545,6 +545,10 @@ Project: **my-app**
|
|
|
545
545
|
<img src="social/section-agents.svg" alt="70 specialist agents — one for every situation" width="900"/>
|
|
546
546
|
</div>
|
|
547
547
|
|
|
548
|
+
<div align="center">
|
|
549
|
+
<img src="social/readme-agents.svg" alt="70 specialist agents — agent grid preview" width="900"/>
|
|
550
|
+
</div>
|
|
551
|
+
|
|
548
552
|
### Kodelyth Exclusives — The 16 Agents That Make ECC
|
|
549
553
|
|
|
550
554
|
| Agent | One-line job |
|
|
@@ -785,7 +789,7 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for templates, checklists, and the full K
|
|
|
785
789
|
|
|
786
790
|
## Changelog
|
|
787
791
|
|
|
788
|
-
See [CHANGELOG.md](CHANGELOG.md). v1.7.
|
|
792
|
+
See [CHANGELOG.md](CHANGELOG.md). v1.7.5 highlights:
|
|
789
793
|
|
|
790
794
|
- **Real-time IDE-aware dashboard** — Sessions tab now surfaces live Claude Code / Windsurf / Windsurf-Next / Cursor / Antigravity activity; SSE poll 10 s → 3 s; new `/api/ide-sessions` endpoint
|
|
791
795
|
- **Cross-IDE memory protocol** — `rules/common/memory-protocol.md` now explicitly instructs non-Claude IDEs (Windsurf, Cursor, Codex, Antigravity) to call the `recall_memory` and `capture_memory` MCP tools proactively
|
|
@@ -802,7 +806,7 @@ v1.7.0 highlights:
|
|
|
802
806
|
- **MCP Server** — 16 tools, 6 prompts, 377 resources; stdio JSON-RPC; zero telemetry; works with Claude Desktop, LangGraph, AutoGen, CrewAI, OpenAI Agents SDK
|
|
803
807
|
- **Dashboard hardening** — DNS rebinding protection, shell injection fix (`execFileSync`), CSP on all responses, SSE client cap (max 10), TOCTOU fixes
|
|
804
808
|
- **Devil Mode** — 8 adversarial agents, `--pre-public` / `--pre-launch` / `--all` flags, real bash-grep patterns and remediation playbooks
|
|
805
|
-
- **336 tests** passing across 24 test files (now 348 at v1.7.
|
|
809
|
+
- **336 tests** passing across 24 test files (now 348 at v1.7.5)
|
|
806
810
|
|
|
807
811
|
v1.5.8 highlights:
|
|
808
812
|
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1.7.
|
|
1
|
+
1.7.5
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 920 400" width="920" height="400"
|
|
2
|
+
font-family="'Space Grotesk','Inter',system-ui,-apple-system,sans-serif">
|
|
3
|
+
|
|
4
|
+
<rect width="920" height="400" fill="#ffffff"/>
|
|
5
|
+
|
|
6
|
+
<!-- grid lines -->
|
|
7
|
+
<line x1="230" y1="0" x2="230" y2="400" stroke="#f1f5f9" stroke-width="1"/>
|
|
8
|
+
<line x1="460" y1="0" x2="460" y2="400" stroke="#f1f5f9" stroke-width="1"/>
|
|
9
|
+
<line x1="690" y1="0" x2="690" y2="400" stroke="#f1f5f9" stroke-width="1"/>
|
|
10
|
+
<line x1="0" y1="195" x2="920" y2="195" stroke="#f1f5f9" stroke-width="1"/>
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
<!-- ═══ ROW 1 ═══════════════════════════════════════════════════════════ -->
|
|
14
|
+
|
|
15
|
+
<!-- 01 · Stroke chevron — the baseline -->
|
|
16
|
+
<text x="115" y="26" font-size="9" font-weight="600" fill="#cbd5e1" text-anchor="middle" letter-spacing="3">01</text>
|
|
17
|
+
<g transform="translate(115,95)">
|
|
18
|
+
<polyline points="-16,-28 16,0 -16,28"
|
|
19
|
+
stroke="#0f172a" stroke-width="7.5"
|
|
20
|
+
stroke-linecap="round" stroke-linejoin="round" fill="none"/>
|
|
21
|
+
</g>
|
|
22
|
+
<text x="115" y="158" font-size="13" font-weight="700" fill="#0f172a" text-anchor="middle" letter-spacing="1.5">KODELYTH</text>
|
|
23
|
+
<text x="115" y="175" font-size="8.5" fill="#94a3b8" text-anchor="middle" letter-spacing="2.5">STROKE</text>
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
<!-- 02 · Filled chevron (open back) -->
|
|
27
|
+
<text x="345" y="26" font-size="9" font-weight="600" fill="#cbd5e1" text-anchor="middle" letter-spacing="3">02</text>
|
|
28
|
+
<g transform="translate(345,95)">
|
|
29
|
+
<polygon points="-14,-29 18,0 -14,29 -3,29 11,0 -3,-29" fill="#0f172a"/>
|
|
30
|
+
</g>
|
|
31
|
+
<text x="345" y="158" font-size="13" font-weight="700" fill="#0f172a" text-anchor="middle" letter-spacing="1.5">KODELYTH</text>
|
|
32
|
+
<text x="345" y="175" font-size="8.5" fill="#94a3b8" text-anchor="middle" letter-spacing="2.5">FILLED OPEN</text>
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
<!-- 03 · Filled triangle (closed back — most Vercel) -->
|
|
36
|
+
<text x="575" y="26" font-size="9" font-weight="600" fill="#cbd5e1" text-anchor="middle" letter-spacing="3">03</text>
|
|
37
|
+
<g transform="translate(575,95)">
|
|
38
|
+
<polygon points="-18,-28 20,0 -18,28" fill="#0f172a"/>
|
|
39
|
+
</g>
|
|
40
|
+
<text x="575" y="158" font-size="13" font-weight="700" fill="#0f172a" text-anchor="middle" letter-spacing="1.5">KODELYTH</text>
|
|
41
|
+
<text x="575" y="175" font-size="8.5" fill="#94a3b8" text-anchor="middle" letter-spacing="2.5">SOLID WEDGE</text>
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
<!-- 04 · Double chevron >> -->
|
|
45
|
+
<text x="805" y="26" font-size="9" font-weight="600" fill="#cbd5e1" text-anchor="middle" letter-spacing="3">04</text>
|
|
46
|
+
<g transform="translate(805,95)">
|
|
47
|
+
<polyline points="-22,-26 -2,0 -22,26"
|
|
48
|
+
stroke="#0f172a" stroke-width="5.5"
|
|
49
|
+
stroke-linecap="round" stroke-linejoin="round" fill="none"/>
|
|
50
|
+
<polyline points="-4,-26 16,0 -4,26"
|
|
51
|
+
stroke="#0f172a" stroke-width="5.5"
|
|
52
|
+
stroke-linecap="round" stroke-linejoin="round" fill="none"/>
|
|
53
|
+
</g>
|
|
54
|
+
<text x="805" y="158" font-size="13" font-weight="700" fill="#0f172a" text-anchor="middle" letter-spacing="1.5">KODELYTH</text>
|
|
55
|
+
<text x="805" y="175" font-size="8.5" fill="#94a3b8" text-anchor="middle" letter-spacing="2.5">DOUBLE</text>
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
<!-- ═══ ROW 2 ═══════════════════════════════════════════════════════════ -->
|
|
59
|
+
|
|
60
|
+
<!-- 05 · Chevron + apex dot -->
|
|
61
|
+
<text x="115" y="216" font-size="9" font-weight="600" fill="#cbd5e1" text-anchor="middle" letter-spacing="3">05</text>
|
|
62
|
+
<g transform="translate(115,285)">
|
|
63
|
+
<polyline points="-18,-27 10,0 -18,27"
|
|
64
|
+
stroke="#0f172a" stroke-width="6.5"
|
|
65
|
+
stroke-linecap="round" stroke-linejoin="round" fill="none"/>
|
|
66
|
+
<circle cx="20" cy="0" r="6" fill="#0f172a"/>
|
|
67
|
+
</g>
|
|
68
|
+
<text x="115" y="348" font-size="13" font-weight="700" fill="#0f172a" text-anchor="middle" letter-spacing="1.5">KODELYTH</text>
|
|
69
|
+
<text x="115" y="365" font-size="8.5" fill="#94a3b8" text-anchor="middle" letter-spacing="2.5">CHEVRON + NODE</text>
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
<!-- 06 · Bracket form — chevron with horizontal arms -->
|
|
73
|
+
<text x="345" y="216" font-size="9" font-weight="600" fill="#cbd5e1" text-anchor="middle" letter-spacing="3">06</text>
|
|
74
|
+
<g transform="translate(345,285)">
|
|
75
|
+
<line x1="-20" y1="-26" x2="0" y2="-26" stroke="#0f172a" stroke-width="5.5" stroke-linecap="round"/>
|
|
76
|
+
<polyline points="0,-26 18,0 0,26"
|
|
77
|
+
stroke="#0f172a" stroke-width="5.5"
|
|
78
|
+
stroke-linecap="round" stroke-linejoin="round" fill="none"/>
|
|
79
|
+
<line x1="0" y1="26" x2="-20" y2="26" stroke="#0f172a" stroke-width="5.5" stroke-linecap="round"/>
|
|
80
|
+
</g>
|
|
81
|
+
<text x="345" y="348" font-size="13" font-weight="700" fill="#0f172a" text-anchor="middle" letter-spacing="1.5">KODELYTH</text>
|
|
82
|
+
<text x="345" y="365" font-size="8.5" fill="#94a3b8" text-anchor="middle" letter-spacing="2.5">BRACKET</text>
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
<!-- 07 · Upward caret ^ (Vercel-adjacent, growth direction) -->
|
|
86
|
+
<text x="575" y="216" font-size="9" font-weight="600" fill="#cbd5e1" text-anchor="middle" letter-spacing="3">07</text>
|
|
87
|
+
<g transform="translate(575,285)">
|
|
88
|
+
<polyline points="-26,20 0,-22 26,20"
|
|
89
|
+
stroke="#0f172a" stroke-width="7.5"
|
|
90
|
+
stroke-linecap="round" stroke-linejoin="round" fill="none"/>
|
|
91
|
+
</g>
|
|
92
|
+
<text x="575" y="348" font-size="13" font-weight="700" fill="#0f172a" text-anchor="middle" letter-spacing="1.5">KODELYTH</text>
|
|
93
|
+
<text x="575" y="365" font-size="8.5" fill="#94a3b8" text-anchor="middle" letter-spacing="2.5">CARET UP</text>
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
<!-- 08 · Ghost depth — bold front + faint back -->
|
|
97
|
+
<text x="805" y="216" font-size="9" font-weight="600" fill="#cbd5e1" text-anchor="middle" letter-spacing="3">08</text>
|
|
98
|
+
<g transform="translate(805,285)">
|
|
99
|
+
<polyline points="-26,-26 -6,0 -26,26"
|
|
100
|
+
stroke="#0f172a" stroke-width="4" opacity="0.2"
|
|
101
|
+
stroke-linecap="round" stroke-linejoin="round" fill="none"/>
|
|
102
|
+
<polyline points="-12,-27 14,0 -12,27"
|
|
103
|
+
stroke="#0f172a" stroke-width="7.5"
|
|
104
|
+
stroke-linecap="round" stroke-linejoin="round" fill="none"/>
|
|
105
|
+
</g>
|
|
106
|
+
<text x="805" y="348" font-size="13" font-weight="700" fill="#0f172a" text-anchor="middle" letter-spacing="1.5">KODELYTH</text>
|
|
107
|
+
<text x="805" y="365" font-size="8.5" fill="#94a3b8" text-anchor="middle" letter-spacing="2.5">DEPTH</text>
|
|
108
|
+
|
|
109
|
+
</svg>
|
package/brand/convert.js
ADDED
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* brand/convert.js
|
|
3
|
+
* Converts all Kodelyth SVG brand assets to high-quality PNG
|
|
4
|
+
* Uses Chrome (puppeteer-core) for pixel-perfect font + geometry rendering
|
|
5
|
+
*
|
|
6
|
+
* Usage: node brand/convert.js
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
const puppeteer = require('puppeteer-core');
|
|
10
|
+
const path = require('path');
|
|
11
|
+
const fs = require('fs');
|
|
12
|
+
|
|
13
|
+
const CHROME = '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome';
|
|
14
|
+
const BRAND_DIR = __dirname;
|
|
15
|
+
|
|
16
|
+
const ASSETS = [
|
|
17
|
+
// Facebook social assets — 2× for retina sharpness
|
|
18
|
+
{
|
|
19
|
+
input: 'fb-profile.svg',
|
|
20
|
+
output: 'fb-profile.png',
|
|
21
|
+
width: 800,
|
|
22
|
+
height: 800,
|
|
23
|
+
label: 'Facebook profile picture (800×800 @2x)',
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
input: 'fb-cover.svg',
|
|
27
|
+
output: 'fb-cover.png',
|
|
28
|
+
width: 1640,
|
|
29
|
+
height: 624,
|
|
30
|
+
label: 'Facebook cover photo (1640×624 @2x)',
|
|
31
|
+
},
|
|
32
|
+
|
|
33
|
+
// Standalone mark — 3× for print + high-res usage
|
|
34
|
+
{
|
|
35
|
+
input: 'kodelyth-mark.svg',
|
|
36
|
+
output: 'kodelyth-mark.png',
|
|
37
|
+
width: 1200,
|
|
38
|
+
height: 1200,
|
|
39
|
+
label: 'Kodelyth mark (1200×1200 @3x)',
|
|
40
|
+
},
|
|
41
|
+
|
|
42
|
+
// Horizontal lockups — 3×
|
|
43
|
+
{
|
|
44
|
+
input: 'kodelyth-dark.svg',
|
|
45
|
+
output: 'kodelyth-dark.png',
|
|
46
|
+
width: 1380,
|
|
47
|
+
height: 360,
|
|
48
|
+
label: 'Lockup dark (1380×360 @3x)',
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
input: 'kodelyth-light.svg',
|
|
52
|
+
output: 'kodelyth-light.png',
|
|
53
|
+
width: 1380,
|
|
54
|
+
height: 360,
|
|
55
|
+
label: 'Lockup light (1380×360 @3x)',
|
|
56
|
+
},
|
|
57
|
+
|
|
58
|
+
// Favicon — all required sizes
|
|
59
|
+
{
|
|
60
|
+
input: 'favicon.svg',
|
|
61
|
+
output: 'favicon-16.png',
|
|
62
|
+
width: 16,
|
|
63
|
+
height: 16,
|
|
64
|
+
label: 'Favicon 16×16',
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
input: 'favicon.svg',
|
|
68
|
+
output: 'favicon-32.png',
|
|
69
|
+
width: 32,
|
|
70
|
+
height: 32,
|
|
71
|
+
label: 'Favicon 32×32',
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
input: 'favicon.svg',
|
|
75
|
+
output: 'favicon-180.png',
|
|
76
|
+
width: 180,
|
|
77
|
+
height: 180,
|
|
78
|
+
label: 'Apple Touch Icon 180×180',
|
|
79
|
+
},
|
|
80
|
+
];
|
|
81
|
+
|
|
82
|
+
async function convertAsset(page, asset) {
|
|
83
|
+
const inputPath = path.join(BRAND_DIR, asset.input);
|
|
84
|
+
const outputPath = path.join(BRAND_DIR, asset.output);
|
|
85
|
+
|
|
86
|
+
if (!fs.existsSync(inputPath)) {
|
|
87
|
+
console.error(` SKIP ${asset.input} — file not found`);
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
const svgContent = fs.readFileSync(inputPath, 'utf8');
|
|
92
|
+
|
|
93
|
+
await page.setViewport({
|
|
94
|
+
width: asset.width,
|
|
95
|
+
height: asset.height,
|
|
96
|
+
deviceScaleFactor: 2, // render at 2× internal resolution for anti-aliasing
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
// Wrap SVG in a minimal HTML page — more reliable than opening SVG directly
|
|
100
|
+
const html = `<!DOCTYPE html>
|
|
101
|
+
<html>
|
|
102
|
+
<head>
|
|
103
|
+
<meta charset="utf-8">
|
|
104
|
+
<style>
|
|
105
|
+
* { margin: 0; padding: 0; box-sizing: border-box; }
|
|
106
|
+
html, body { width: ${asset.width}px; height: ${asset.height}px; overflow: hidden; background: transparent; }
|
|
107
|
+
svg { display: block; width: ${asset.width}px !important; height: ${asset.height}px !important; }
|
|
108
|
+
</style>
|
|
109
|
+
</head>
|
|
110
|
+
<body>${svgContent}</body>
|
|
111
|
+
</html>`;
|
|
112
|
+
|
|
113
|
+
await page.setContent(html, { waitUntil: 'domcontentloaded', timeout: 10000 });
|
|
114
|
+
|
|
115
|
+
await page.screenshot({
|
|
116
|
+
path: outputPath,
|
|
117
|
+
type: 'png',
|
|
118
|
+
clip: { x: 0, y: 0, width: asset.width, height: asset.height },
|
|
119
|
+
omitBackground: false,
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
const kb = Math.round(fs.statSync(outputPath).size / 1024);
|
|
123
|
+
console.log(` [DONE] ${asset.output.padEnd(28)} ${asset.label} (${kb} KB)`);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
async function main() {
|
|
127
|
+
console.log('\nKodelyth Brand — SVG → PNG Converter');
|
|
128
|
+
console.log('--------------------------------------');
|
|
129
|
+
|
|
130
|
+
const browser = await puppeteer.launch({
|
|
131
|
+
executablePath: CHROME,
|
|
132
|
+
headless: 'new',
|
|
133
|
+
args: [
|
|
134
|
+
'--no-sandbox',
|
|
135
|
+
'--disable-setuid-sandbox',
|
|
136
|
+
'--disable-web-security', // allow file:// access
|
|
137
|
+
'--force-device-scale-factor=1',
|
|
138
|
+
],
|
|
139
|
+
});
|
|
140
|
+
|
|
141
|
+
const page = await browser.newPage();
|
|
142
|
+
|
|
143
|
+
// Disable all animations so screenshots are clean
|
|
144
|
+
await page.addStyleTag({
|
|
145
|
+
content: '*, *::before, *::after { animation: none !important; transition: none !important; }',
|
|
146
|
+
});
|
|
147
|
+
|
|
148
|
+
for (const asset of ASSETS) {
|
|
149
|
+
await convertAsset(page, asset);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
await browser.close();
|
|
153
|
+
|
|
154
|
+
console.log('\nAll PNGs written to brand/');
|
|
155
|
+
console.log('--------------------------------------\n');
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
main().catch(err => {
|
|
159
|
+
console.error('Conversion failed:', err.message);
|
|
160
|
+
process.exit(1);
|
|
161
|
+
});
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" width="32" height="32">
|
|
2
|
+
<rect width="32" height="32" fill="#0a0a0a"/>
|
|
3
|
+
<polyline points="7,5 23,16 7,27"
|
|
4
|
+
stroke="#ffffff" stroke-width="5"
|
|
5
|
+
stroke-linecap="round" stroke-linejoin="round"
|
|
6
|
+
fill="none"/>
|
|
7
|
+
</svg>
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 820 312" width="820" height="312"
|
|
2
|
+
font-family="'Space Grotesk','Inter',system-ui,-apple-system,sans-serif">
|
|
3
|
+
|
|
4
|
+
<!-- Facebook Page Cover Photo — 820×312px -->
|
|
5
|
+
<!-- Safe zone for mobile: center 640×312 — all content within 90px left/right margins -->
|
|
6
|
+
|
|
7
|
+
<rect width="820" height="312" fill="#0a0a0a"/>
|
|
8
|
+
|
|
9
|
+
<!-- Ghost Depth mark — centered, optically balanced in 312px height -->
|
|
10
|
+
<g stroke-linecap="round" stroke-linejoin="round" fill="none" stroke="#ffffff">
|
|
11
|
+
|
|
12
|
+
<!-- ghost — trails left, recedes behind -->
|
|
13
|
+
<polyline points="370,67 401,120 370,173"
|
|
14
|
+
stroke-width="5.5" stroke-opacity="0.22"/>
|
|
15
|
+
|
|
16
|
+
<!-- solid — primary mark -->
|
|
17
|
+
<polyline points="395,65 443,120 395,175"
|
|
18
|
+
stroke-width="18"/>
|
|
19
|
+
|
|
20
|
+
</g>
|
|
21
|
+
|
|
22
|
+
<!-- Wordmark -->
|
|
23
|
+
<text x="410" y="232"
|
|
24
|
+
text-anchor="middle"
|
|
25
|
+
font-size="44" font-weight="700" fill="#ffffff"
|
|
26
|
+
letter-spacing="3.5">KODELYTH</text>
|
|
27
|
+
|
|
28
|
+
<!-- Tagline -->
|
|
29
|
+
<text x="410" y="257"
|
|
30
|
+
text-anchor="middle"
|
|
31
|
+
font-size="18" font-weight="400" fill="#ffffff" fill-opacity="0.58"
|
|
32
|
+
letter-spacing="3">Build everything.</text>
|
|
33
|
+
|
|
34
|
+
</svg>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 400" width="400" height="400">
|
|
2
|
+
|
|
3
|
+
<!-- Facebook Page Profile Picture — 400×400 -->
|
|
4
|
+
<!-- Facebook crops to circle — mark centered within circular safe zone -->
|
|
5
|
+
|
|
6
|
+
<rect width="400" height="400" fill="#0a0a0a"/>
|
|
7
|
+
|
|
8
|
+
<!-- Kodelyth Mark — Ghost Depth (white on dark) -->
|
|
9
|
+
<g stroke-linecap="round" stroke-linejoin="round" fill="none" stroke="#ffffff">
|
|
10
|
+
|
|
11
|
+
<!-- ghost — trails left, recedes behind solid -->
|
|
12
|
+
<polyline points="128,104 184,200 128,296"
|
|
13
|
+
stroke-width="10" stroke-opacity="0.22"/>
|
|
14
|
+
|
|
15
|
+
<!-- solid — primary mark -->
|
|
16
|
+
<polyline points="172,100 260,200 172,300"
|
|
17
|
+
stroke-width="32"/>
|
|
18
|
+
|
|
19
|
+
</g>
|
|
20
|
+
|
|
21
|
+
</svg>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 460 120" width="460" height="120"
|
|
2
|
+
font-family="'Space Grotesk','Inter',system-ui,-apple-system,sans-serif">
|
|
3
|
+
|
|
4
|
+
<rect width="460" height="120" fill="#0a0a0a"/>
|
|
5
|
+
|
|
6
|
+
<!-- Kodelyth Mark — Ghost Depth (white on dark) -->
|
|
7
|
+
<g stroke-linecap="round" stroke-linejoin="round" fill="none" stroke="#ffffff">
|
|
8
|
+
|
|
9
|
+
<!-- ghost — reduced arm span, tighter stroke, optical depth layer -->
|
|
10
|
+
<polyline points="49,38 68,60 49,82"
|
|
11
|
+
stroke-width="3.5" stroke-opacity="0.2"/>
|
|
12
|
+
|
|
13
|
+
<!-- solid — reduced arm to balance mark:cap ratio 2.4:1 -->
|
|
14
|
+
<polyline points="64,35 95,60 64,85"
|
|
15
|
+
stroke-width="11"/>
|
|
16
|
+
|
|
17
|
+
</g>
|
|
18
|
+
|
|
19
|
+
<!-- Wordmark — baseline lifted to optically align with mark center y=60 -->
|
|
20
|
+
<text x="125" y="73"
|
|
21
|
+
font-size="36" font-weight="700" fill="#ffffff"
|
|
22
|
+
letter-spacing="3">KODELYTH</text>
|
|
23
|
+
|
|
24
|
+
</svg>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 460 120" width="460" height="120"
|
|
2
|
+
font-family="'Space Grotesk','Inter',system-ui,-apple-system,sans-serif">
|
|
3
|
+
|
|
4
|
+
<rect width="460" height="120" fill="#ffffff"/>
|
|
5
|
+
|
|
6
|
+
<!-- Kodelyth Mark — Ghost Depth (dark on light) -->
|
|
7
|
+
<g stroke-linecap="round" stroke-linejoin="round" fill="none" stroke="#0f172a">
|
|
8
|
+
|
|
9
|
+
<!-- ghost — reduced arm span, tighter stroke, optical depth layer -->
|
|
10
|
+
<polyline points="49,38 68,60 49,82"
|
|
11
|
+
stroke-width="3.5" stroke-opacity="0.15"/>
|
|
12
|
+
|
|
13
|
+
<!-- solid — reduced arm to balance mark:cap ratio 2.4:1 -->
|
|
14
|
+
<polyline points="64,35 95,60 64,85"
|
|
15
|
+
stroke-width="11"/>
|
|
16
|
+
|
|
17
|
+
</g>
|
|
18
|
+
|
|
19
|
+
<!-- Wordmark — baseline lifted to optically align with mark center y=60 -->
|
|
20
|
+
<text x="125" y="73"
|
|
21
|
+
font-size="36" font-weight="700" fill="#0f172a"
|
|
22
|
+
letter-spacing="3">KODELYTH</text>
|
|
23
|
+
|
|
24
|
+
</svg>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 400" width="400" height="400">
|
|
2
|
+
|
|
3
|
+
<rect width="400" height="400" fill="#ffffff"/>
|
|
4
|
+
|
|
5
|
+
<!-- Kodelyth Mark — Ghost Depth -->
|
|
6
|
+
<!-- Ghost trails LEFT of the solid — peeks out from behind the left arms -->
|
|
7
|
+
<!-- Solid is the dominant forward-facing mark -->
|
|
8
|
+
<g stroke-linecap="round" stroke-linejoin="round" fill="none" stroke="#0f172a">
|
|
9
|
+
|
|
10
|
+
<!-- ghost — left of solid, lighter stroke, recedes behind -->
|
|
11
|
+
<polyline points="128,104 184,200 128,296"
|
|
12
|
+
stroke-width="10" stroke-opacity="0.15"/>
|
|
13
|
+
|
|
14
|
+
<!-- solid — primary mark, full weight, forward -->
|
|
15
|
+
<polyline points="172,100 260,200 172,300"
|
|
16
|
+
stroke-width="32"/>
|
|
17
|
+
|
|
18
|
+
</g>
|
|
19
|
+
|
|
20
|
+
</svg>
|
package/bundles/enterprise.md
CHANGED
package/bundles/indie-hacker.md
CHANGED
package/bundles/red-team.md
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kodelyth-ecc",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.5",
|
|
4
4
|
"description": "Production-grade AI coding toolkit — 70 agents (incl. devil-mode adversarial crew), 194 skills, 97 commands, parallel multi-agent commands, semantic intent routing, self-learning memory, and a built-in MCP server (16 tools / 6 prompts / 377 resources) that bridges to Claude Desktop, LangGraph, AutoGen, CrewAI, and OpenAI Agents SDK. Works with Claude Code, Windsurf, Cursor, Codex, Antigravity, OpenCode, Cline, RooCode, Aider, Kimi, and Gemini CLI.",
|
|
5
5
|
"author": "Kodelyth <github.com/sifxprime>",
|
|
6
6
|
"license": "MIT",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// scripts/dashboard/data.js
|
|
2
2
|
//
|
|
3
|
-
// Local observability dashboard: pure aggregators (v1.7.
|
|
3
|
+
// Local observability dashboard: pure aggregators (v1.7.5).
|
|
4
4
|
//
|
|
5
5
|
// All data the dashboard renders comes from:
|
|
6
6
|
// - The MCP catalog (filesystem reads of agents/, skills/, commands/, rules/, bundles/)
|
package/social/card-agents.svg
CHANGED
|
@@ -89,4 +89,16 @@
|
|
|
89
89
|
<rect x="28" y="356" width="644" height="44" rx="6" fill="#161b22" stroke="#21262d" stroke-width="1"/>
|
|
90
90
|
<text x="350" y="373" font-size="11" fill="#484f58" text-anchor="middle">+ 50 more: language reviewers, build resolvers, tdd-guide, refactor-cleaner, ux-reviewer, git-rescue ...</text>
|
|
91
91
|
<text x="350" y="390" font-size="11" fill="#484f58" text-anchor="middle">All agents load automatically via semantic intent routing — no command names needed</text>
|
|
92
|
+
|
|
93
|
+
<!-- Ghost Depth Mark — brand stamp (scale 0.45×) -->
|
|
94
|
+
<g transform="translate(606, 120) scale(0.45)" opacity="0.16">
|
|
95
|
+
<polyline points="-44,4 12,100 -44,196"
|
|
96
|
+
stroke="#ffffff" stroke-width="10"
|
|
97
|
+
stroke-linecap="round" stroke-linejoin="round"
|
|
98
|
+
fill="none"/>
|
|
99
|
+
<polyline points="0,0 88,100 0,200"
|
|
100
|
+
stroke="#ffffff" stroke-width="32"
|
|
101
|
+
stroke-linecap="round" stroke-linejoin="round"
|
|
102
|
+
fill="none"/>
|
|
103
|
+
</g>
|
|
92
104
|
</svg>
|
package/social/card-install.svg
CHANGED
|
@@ -37,10 +37,22 @@
|
|
|
37
37
|
<text x="48" y="200" font-family="'Courier New', Courier, monospace" font-size="12" fill="#e6edf3"> npx kodelyth-ecc --target windsurf-project</text>
|
|
38
38
|
<text x="48" y="216" font-family="'Courier New', Courier, monospace" font-size="11" fill="#484f58"> # or Antigravity:</text>
|
|
39
39
|
<text x="48" y="232" font-family="'Courier New', Courier, monospace" font-size="12" fill="#e6edf3"> npx kodelyth-ecc --target antigravity</text>
|
|
40
|
-
<text x="48" y="256" font-family="'Courier New', Courier, monospace" font-size="11" fill="#10b981"> Installing v1.7.
|
|
40
|
+
<text x="48" y="256" font-family="'Courier New', Courier, monospace" font-size="11" fill="#10b981"> Installing v1.7.5 — 70 agents, 194 skills, 97 commands...</text>
|
|
41
41
|
<text x="48" y="292" font-family="'Courier New', Courier, monospace" font-size="11" fill="#10b981"> Done. Type /kodelyth-quickstart to begin.</text>
|
|
42
42
|
|
|
43
43
|
<!-- Footer -->
|
|
44
44
|
<text x="28" y="332" font-size="11" fill="#484f58">Node.js 18+ required</text>
|
|
45
45
|
<text x="612" y="332" font-size="11" fill="#484f58" text-anchor="end">github.com/sifxprime/kodelyth-ecc</text>
|
|
46
|
+
|
|
47
|
+
<!-- Ghost Depth Mark — brand stamp (scale 0.4×) -->
|
|
48
|
+
<g transform="translate(550, 100) scale(0.4)" opacity="0.16">
|
|
49
|
+
<polyline points="-44,4 12,100 -44,196"
|
|
50
|
+
stroke="#ffffff" stroke-width="10"
|
|
51
|
+
stroke-linecap="round" stroke-linejoin="round"
|
|
52
|
+
fill="none"/>
|
|
53
|
+
<polyline points="0,0 88,100 0,200"
|
|
54
|
+
stroke="#ffffff" stroke-width="32"
|
|
55
|
+
stroke-linecap="round" stroke-linejoin="round"
|
|
56
|
+
fill="none"/>
|
|
57
|
+
</g>
|
|
46
58
|
</svg>
|
package/social/card-main.svg
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
|
|
18
18
|
<!-- Badge -->
|
|
19
19
|
<rect x="28" y="24" width="72" height="20" rx="10" fill="#a78bfa" fill-opacity="0.15" stroke="#a78bfa" stroke-opacity="0.4" stroke-width="1"/>
|
|
20
|
-
<text x="64" y="38" font-size="9" fill="#a78bfa" text-anchor="middle" font-weight="700" letter-spacing="0.5">v1.7.
|
|
20
|
+
<text x="64" y="38" font-size="9" fill="#a78bfa" text-anchor="middle" font-weight="700" letter-spacing="0.5">v1.7.5</text>
|
|
21
21
|
|
|
22
22
|
<!-- Title -->
|
|
23
23
|
<text x="28" y="88" font-size="38" font-weight="900" letter-spacing="-1.5" fill="#ffffff">Kodelyth</text>
|
|
@@ -39,4 +39,16 @@
|
|
|
39
39
|
<!-- Footer -->
|
|
40
40
|
<text x="28" y="296" font-size="11" fill="#484f58">npx kodelyth-ecc</text>
|
|
41
41
|
<text x="572" y="296" font-size="11" fill="#484f58" text-anchor="end">github.com/sifxprime/kodelyth-ecc</text>
|
|
42
|
+
|
|
43
|
+
<!-- Ghost Depth Mark — brand stamp (scale 0.35×) -->
|
|
44
|
+
<g transform="translate(505, 80) scale(0.35)" opacity="0.16">
|
|
45
|
+
<polyline points="-44,4 12,100 -44,196"
|
|
46
|
+
stroke="#ffffff" stroke-width="10"
|
|
47
|
+
stroke-linecap="round" stroke-linejoin="round"
|
|
48
|
+
fill="none"/>
|
|
49
|
+
<polyline points="0,0 88,100 0,200"
|
|
50
|
+
stroke="#ffffff" stroke-width="32"
|
|
51
|
+
stroke-linecap="round" stroke-linejoin="round"
|
|
52
|
+
fill="none"/>
|
|
53
|
+
</g>
|
|
42
54
|
</svg>
|
package/social/facebook-v150.svg
CHANGED
|
@@ -23,9 +23,22 @@
|
|
|
23
23
|
<circle cx="600" cy="315" r="350" fill="#2563eb" opacity="0.03"/>
|
|
24
24
|
<circle cx="100" cy="100" r="180" fill="#a78bfa" opacity="0.04"/>
|
|
25
25
|
|
|
26
|
+
<!-- Ghost Depth Mark — scale 0.55×, right-side watermark (110px tall), op=0.18 -->
|
|
27
|
+
<!-- Placed right edge so it doesn't conflict with left content -->
|
|
28
|
+
<g transform="translate(1044, 260) scale(0.55)" opacity="0.18">
|
|
29
|
+
<polyline points="-44,4 12,100 -44,196"
|
|
30
|
+
stroke="#ffffff" stroke-width="10"
|
|
31
|
+
stroke-linecap="round" stroke-linejoin="round"
|
|
32
|
+
fill="none"/>
|
|
33
|
+
<polyline points="0,0 88,100 0,200"
|
|
34
|
+
stroke="#ffffff" stroke-width="32"
|
|
35
|
+
stroke-linecap="round" stroke-linejoin="round"
|
|
36
|
+
fill="none"/>
|
|
37
|
+
</g>
|
|
38
|
+
|
|
26
39
|
<!-- Version + NEW badges -->
|
|
27
40
|
<rect x="80" y="28" width="76" height="24" rx="12" fill="#a78bfa" fill-opacity="0.15" stroke="#a78bfa" stroke-opacity="0.5" stroke-width="1"/>
|
|
28
|
-
<text x="118" y="44" font-size="11" fill="#a78bfa" text-anchor="middle" font-weight="700" letter-spacing="0.5">v1.7.
|
|
41
|
+
<text x="118" y="44" font-size="11" fill="#a78bfa" text-anchor="middle" font-weight="700" letter-spacing="0.5">v1.7.5</text>
|
|
29
42
|
|
|
30
43
|
<!-- Title -->
|
|
31
44
|
<text x="80" y="120" font-size="52" font-weight="900" letter-spacing="-2" fill="#ffffff">Kodelyth ECC</text>
|
|
@@ -37,7 +50,7 @@
|
|
|
37
50
|
<!-- Card 1: Compound Learning -->
|
|
38
51
|
<rect x="80" y="250" width="315" height="120" rx="10" fill="url(#card1)" stroke="#059669" stroke-opacity="0.35" stroke-width="1"/>
|
|
39
52
|
<rect x="80" y="250" width="4" height="120" rx="2" fill="#059669"/>
|
|
40
|
-
<text x="100" y="275" font-size="10" font-weight="700" fill="#10b981" letter-spacing="1">COMPOUND LEARNING v1.7.
|
|
53
|
+
<text x="100" y="275" font-size="10" font-weight="700" fill="#10b981" letter-spacing="1">COMPOUND LEARNING v1.7.5</text>
|
|
41
54
|
<text x="100" y="296" font-size="13" fill="#e6edf3">Corrections → tasks/lessons.md</text>
|
|
42
55
|
<text x="100" y="313" font-size="13" fill="#e6edf3">Next session: never repeats the mistake</text>
|
|
43
56
|
<text x="100" y="334" font-size="11" fill="#484f58">capture-correction.js · read-lessons.js</text>
|
|
@@ -46,7 +59,7 @@
|
|
|
46
59
|
<!-- Card 2: Parallel Agents -->
|
|
47
60
|
<rect x="410" y="250" width="315" height="120" rx="10" fill="#161b22" stroke="#f59e0b" stroke-opacity="0.35" stroke-width="1"/>
|
|
48
61
|
<rect x="410" y="250" width="4" height="120" rx="2" fill="#f59e0b"/>
|
|
49
|
-
<text x="430" y="275" font-size="10" font-weight="700" fill="#f59e0b" letter-spacing="1">PARALLEL AGENTS v1.7.
|
|
62
|
+
<text x="430" y="275" font-size="10" font-weight="700" fill="#f59e0b" letter-spacing="1">PARALLEL AGENTS v1.7.5</text>
|
|
50
63
|
<text x="430" y="296" font-size="13" fill="#e6edf3">/project-launch → 5 agents, 10 min</text>
|
|
51
64
|
<text x="430" y="313" font-size="13" fill="#e6edf3">/team-review → 4 agents, 15 min</text>
|
|
52
65
|
<text x="430" y="334" font-size="11" fill="#484f58">image-architect: Gemini / DALL-E / SVG</text>
|
|
@@ -55,7 +68,7 @@
|
|
|
55
68
|
<!-- Card 3: Semantic Routing -->
|
|
56
69
|
<rect x="740" y="250" width="380" height="120" rx="10" fill="url(#card2)" stroke="#38bdf8" stroke-opacity="0.4" stroke-width="1"/>
|
|
57
70
|
<rect x="740" y="250" width="4" height="120" rx="2" fill="#38bdf8"/>
|
|
58
|
-
<text x="760" y="275" font-size="10" font-weight="700" fill="#38bdf8" letter-spacing="1">SEMANTIC ROUTING v1.7.
|
|
71
|
+
<text x="760" y="275" font-size="10" font-weight="700" fill="#38bdf8" letter-spacing="1">SEMANTIC ROUTING v1.7.5</text>
|
|
59
72
|
<text x="760" y="296" font-size="13" fill="#e6edf3">Paste code → auto-routes to code-reviewer</text>
|
|
60
73
|
<text x="760" y="313" font-size="13" fill="#e6edf3">Paste error → auto-routes to debug-detective</text>
|
|
61
74
|
<text x="760" y="334" font-size="11" fill="#484f58">Emotion as signal · 2–3× more patterns</text>
|