kodelyth-ecc 1.5.10 → 1.7.1
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/.github/workflows/publish.yml +19 -0
- package/AGENTS.md +1 -1
- package/CHANGELOG.md +475 -0
- package/CLAUDE.md +48 -16
- package/README.md +285 -81
- package/VERSION +1 -1
- package/actions/ecc-review/README.md +243 -0
- package/actions/ecc-review/action.yml +158 -0
- package/actions/ecc-review/post-comment.js +171 -0
- package/actions/ecc-review/run-review.js +285 -0
- package/agents/backdoor-hunter.md +260 -0
- package/agents/chaos-engineer.md +251 -0
- package/agents/code-stealer-detector.md +228 -0
- package/agents/jailbreak-tester.md +222 -0
- package/agents/license-violation-finder.md +212 -0
- package/agents/prompt-injection-hunter.md +126 -0
- package/agents/secret-hunter.md +209 -0
- package/agents/supply-chain-auditor.md +195 -0
- package/bin/kodelyth-ecc.js +875 -1
- package/bundles/enterprise.md +172 -0
- package/bundles/indie-hacker.md +106 -0
- package/bundles/red-team.md +138 -0
- package/cat +0 -0
- package/commands/dashboard.md +67 -0
- package/commands/devil-mode.md +121 -0
- package/commands/memory-evolve.md +71 -0
- package/commands/replay.md +61 -0
- package/commands/route-model.md +48 -0
- package/commands/swarm.md +68 -0
- package/commands/verify-supply-chain.md +59 -0
- package/docs/dashboard.md +211 -0
- package/docs/evolve.md +303 -0
- package/docs/mcp-clients.md +167 -0
- package/docs/mcp.md +178 -0
- package/docs/replay.md +244 -0
- package/docs/supply-chain.md +207 -0
- package/docs/swarm.md +243 -0
- package/hooks/hooks.json +52 -0
- package/hooks/memory/auto-recall.js +29 -1
- package/hooks/safety/README.md +124 -0
- package/hooks/safety/lib/patterns.js +179 -0
- package/hooks/safety/prompt-injection-guard.js +179 -0
- package/hooks/safety/token-budget.js +229 -0
- package/install.ps1 +199 -2
- package/install.sh +285 -3
- package/package.json +30 -4
- package/rules/common/agent-intent-routing.md +182 -0
- package/rules/common/cost-aware-model-routing.md +152 -0
- package/scripts/dashboard/data.js +353 -0
- package/scripts/dashboard/server.js +324 -0
- package/scripts/dashboard/static/index.html +645 -0
- package/scripts/evolve/analyze.js +303 -0
- package/scripts/evolve/proposals.js +162 -0
- package/scripts/evolve/stats.js +219 -0
- package/scripts/mcp/catalog.js +244 -0
- package/scripts/mcp/client.js +181 -0
- package/scripts/mcp/prompts.js +133 -0
- package/scripts/mcp/resources.js +94 -0
- package/scripts/mcp/server.js +153 -0
- package/scripts/mcp/tools.js +465 -0
- package/scripts/replay/bundle.js +191 -0
- package/scripts/replay/replay.js +107 -0
- package/scripts/router/classify.js +232 -0
- package/scripts/supply-chain/manifest.js +155 -0
- package/scripts/supply-chain/sbom.js +202 -0
- package/scripts/supply-chain/verify.js +102 -0
- package/scripts/swarm/build-plan.js +193 -0
- package/skills/cost-aware-model-routing/SKILL.md +153 -0
- package/skills/kodelyth-quickstart/SKILL.md +7 -0
- package/skills/observability-dashboard/SKILL.md +119 -0
- package/skills/self-evolving-memory/SKILL.md +175 -0
- package/skills/session-replay/SKILL.md +199 -0
- package/skills/supply-chain-verification/SKILL.md +201 -0
- package/skills/swarm-orchestrator/SKILL.md +177 -0
- package/social/card-install.svg +1 -1
- package/social/facebook-group/POST.md +121 -0
- package/social/facebook-group/fb-1-3am-debug.png +0 -0
- package/social/facebook-group/fb-1-3am-debug.svg +97 -0
- package/social/facebook-group/fb-2-cpu-upgrade.png +0 -0
- package/social/facebook-group/fb-2-cpu-upgrade.svg +132 -0
- package/social/facebook-group/fb-3-before-after.png +0 -0
- package/social/facebook-group/fb-3-before-after.svg +94 -0
- package/social/facebook-v150.svg +6 -6
- package/social/github-social-preview.svg +119 -100
- package/social/readme-hero.svg +12 -12
- package/social/section-agents.svg +57 -0
- package/social/section-author.svg +54 -0
- package/social/section-dashboard.svg +59 -0
- package/social/section-devil.svg +54 -0
- package/social/section-hooks.svg +51 -0
- package/social/section-install.svg +42 -0
- package/social/section-learning.svg +52 -0
- package/social/section-mcp.svg +46 -0
- package/social/section-memory.svg +57 -0
- package/social/section-parallel.svg +72 -0
- package/social/section-routing.svg +51 -0
- package/social/x-card-agents-grid.svg +6 -6
- package/tests/dashboard/data.test.js +235 -0
- package/tests/dashboard/server.test.js +240 -0
- package/tests/evolve/analyze.test.js +169 -0
- package/tests/evolve/proposals.test.js +173 -0
- package/tests/evolve/stats.test.js +167 -0
- package/tests/mcp/catalog.test.js +98 -0
- package/tests/mcp/client.test.js +113 -0
- package/tests/mcp/resources-prompts.test.js +70 -0
- package/tests/mcp/tools.test.js +159 -0
- package/tests/replay/bundle.test.js +181 -0
- package/tests/replay/replay.test.js +131 -0
- package/tests/router/classify.test.js +164 -0
- package/tests/safety/patterns.test.js +94 -0
- package/tests/safety/prompt-injection-guard.test.js +111 -0
- package/tests/safety/token-budget.test.js +119 -0
- package/tests/supply-chain/manifest.test.js +147 -0
- package/tests/supply-chain/sbom.test.js +170 -0
- package/tests/supply-chain/verify.test.js +146 -0
- package/tests/swarm/build-plan.test.js +188 -0
- package/wiki/Agent-Reference.md +58 -7
- package/wiki/FAQ.md +204 -7
- package/wiki/Home.md +104 -29
- package/wiki/Hook-Reference.md +1 -1
- package/wiki/Installation-Guide.md +109 -6
- package/wiki/Platform-Support.md +189 -72
- package/wiki/Skill-Reference.md +101 -6
- package/.agent/rules/README.md +0 -108
- package/.agent/rules/agents.md +0 -94
- package/.agent/rules/code-review.md +0 -124
- package/.agent/rules/coding-style.md +0 -122
- package/.agent/rules/design-quality.md +0 -63
- package/.agent/rules/development-workflow.md +0 -44
- package/.agent/rules/git-mastery.md +0 -366
- package/.agent/rules/git-workflow.md +0 -24
- package/.agent/rules/hooks.md +0 -25
- package/.agent/rules/kodelyth-always-on.md +0 -63
- package/.agent/rules/kodelyth-quickstart.md +0 -207
- package/.agent/rules/observability.md +0 -390
- package/.agent/rules/patterns.md +0 -50
- package/.agent/rules/performance.md +0 -178
- package/.agent/rules/security.md +0 -58
- package/.agent/rules/smart-debug.md +0 -241
- package/.agent/rules/soul.md +0 -32
- package/.agent/rules/testing.md +0 -46
- package/.agent/skills/api-guardian.md +0 -279
- package/.agent/skills/architect.md +0 -211
- package/.agent/skills/build-error-resolver.md +0 -114
- package/.agent/skills/chief-of-staff.md +0 -151
- package/.agent/skills/code-architect.md +0 -71
- package/.agent/skills/code-explorer.md +0 -69
- package/.agent/skills/code-reviewer.md +0 -237
- package/.agent/skills/code-simplifier.md +0 -47
- package/.agent/skills/comment-analyzer.md +0 -45
- package/.agent/skills/conversation-analyzer.md +0 -52
- package/.agent/skills/cpp-build-resolver.md +0 -90
- package/.agent/skills/cpp-reviewer.md +0 -72
- package/.agent/skills/csharp-reviewer.md +0 -101
- package/.agent/skills/dart-build-resolver.md +0 -201
- package/.agent/skills/database-reviewer.md +0 -91
- package/.agent/skills/debug-detective.md +0 -409
- package/.agent/skills/doc-updater.md +0 -107
- package/.agent/skills/docs-lookup.md +0 -68
- package/.agent/skills/e2e-runner.md +0 -107
- package/.agent/skills/flutter-reviewer.md +0 -243
- package/.agent/skills/gan-evaluator.md +0 -209
- package/.agent/skills/gan-generator.md +0 -131
- package/.agent/skills/gan-planner.md +0 -99
- package/.agent/skills/go-build-resolver.md +0 -94
- package/.agent/skills/go-reviewer.md +0 -76
- package/.agent/skills/harness-optimizer.md +0 -35
- package/.agent/skills/healthcare-reviewer.md +0 -83
- package/.agent/skills/java-build-resolver.md +0 -153
- package/.agent/skills/java-reviewer.md +0 -92
- package/.agent/skills/kodelyth-advisor.md +0 -172
- package/.agent/skills/kotlin-build-resolver.md +0 -118
- package/.agent/skills/kotlin-reviewer.md +0 -159
- package/.agent/skills/loop-operator.md +0 -36
- package/.agent/skills/migration-guide.md +0 -368
- package/.agent/skills/opensource-forker.md +0 -198
- package/.agent/skills/opensource-packager.md +0 -249
- package/.agent/skills/opensource-sanitizer.md +0 -188
- package/.agent/skills/pair-programmer.md +0 -260
- package/.agent/skills/performance-optimizer.md +0 -446
- package/.agent/skills/planner.md +0 -212
- package/.agent/skills/pr-test-analyzer.md +0 -45
- package/.agent/skills/python-reviewer.md +0 -98
- package/.agent/skills/pytorch-build-resolver.md +0 -120
- package/.agent/skills/refactor-cleaner.md +0 -85
- package/.agent/skills/rust-build-resolver.md +0 -148
- package/.agent/skills/rust-reviewer.md +0 -94
- package/.agent/skills/security-reviewer.md +0 -108
- package/.agent/skills/seo-specialist.md +0 -62
- package/.agent/skills/silent-failure-hunter.md +0 -50
- package/.agent/skills/tdd-guide.md +0 -91
- package/.agent/skills/type-design-analyzer.md +0 -41
- package/.agent/skills/typescript-reviewer.md +0 -112
- package/.agent/skills/ux-reviewer.md +0 -483
- package/.agent/workflows/agent-sort.md +0 -23
- package/.agent/workflows/aside.md +0 -164
- package/.agent/workflows/build-fix.md +0 -62
- package/.agent/workflows/checkpoint.md +0 -74
- package/.agent/workflows/claw.md +0 -23
- package/.agent/workflows/code-review.md +0 -289
- package/.agent/workflows/context-budget.md +0 -23
- package/.agent/workflows/cpp-build.md +0 -173
- package/.agent/workflows/cpp-review.md +0 -132
- package/.agent/workflows/cpp-test.md +0 -251
- package/.agent/workflows/devfleet.md +0 -23
- package/.agent/workflows/docs.md +0 -23
- package/.agent/workflows/e2e.md +0 -268
- package/.agent/workflows/eval.md +0 -23
- package/.agent/workflows/evolve.md +0 -178
- package/.agent/workflows/feature-dev.md +0 -49
- package/.agent/workflows/flutter-build.md +0 -164
- package/.agent/workflows/flutter-review.md +0 -116
- package/.agent/workflows/flutter-test.md +0 -144
- package/.agent/workflows/gan-build.md +0 -99
- package/.agent/workflows/gan-design.md +0 -35
- package/.agent/workflows/go-build.md +0 -183
- package/.agent/workflows/go-review.md +0 -148
- package/.agent/workflows/go-test.md +0 -268
- package/.agent/workflows/gradle-build.md +0 -70
- package/.agent/workflows/harness-audit.md +0 -73
- package/.agent/workflows/hookify-configure.md +0 -14
- package/.agent/workflows/hookify-help.md +0 -46
- package/.agent/workflows/hookify-list.md +0 -21
- package/.agent/workflows/hookify.md +0 -50
- package/.agent/workflows/instinct-export.md +0 -66
- package/.agent/workflows/instinct-import.md +0 -114
- package/.agent/workflows/instinct-status.md +0 -59
- package/.agent/workflows/jira.md +0 -106
- package/.agent/workflows/kotlin-build.md +0 -174
- package/.agent/workflows/kotlin-review.md +0 -140
- package/.agent/workflows/kotlin-test.md +0 -312
- package/.agent/workflows/learn-eval.md +0 -116
- package/.agent/workflows/learn.md +0 -70
- package/.agent/workflows/loop-start.md +0 -32
- package/.agent/workflows/loop-status.md +0 -24
- package/.agent/workflows/model-route.md +0 -26
- package/.agent/workflows/multi-backend.md +0 -158
- package/.agent/workflows/multi-execute.md +0 -315
- package/.agent/workflows/multi-frontend.md +0 -158
- package/.agent/workflows/multi-plan.md +0 -268
- package/.agent/workflows/multi-workflow.md +0 -191
- package/.agent/workflows/orchestrate.md +0 -135
- package/.agent/workflows/plan.md +0 -117
- package/.agent/workflows/pm2.md +0 -272
- package/.agent/workflows/projects.md +0 -39
- package/.agent/workflows/promote.md +0 -41
- package/.agent/workflows/prompt-optimize.md +0 -23
- package/.agent/workflows/prp-commit.md +0 -112
- package/.agent/workflows/prp-implement.md +0 -385
- package/.agent/workflows/prp-plan.md +0 -502
- package/.agent/workflows/prp-pr.md +0 -184
- package/.agent/workflows/prp-prd.md +0 -447
- package/.agent/workflows/prune.md +0 -31
- package/.agent/workflows/python-review.md +0 -297
- package/.agent/workflows/quality-gate.md +0 -29
- package/.agent/workflows/refactor-clean.md +0 -80
- package/.agent/workflows/resume-session.md +0 -156
- package/.agent/workflows/review-pr.md +0 -37
- package/.agent/workflows/rules-distill.md +0 -20
- package/.agent/workflows/rust-build.md +0 -187
- package/.agent/workflows/rust-review.md +0 -142
- package/.agent/workflows/rust-test.md +0 -308
- package/.agent/workflows/santa-loop.md +0 -175
- package/.agent/workflows/save-session.md +0 -275
- package/.agent/workflows/sessions.md +0 -333
- package/.agent/workflows/setup-pm.md +0 -80
- package/.agent/workflows/skill-create.md +0 -174
- package/.agent/workflows/skill-health.md +0 -54
- package/.agent/workflows/tdd.md +0 -231
- package/.agent/workflows/test-coverage.md +0 -69
- package/.agent/workflows/update-codemaps.md +0 -72
- package/.agent/workflows/update-docs.md +0 -84
- package/.agent/workflows/verify.md +0 -23
|
@@ -39,3 +39,22 @@ jobs:
|
|
|
39
39
|
run: npm publish --provenance --access public
|
|
40
40
|
env:
|
|
41
41
|
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
42
|
+
|
|
43
|
+
# ── Phase 2.9: SLSA / SBOM ───────────────────────────────────────────
|
|
44
|
+
# npm publish above already issues SLSA Level 3 build provenance via
|
|
45
|
+
# npm's sigstore integration (--provenance). Below we additionally emit a
|
|
46
|
+
# CycloneDX SBOM and a content manifest, both attached to the release.
|
|
47
|
+
- name: Generate CycloneDX SBOM
|
|
48
|
+
run: node bin/kodelyth-ecc.js sbom --out kodelyth-ecc-sbom.cdx.json
|
|
49
|
+
|
|
50
|
+
- name: Generate content manifest
|
|
51
|
+
run: node bin/kodelyth-ecc.js manifest --out kodelyth-ecc-manifest.json
|
|
52
|
+
|
|
53
|
+
- name: Upload SBOM + manifest to the GitHub release
|
|
54
|
+
env:
|
|
55
|
+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
56
|
+
run: |
|
|
57
|
+
gh release upload "$GITHUB_REF_NAME" \
|
|
58
|
+
kodelyth-ecc-sbom.cdx.json \
|
|
59
|
+
kodelyth-ecc-manifest.json \
|
|
60
|
+
--clobber
|
package/AGENTS.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# AGENTS.md
|
|
2
2
|
|
|
3
|
-
This file is read by AI agents (Cascade, Cursor, Codex, etc.) on every session. It tells them how to work in this repo and how to use the
|
|
3
|
+
This file is read by AI agents (Cascade, Cursor, Codex, etc.) on every session. It tells them how to work in this repo and how to use the 70 specialist agents and 194 skills shipped with Kodelyth ECC.
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,481 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to Kodelyth ECC are documented here.
|
|
4
4
|
|
|
5
|
+
## v1.7.1 — Platform count correction + SVG glow fix (May 2026)
|
|
6
|
+
|
|
7
|
+
Accuracy patch: all docs, social assets, and the wiki now consistently reflect the correct
|
|
8
|
+
platform count (11 platforms, 13 install targets — Windsurf and Gemini CLI each expose two
|
|
9
|
+
install targets but remain one platform).
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
|
|
13
|
+
- **Platform count** — `12 platforms` corrected to `11 platforms` across README, CLAUDE.md,
|
|
14
|
+
wiki (FAQ, Home, Installation-Guide, Skill-Reference, Platform-Support), and all social SVGs.
|
|
15
|
+
- **Platform-Support wiki** — complete rewrite with accurate capability matrix, correct
|
|
16
|
+
install-directory paths (`.clinerules/` not `.cline/`, `.roo/` not `.roocode/`,
|
|
17
|
+
`.aider-ecc/` not `.aider/`, `.agent/` project-local not `~/.antigravity/`),
|
|
18
|
+
and honest notes on Cursor agent incompatibility and OpenCode rules-only support.
|
|
19
|
+
- **SVG glow on Kodelyth text** — removed `filter="url(#glow)"` (feGaussianBlur stdDeviation 8)
|
|
20
|
+
and `filter="url(#softglow)"` from all text elements in `github-social-preview.svg` and
|
|
21
|
+
`readme-hero.svg`. Text is now sharp at all sizes.
|
|
22
|
+
- **GitHub About** — updated from stale v1.5 counts (62 agents/188 skills/80 commands) to
|
|
23
|
+
current accurate counts (70 agents/194 skills/97 commands/22+ hooks).
|
|
24
|
+
|
|
25
|
+
### Files changed
|
|
26
|
+
|
|
27
|
+
`README.md` · `CLAUDE.md` · `wiki/Platform-Support.md` · `wiki/FAQ.md` · `wiki/Home.md` ·
|
|
28
|
+
`wiki/Installation-Guide.md` · `wiki/Skill-Reference.md` · `social/readme-hero.svg` ·
|
|
29
|
+
`social/github-social-preview.svg` · `social/section-install.svg` · `social/facebook-v150.svg`
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## v1.7.0 — MCP SERVER: Universal adapter for any agent framework (May 2026)
|
|
34
|
+
|
|
35
|
+
ECC is now consumable from Claude Desktop, LangGraph, AutoGen, CrewAI, OpenAI Agents SDK, Cursor, Windsurf, and any MCP-compatible client. Every framework that speaks Model Context Protocol can now route to ECC's 70 agents, 194 skills, 97 commands, and the local self-learning memory store.
|
|
36
|
+
|
|
37
|
+
### New: MCP server (`npx kodelyth-ecc mcp`)
|
|
38
|
+
|
|
39
|
+
A thin, stdio-only MCP server (Node, JSON-RPC) that exposes the full ECC stack:
|
|
40
|
+
|
|
41
|
+
- **16 tools** — `route_intent`, `list_agents`, `list_skills`, `list_commands`, `list_rules`, `list_bundles`, `get_agent`, `get_skill`, `get_command`, `get_rule`, `get_bundle`, `recall_memory`, `capture_memory`, `memory_stats`, `catalog_stats`, `audit_skill_match`.
|
|
42
|
+
- **6 prompts** — `routing-rule` (full 10-tier intent routing), `agents-overview`, `skills-overview`, `commands-overview`, `handoff-chains`, `devil-mode`.
|
|
43
|
+
- **365 resources** — every agent, skill, command, rule, and bundle addressable via `kodelyth://agents/<name>`, `kodelyth://skills/<name>`, `kodelyth://commands/<name>`, `kodelyth://rules/<name>`, `kodelyth://bundles/<name>`. All `text/markdown`.
|
|
44
|
+
|
|
45
|
+
Design principles:
|
|
46
|
+
|
|
47
|
+
- **Pure file reads + memory passthrough.** Server adds zero LLM calls of its own.
|
|
48
|
+
- **Local only.** stdio transport. No network egress. No telemetry.
|
|
49
|
+
- **Optional dependency.** `@modelcontextprotocol/sdk` is in `optionalDependencies` — installs work without it; the `mcp` subcommand prints a friendly install hint if missing.
|
|
50
|
+
- **Cached catalog.** Sub-millisecond catalog reads after first hit.
|
|
51
|
+
- **Project-aware memory.** `recall_memory` accepts an optional `project_root` to scope BM25 results, falling back to global memories if scoped results are sparse.
|
|
52
|
+
|
|
53
|
+
### New files
|
|
54
|
+
|
|
55
|
+
- `scripts/mcp/server.js` — SDK wiring + stdio transport (lazy-loaded).
|
|
56
|
+
- `scripts/mcp/tools.js` — 16 tool handlers + tool definitions.
|
|
57
|
+
- `scripts/mcp/prompts.js` — 6 prompt definitions.
|
|
58
|
+
- `scripts/mcp/resources.js` — 365-resource catalog with `kodelyth://` URIs.
|
|
59
|
+
- `scripts/mcp/catalog.js` — read-only loader for agents/skills/commands/rules/bundles with minimal YAML frontmatter parser.
|
|
60
|
+
- `docs/mcp.md` — full reference, client config snippets, design notes, troubleshooting.
|
|
61
|
+
- `tests/mcp/catalog.test.js` — catalog loader + frontmatter parser (12 tests).
|
|
62
|
+
- `tests/mcp/tools.test.js` — pure-function tool handlers including memory roundtrip (15 tests).
|
|
63
|
+
- `tests/mcp/resources-prompts.test.js` — resource discovery + prompt rendering (8 tests).
|
|
64
|
+
|
|
65
|
+
### Updated files
|
|
66
|
+
|
|
67
|
+
- `bin/kodelyth-ecc.js` — `mcp` subcommand dispatch, help text updated.
|
|
68
|
+
- `package.json` — `mcp` and `model-context-protocol` keywords, `optionalDependencies` for `@modelcontextprotocol/sdk@^1.0.4`, `npm run mcp` script.
|
|
69
|
+
- `README.md` — new "MCP server" section under install options with Claude Desktop config snippet.
|
|
70
|
+
|
|
71
|
+
### CLI surface
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
npx kodelyth-ecc mcp # start stdio MCP server
|
|
75
|
+
npx kodelyth-ecc --help # mcp subcommand documented
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Test count
|
|
79
|
+
|
|
80
|
+
47 → **82 tests** (added 35 MCP server tests). Final v1.7.0 count is **336 tests** — covering MCP server, model router, swarm orchestrator, session replay, supply-chain tooling, safety hooks, self-evolving memory, and the local observability dashboard.
|
|
81
|
+
|
|
82
|
+
### Counts (post-1.7.0)
|
|
83
|
+
|
|
84
|
+
| Asset | Count |
|
|
85
|
+
|------------------|-------|
|
|
86
|
+
| Agents | 70 |
|
|
87
|
+
| Skills | 194 |
|
|
88
|
+
| Slash commands | 97 |
|
|
89
|
+
| Parallel commands| 8 |
|
|
90
|
+
| Rules | 14 |
|
|
91
|
+
| Power bundles | 3 |
|
|
92
|
+
| MCP tools | 16 |
|
|
93
|
+
| MCP prompts | 6 |
|
|
94
|
+
| MCP resources | 377 |
|
|
95
|
+
| Hooks | 22+ (incl. prompt-injection-guard + token-budget) |
|
|
96
|
+
| Install targets | 12 |
|
|
97
|
+
| Tests | 336 |
|
|
98
|
+
|
|
99
|
+
### New: Local observability dashboard
|
|
100
|
+
|
|
101
|
+
A localhost-only single-page web UI over every local data source ECC produces. Zero telemetry, zero external runtime dependencies, fully offline, read-only.
|
|
102
|
+
|
|
103
|
+
Delivered surfaces:
|
|
104
|
+
|
|
105
|
+
- **`scripts/dashboard/server.js`** — HTTP server using ONLY Node.js built-ins (`http`, `fs`, `path`, `child_process`). Eight JSON API routes + one static-file route. GET-only — any other method returns 405. Hardened response headers on every reply (`X-Frame-Options: DENY`, `X-Content-Type-Options: nosniff`, `Referrer-Policy: no-referrer`, `Cache-Control: no-store`). Path-traversal-safe static resolution sandboxed under `scripts/dashboard/static/`.
|
|
106
|
+
- **`scripts/dashboard/data.js`** — pure aggregators across catalog, BM25 memory store, evolve signals + proposals, swarm/orchestration sessions, and token-budget hook state. Every read defensively wrapped — broken data sources render empty cards, never crash the dashboard.
|
|
107
|
+
- **`scripts/dashboard/static/index.html`** — single-page UI. Hand-rolled CSS (no Tailwind, no CDN), vanilla JavaScript (`fetch`-only), no build step, no transpilation. Five tabs: Overview / Memory / Evolve / Catalog / Sessions. Lazy-loads each tab's data only when shown. 15-second health-ping pulses a green liveness indicator.
|
|
108
|
+
- **`bin/kodelyth-ecc.js`** — new `dashboard` subcommand. `--port N`, `--host H`, `--no-open` flags. **Refuses to bind non-localhost without `KODELYTH_DASHBOARD_ALLOW_REMOTE=1`** — the escape hatch is intentionally noisy. Default port 5747. Auto-opens browser on macOS (`open`), Linux (`xdg-open`), Windows (`start`).
|
|
109
|
+
- **`skills/observability-dashboard/SKILL.md`** + **`commands/dashboard.md`** + **`docs/dashboard.md`** — explicit-invocation skill, slash command, and full reference docs with curl examples.
|
|
110
|
+
- **`tests/dashboard/{data,server}.test.js`** — 39 new tests. Aggregator tests cover overview shape, catalog filtering, session detail reading, token-budget JSON aggregation, malformed-input resilience. Server tests boot the real HTTP server on ephemeral ports and exercise every route + every security guardrail (POST blocked, bad-kind 400, path traversal blocked, hardened headers present, remote-bind refused, override env var honored).
|
|
111
|
+
|
|
112
|
+
API surface (read-only, GET-only):
|
|
113
|
+
|
|
114
|
+
```
|
|
115
|
+
GET /api/health # liveness
|
|
116
|
+
GET /api/overview # counts + storage paths
|
|
117
|
+
GET /api/memory[?limit=N] # stats + recent captures
|
|
118
|
+
GET /api/memory/search?q=…[&limit=N] # BM25 search
|
|
119
|
+
GET /api/evolve[?limit=N] # reuse + miss + proposals
|
|
120
|
+
GET /api/catalog?kind=…[&q=…&limit=N] # agents | skills | commands | rules | bundles
|
|
121
|
+
GET /api/sessions[?limit=N] # swarm session list
|
|
122
|
+
GET /api/sessions/:name # one session, all workers
|
|
123
|
+
GET /api/token-budget # per-session token usage
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
The frontend is a thin consumer of these. Anything the UI shows you can also pipe through `jq`:
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
curl -s http://127.0.0.1:5747/api/evolve | jq '.proposals[] | select(.status == "pending")'
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
Verified end-to-end: booted on an ephemeral port → 200 OK on every happy path → 400 on bad kind → 404 on unknown route → 405 on POST → hardened headers present on every response → remote bind to `0.0.0.0` refused with the documented error message → override env var allows it.
|
|
133
|
+
|
|
134
|
+
Pairs with: BM25 memory store (Memory tab data source), swarm orchestrator (Sessions tab), token-budget hook (Overview budget snapshot), and self-evolving memory (Evolve tab). The Evolve tab makes the proposal state machine visible at a glance — status pills (⏸ ✓ ✗ ★) reflect the same state the CLI sees.
|
|
135
|
+
|
|
136
|
+
### New: Self-evolving memory
|
|
137
|
+
|
|
138
|
+
The BM25 memory system now closes its own learning loop. Repeated memory hits become draft skills. Repeated routing misses become proposed routing-rule additions. **Nothing is ever auto-applied** — the user reviews, accepts (writes a draft file to disk), edits, and commits.
|
|
139
|
+
|
|
140
|
+
Delivered surfaces:
|
|
141
|
+
|
|
142
|
+
- **`scripts/evolve/stats.js`** — pure record/read of two signal streams in `~/.kodelyth/evolve/`:
|
|
143
|
+
- `reuse.json` — per-memory surface counter, idempotent per (memoryId, sessionId), tracks distinct sessions + projects
|
|
144
|
+
- `routing-misses.jsonl` — append-only log of substantive prompts where memory recall returned zero matches; capped at 1000 chars per prompt
|
|
145
|
+
- **`scripts/evolve/analyze.js`** — pure, deterministic, no I/O. Two analysis paths:
|
|
146
|
+
- reuse → skill-upgrade proposals (default thresholds: count≥3 AND sessions≥2)
|
|
147
|
+
- misses → routing-addition proposals (cluster by ≥2-token overlap; default thresholds: count≥3 AND distinct≥2)
|
|
148
|
+
- proposal IDs are deterministic over evidence → re-running `analyze` never duplicates
|
|
149
|
+
- **`scripts/evolve/proposals.js`** — append-only proposal log with state transitions: `pending → accepted → applied` or `pending → rejected`. Full audit trail preserved (every state change is a new event). `applyProposalToDisk` refuses to overwrite without `--overwrite`.
|
|
150
|
+
- **`hooks/memory/auto-recall.js`** — minimal augmentation. Two fire-and-forget calls: `recordSurface` when a memory is shown to the user, `recordRoutingMiss` when a substantive prompt yields zero matches. Both wrapped in try/catch — the hook NEVER blocks recall on stats failure.
|
|
151
|
+
- **`bin/kodelyth-ecc.js`** — new `evolve` subcommand with six sub-actions: `stats`, `analyze`, `list`, `show`, `accept`, `reject`. All support `--json`. Accept refuses to clobber existing files unless `--overwrite` is explicit.
|
|
152
|
+
- **`skills/self-evolving-memory/SKILL.md`** — explicit-invocation skill with full CLI reference, hard rules, composition matrix.
|
|
153
|
+
- **`commands/memory-evolve.md`** — `/memory-evolve` slash command (avoids collision with the pre-existing `/evolve` command for `continuous-learning-v2`).
|
|
154
|
+
- **`docs/evolve.md`** — full reference: signal definitions, threshold flags, proposal anatomy, sample diffs, worked example, hard rules.
|
|
155
|
+
- **`tests/evolve/{stats,analyze,proposals}.test.js`** — 42 new tests. Cover counter idempotence per session, distinct-session bumping, project deduplication, miss aggregation by hash, prompt capping, threshold gating, deterministic IDs, cluster overlap rules, append-only audit trail across pending→rejected→accepted, overwrite refusal, malformed input rejection, and combined `analyzeAll` cross-stream output.
|
|
156
|
+
|
|
157
|
+
Routing-addition diffs intentionally ship `TODO-agent` as the placeholder — even if accepted and committed verbatim, no real traffic gets routed until the user fills in the agent name. This is a deliberate safety property.
|
|
158
|
+
|
|
159
|
+
Verified end-to-end: seeded a memory, surfaced it 4x across 4 sessions, logged 3 routing-miss prompts on a shared token cluster, ran `evolve analyze` → 2 proposals generated, `evolve accept` wrote the skill draft to disk + marked accepted, `evolve reject --note` recorded the routing rejection. Re-running `analyze` did not duplicate. Append-only log preserved every state event.
|
|
160
|
+
|
|
161
|
+
CLI snapshot:
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
# After a few weeks of normal ECC usage:
|
|
165
|
+
npx kodelyth-ecc evolve stats # snapshot of recorded signals
|
|
166
|
+
npx kodelyth-ecc evolve analyze # signals → proposals (idempotent)
|
|
167
|
+
npx kodelyth-ecc evolve list # what's pending
|
|
168
|
+
npx kodelyth-ecc evolve show <id> # full draft + evidence
|
|
169
|
+
npx kodelyth-ecc evolve accept <id> # write draft to disk (NEVER commits)
|
|
170
|
+
npx kodelyth-ecc evolve reject <id> --note "covered by existing agent"
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
Pairs with the BM25 memory store (signal source), `/memory remember` (manual capture), `rules/common/agent-intent-routing.md` (target for routing-addition proposals), swarm orchestrator (repeated swarm-task memories → skills the picker can choose), session replay (replay re-triggers reuse signals), and token-budget hook (skills are cheaper than per-prompt memory recalls).
|
|
174
|
+
|
|
175
|
+
### New: Supply chain — SLSA + SBOM + content manifest
|
|
176
|
+
|
|
177
|
+
Enterprise-grade supply-chain credentials. Every kodelyth-ecc release now ships with three independent attestations a downstream consumer can verify without trusting kodelyth-ecc:
|
|
178
|
+
|
|
179
|
+
1. **SLSA Level 3 build provenance** — sigstore-signed via `npm publish --provenance`. Verifiable on npmjs.com and via `npm audit signatures`.
|
|
180
|
+
2. **CycloneDX 1.5 SBOM** — `kodelyth-ecc-sbom.cdx.json`, attached to the GitHub release. Lists every component in `package-lock.json` with purl, license, and SHA-512 integrity.
|
|
181
|
+
3. **sha256 content manifest** — `kodelyth-ecc-manifest.json`, attached to the GitHub release. Hashes every shipped asset (730 files) so any consumer can detect tamper.
|
|
182
|
+
|
|
183
|
+
Delivered surfaces:
|
|
184
|
+
|
|
185
|
+
- **`scripts/supply-chain/sbom.js`** — CycloneDX 1.5 generator. Pure function, zero deps. Reads `package.json` + `package-lock.json` v3. Stable `serialNumber` derived from `name@version + timestamp`. Components carry purl (`pkg:npm/...`), normalized license, and base64→hex SRI hashes.
|
|
186
|
+
- **`scripts/supply-chain/manifest.js`** — deterministic content manifest. Walks `agents/`, `skills/`, `commands/`, `rules/`, `hooks/`, `scripts/`, `bin/`, `parallel-commands/`, `bundles/`, plus root files. Skips `node_modules/`, `.git/`, `.DS_Store`, `__pycache__/`, `*.pyc`. Top-level digest is sha256 over deterministic JSON of entries — reproducible.
|
|
187
|
+
- **`scripts/supply-chain/verify.js`** — pure-function verifier. Categorizes every file into `ok / modified / missing / extra`. Modified or missing files fail verify; extras are advisory. Schema-versioned at `kodelyth.content-manifest/v1`.
|
|
188
|
+
- **`bin/kodelyth-ecc.js`** — three new subcommands: `sbom [--out FILE] [--json]`, `manifest [--out FILE] [--json]`, `verify [--manifest FILE] [--json]`. `verify` exits 1 on any tamper.
|
|
189
|
+
- **`.github/workflows/publish.yml`** — extended to emit the SBOM + manifest after `npm publish --provenance` and upload both to the GitHub release via `gh release upload`.
|
|
190
|
+
- **`skills/supply-chain-verification/SKILL.md`** — explicit-invocation skill with full CLI reference, programmatic API, hard rules.
|
|
191
|
+
- **`commands/verify-supply-chain.md`** — `/verify-supply-chain` slash command.
|
|
192
|
+
- **`docs/supply-chain.md`** — full reference: artifact table, downstream verification flow, `npm audit signatures` integration, composition with other phases.
|
|
193
|
+
- **`tests/supply-chain/sbom.test.js`** + **`tests/supply-chain/manifest.test.js`** + **`tests/supply-chain/verify.test.js`** — 31 new tests. Cover SBOM round-trip on synthetic + real lockfiles, scoped purl, SRI base64→hex, deterministic manifest digest, all four verify categories (ok/modified/missing/extra), schema validation, round-trip across copy.
|
|
194
|
+
|
|
195
|
+
Verified end-to-end on the real repo: 730 files manifested, 91 SBOM components, full round-trip clean, single-byte tamper detected.
|
|
196
|
+
|
|
197
|
+
CLI snapshot:
|
|
198
|
+
|
|
199
|
+
```bash
|
|
200
|
+
# Generate the three artifacts
|
|
201
|
+
npx kodelyth-ecc sbom --out kodelyth-ecc-sbom.cdx.json
|
|
202
|
+
npx kodelyth-ecc manifest --out kodelyth-ecc-manifest.json
|
|
203
|
+
|
|
204
|
+
# Verify a downstream install
|
|
205
|
+
npx kodelyth-ecc verify --manifest kodelyth-ecc-manifest.json
|
|
206
|
+
# → exit 0 if clean, exit 1 if any file is tampered or missing
|
|
207
|
+
|
|
208
|
+
# CI-friendly
|
|
209
|
+
npx kodelyth-ecc verify --manifest manifest.json --json | jq .ok
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
Pairs with swarm orchestrator (pre-flight verify), session replay (replay bundles can carry the producing toolkit's manifest digest), safety hooks (can warn on tampered toolkit), and the MCP server (can expose `verify` to downstream agents).
|
|
213
|
+
|
|
214
|
+
### New: Session replay
|
|
215
|
+
|
|
216
|
+
Every swarm coordination dir is now a portable, replayable artifact. Bundle a session into a single JSON file, ship it anywhere, re-run it with optional A/B variations (different harness, different agents, different base ref). Composes with swarm orchestrator and cost-aware model router for prompt regression testing and model A/B comparison.
|
|
217
|
+
|
|
218
|
+
- **`scripts/replay/bundle.js`** — pure read/write of session bundles. Stable schema `kodelyth.session-bundle/v1`. Exports task/handoff/status per worker, validates on import, supports diff between two bundles, auto-generates `-replay-N` session names.
|
|
219
|
+
- **`scripts/replay/replay.js`** — replay engine. Extracts shared task from bundle (prefers `meta.task`, falls back to parsing the worker's `## Shared Task` block, final fallback to orchestrator's `## Objective` block). Wires bundle + swarm builder + orchestrator with full variation support.
|
|
220
|
+
- **`bin/kodelyth-ecc.js`** — three new subcommands: `session-export <session> [--task] [--agents] [--harness] [--base-ref] [--out]`, `session-import <bundle> [--target] [--overwrite]`, `replay <bundle|session> [--harness] [--agents] [--base-ref] [--session] [--replace] [--execute|--write-only|--json]`.
|
|
221
|
+
- **`skills/session-replay/SKILL.md`** — explicit-invocation form with examples for bug-report bundles, model A/B tests, regression checks.
|
|
222
|
+
- **`commands/replay.md`** — `/replay` slash command.
|
|
223
|
+
- **`docs/replay.md`** — full reference: CLI commands, bundle format, replay reconstruction logic, variation matrix, hard rules, programmatic API.
|
|
224
|
+
- **`tests/replay/bundle.test.js`** + **`tests/replay/replay.test.js`** — 27 new tests covering bundle round-trip, schema validation, diff correctness, import/overwrite semantics, replay name generation, task extraction (3 fallback paths), variation flags, and orchestrator integration.
|
|
225
|
+
|
|
226
|
+
CLI snapshot:
|
|
227
|
+
|
|
228
|
+
```bash
|
|
229
|
+
# Export a finished swarm with rich meta
|
|
230
|
+
npx kodelyth-ecc session-export swarm-2026-05-10-4a \
|
|
231
|
+
--task "audit oauth flow" \
|
|
232
|
+
--agents security-reviewer,code-reviewer,pair-programmer,tdd-guide \
|
|
233
|
+
--harness claude \
|
|
234
|
+
--out oauth-audit.bundle.json
|
|
235
|
+
|
|
236
|
+
# Replay with a different harness (model A/B test)
|
|
237
|
+
npx kodelyth-ecc replay oauth-audit.bundle.json --harness codex --execute
|
|
238
|
+
|
|
239
|
+
# Replay with different agents
|
|
240
|
+
npx kodelyth-ecc replay oauth-audit.bundle.json \
|
|
241
|
+
--agents supply-chain-auditor,prompt-injection-hunter,secret-hunter \
|
|
242
|
+
--execute
|
|
243
|
+
|
|
244
|
+
# Replay against new code
|
|
245
|
+
npx kodelyth-ecc replay oauth-audit.bundle.json --base-ref refactor/oauth-rewrite --execute
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
Replays auto-name as `<original>-replay-N` to never collide. Bundles are pure JSON — diff-friendly for regression review and shippable as bug-report artifacts.
|
|
249
|
+
|
|
250
|
+
### New: Swarm orchestrator
|
|
251
|
+
|
|
252
|
+
The generalized form of `/devil-mode`, `/team-review`, `/security-audit`, and `/pre-release`. Pick any task, pick any agents (or let ECC pick from task signals), get N parallel git-worktrees + a tmux session ready to attach. Promotes the existing `tmux-worktree-orchestrator` infrastructure to a first-class CLI surface.
|
|
253
|
+
|
|
254
|
+
- **`scripts/swarm/build-plan.js`** — pure-function plan builder. Takes simple flags and produces a config compatible with the orchestrator. Smart agent picker: 14 signal classes (security, perf, API, tests, …), baseline anchors (code-reviewer + pair-programmer), 4/6/8-agent default rotations. Per-agent task shaping (required handoff sections).
|
|
255
|
+
- **`bin/kodelyth-ecc.js`** — new `swarm` subcommand: `--task`, `--agents N|name1,name2,...`, `--harness claude|codex|opencode|windsurf|echo`, `--seed`, `--session`, `--base-ref`, `--replace`, `--execute`/`--write-only`/`--dry-run`/`--json`, plus power-user `--plan plan.json`.
|
|
256
|
+
- **`skills/swarm-orchestrator/SKILL.md`** — explicit-invocation form; full pairing matrix with cost-router (2.4), token-budget hook (2.10), MCP client mode (2.5).
|
|
257
|
+
- **`commands/swarm.md`** — `/swarm` slash command.
|
|
258
|
+
- **`docs/swarm.md`** — full reference: CLI flags, smart agent picker, harness adapters, coordination protocol, lifecycle, troubleshooting.
|
|
259
|
+
- **`tests/swarm/build-plan.test.js`** — 21 new tests covering pickAgents (signal-driven, baseline, rotation, dedup, count clamping), shapeTaskForAgent, buildWorker (4 harnesses + custom), buildSwarmPlan (validation, orchestrator integration, explicit agents preserved, full pass-through).
|
|
260
|
+
|
|
261
|
+
CLI snapshot:
|
|
262
|
+
|
|
263
|
+
```bash
|
|
264
|
+
# Smart agent picking from signals:
|
|
265
|
+
npx kodelyth-ecc swarm --task "audit oauth flow for security regressions" --agents 4
|
|
266
|
+
# → picks security-reviewer + code-reviewer + pair-programmer + tdd-guide
|
|
267
|
+
|
|
268
|
+
# Explicit agents:
|
|
269
|
+
npx kodelyth-ecc swarm \
|
|
270
|
+
--task "ship v2.0" \
|
|
271
|
+
--agents release-captain,security-reviewer,e2e-runner \
|
|
272
|
+
--execute
|
|
273
|
+
|
|
274
|
+
# Pre-launch full sweep:
|
|
275
|
+
npx kodelyth-ecc swarm --task "Pre-launch sweep for v2.0" --agents 8 --replace --execute
|
|
276
|
+
tmux attach -t swarm-2026-05-10-8a
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
Default mode is **dry-run** — prints a summary, doesn't spawn anything. `--write-only` materializes the coordination files (task.md / handoff.md / status.md per worker). `--execute` creates worktrees + tmux + launches agents with full rollback on failure.
|
|
280
|
+
|
|
281
|
+
### New: MCP client mode
|
|
282
|
+
|
|
283
|
+
The other half of MCP. While 2.1 serves ECC to any client, 2.5 lets ECC **consume** any external MCP server (Stripe, GitHub, Postgres, Redis, Brave, Filesystem, Shopify, anything). ECC is now the MCP **hub**.
|
|
284
|
+
|
|
285
|
+
- **`scripts/mcp/client.js`** — registry + connect/list-tools/call-tool/list-resources/read-resource/list-prompts/get-prompt helpers. Lazy-loads `@modelcontextprotocol/sdk` with a friendly install hint if missing.
|
|
286
|
+
- **`bin/kodelyth-ecc.js`** — five new subcommands: `mcp-add`, `mcp-list`, `mcp-remove`, `mcp-tools`, `mcp-resources`, `mcp-prompts`, `mcp-call`. JSON args via `--json '{"arg":"value"}'`. Env vars via `--env KEY=VAL`.
|
|
287
|
+
- **`docs/mcp-clients.md`** — full reference, examples for github/postgres/stripe/brave/filesystem/redis, programmatic API, privacy notes, troubleshooting.
|
|
288
|
+
- **`tests/mcp/client.test.js`** — 9 new tests including end-to-end stdio handshake using the LOCAL kodelyth MCP server itself as a real test target (registry persistence, addServer validation, listTools, callTool, listResources, listPrompts, error path).
|
|
289
|
+
|
|
290
|
+
CLI snapshot:
|
|
291
|
+
|
|
292
|
+
```bash
|
|
293
|
+
# Register
|
|
294
|
+
npx kodelyth-ecc mcp-add github \
|
|
295
|
+
--env GITHUB_PERSONAL_ACCESS_TOKEN=ghp_... \
|
|
296
|
+
-- npx -y @modelcontextprotocol/server-github
|
|
297
|
+
|
|
298
|
+
# Inspect
|
|
299
|
+
npx kodelyth-ecc mcp-list
|
|
300
|
+
npx kodelyth-ecc mcp-tools github
|
|
301
|
+
|
|
302
|
+
# Call
|
|
303
|
+
npx kodelyth-ecc mcp-call github create_issue \
|
|
304
|
+
--json '{"owner":"sifxprime","repo":"kodelyth-ecc","title":"hi from ECC"}'
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
The registry lives at `~/.kodelyth/mcp-clients.json` (override with `KODELYTH_MCP_CLIENT_DIR`). Each call spawns a fresh stdio subprocess — no long-lived process pool, no credential leakage between sessions.
|
|
308
|
+
|
|
309
|
+
### New: Cost-aware model router
|
|
310
|
+
|
|
311
|
+
The orthogonal companion to agent intent routing. While intent routing picks _which specialist agent_ handles a task, this router picks _which model tier_ runs it — keeping teams from burning frontier-model tokens on doc typos and rename refactors.
|
|
312
|
+
|
|
313
|
+
- **`rules/common/cost-aware-model-routing.md`** — always-on rule. Three tiers (trivial/standard/hard) with weighted signal classification. Hard rules: security/incident/adversarial agents never downgrade; production framing wins; multi-file (3+) refactors never go to trivial; respect explicit user choice; bias downward when token-budget > 70%.
|
|
314
|
+
- **`skills/cost-aware-model-routing/SKILL.md`** — explicit-invocation form for "what model should I use" questions.
|
|
315
|
+
- **`commands/route-model.md`** — `/route-model` slash command for ad-hoc on-demand routing.
|
|
316
|
+
- **`scripts/router/classify.js`** — pure-function deterministic classifier with full config loader (env vars + `.kodelyth/router.json` project file).
|
|
317
|
+
- **`bin/kodelyth-ecc.js`** — new `route` CLI subcommand: `npx kodelyth-ecc route "<task>" [--files N] [--agent <name>] [--current <model>] [--json]`.
|
|
318
|
+
- **`tests/router/classify.test.js`** — 19 new tests covering classification, config precedence (env > project file > defaults), agent override, and disabled-mode.
|
|
319
|
+
|
|
320
|
+
Configuration surface:
|
|
321
|
+
|
|
322
|
+
```bash
|
|
323
|
+
# Disable entirely
|
|
324
|
+
KODELYTH_ROUTER=off
|
|
325
|
+
|
|
326
|
+
# Override per tier (provider-agnostic)
|
|
327
|
+
KODELYTH_ROUTER_TRIVIAL=gpt-4.1-mini
|
|
328
|
+
KODELYTH_ROUTER_STANDARD=claude-sonnet-4-6
|
|
329
|
+
KODELYTH_ROUTER_HARD=gpt-5
|
|
330
|
+
|
|
331
|
+
# Or via .kodelyth/router.json at project root
|
|
332
|
+
{ "trivial": "...", "standard": "...", "hard": "...", "notes": "set by infra team" }
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
Pairs with the `token-budget` safety hook for full cost discipline (the hook caps total spend; the router cuts the steady leak from frontier-model overuse on routine work). Together they typically reduce LLM bills by 50–70% with no measurable quality drop on standard tasks.
|
|
336
|
+
|
|
337
|
+
### New: Safety hooks
|
|
338
|
+
|
|
339
|
+
Two production-ready safety primitives that ride on the existing hook pipeline. **Off by default** — opt in via env vars so existing users see zero behavior change.
|
|
340
|
+
|
|
341
|
+
- **`hooks/safety/prompt-injection-guard.js`** — scans inbound text on `UserPromptSubmit` and `PostToolUse` (Read, WebFetch, mcp__*) for jailbreak / instruction-override patterns. Three modes: `off` (default), `warn`, `block`. Detects 11 pattern classes across 3 severity tiers (critical / high / medium) plus base64-decoded payload jailbreak detection. Configurable audit log at `KODELYTH_PI_GUARD_LOG`.
|
|
342
|
+
- **`hooks/safety/token-budget.js`** — per-session token-budget enforcer on `SessionStart` and `Stop`. Tracks usage via 4-chars-per-token heuristic over transcript size + visible message lengths. Three modes: `off` (default), `warn`, `<positive integer>`. Blocks `SessionStart` once usage ≥ budget; warns at 70%. State files live at `${KODELYTH_TOKEN_BUDGET_DIR}/budget-<sessionId>.json`.
|
|
343
|
+
- **`hooks/safety/lib/patterns.js`** — shared, auditable regex pattern catalog. 11 named patterns + decoded base64 probe.
|
|
344
|
+
- **`hooks/safety/README.md`** — full configuration + rollout guide.
|
|
345
|
+
- **`tests/safety/*.test.js`** — 29 new tests covering pattern detection, hook block/warn/off paths, malformed JSON recovery, and reset flow.
|
|
346
|
+
|
|
347
|
+
Both hooks always exit 0 on internal errors so they never block users due to a bug.
|
|
348
|
+
|
|
349
|
+
### Test count
|
|
350
|
+
|
|
351
|
+
47 → **336 tests** (added 35 MCP server + 9 MCP client + 29 safety + 19 router + 21 swarm + 27 replay + 31 supply-chain + 42 self-evolving memory + 39 dashboard + 37 from prior phases). All pass.
|
|
352
|
+
|
|
353
|
+
### What shipped in v1.7.0
|
|
354
|
+
|
|
355
|
+
- ✅ Devil-mode adversarial agents (8 agents + `/devil-mode` command)
|
|
356
|
+
- ✅ MCP server (16 tools, 6 prompts, 370+ resources)
|
|
357
|
+
- ✅ Local observability dashboard
|
|
358
|
+
- ✅ Cost-aware model router
|
|
359
|
+
- ✅ MCP client mode (consume external MCP servers)
|
|
360
|
+
- ✅ Swarm orchestrator (parallel agents in git worktrees)
|
|
361
|
+
- ✅ Session replay + portable bundles
|
|
362
|
+
- ✅ SLSA L3 + SBOM + content manifest
|
|
363
|
+
- ✅ Safety hooks (prompt-injection-guard + token-budget)
|
|
364
|
+
- ✅ Self-evolving memory (proposals from usage patterns)
|
|
365
|
+
- ✅ Power bundles (indie-hacker / red-team / enterprise)
|
|
366
|
+
- ✅ GitHub Action (CI/CD PR review integration)
|
|
367
|
+
- ✅ 5 new IDE platforms (Cline, Roo Code, Aider, Kimi, Gemini CLI)
|
|
368
|
+
- ✅ README rewrite (infrastructure-first framing)
|
|
369
|
+
|
|
370
|
+
---
|
|
371
|
+
|
|
372
|
+
## v1.6.0 — DEVIL MODE: Adversarial agent crew + `/devil-mode` parallel sweep (May 2026)
|
|
373
|
+
|
|
374
|
+
This release introduces the 8-agent adversarial red-team crew, a new parallel command that fires four of them in one shot, power bundles, and 5 new IDE platform targets.
|
|
375
|
+
|
|
376
|
+
### New Agents (8 — adversarial / red-team mindset)
|
|
377
|
+
|
|
378
|
+
Each ships with a full attacker-mindset playbook, real bash-grep patterns, severity calibration, and remediation steps. Not theatrical personas — they do real audit work.
|
|
379
|
+
|
|
380
|
+
- **`prompt-injection-hunter`** — adversarial AI safety auditor. Hunts jailbreaks, indirect injection, system-prompt leaks, tool-call hijacking. Probes RAG pipelines, MCP servers, and any code that feeds untrusted text into an LLM.
|
|
381
|
+
- **`supply-chain-auditor`** — dependency attacker review. Detects typosquats, malicious post-install scripts, lockfile drift, slopsquats (AI-generated phantom packages), tarball-vs-repo divergence.
|
|
382
|
+
- **`secret-hunter`** — leaked-credential detective. Scans live code, git history, env files, build artifacts, CI logs, encoded blobs (base64/hex), and bundled-to-client env vars. Includes provider pattern catalog (AWS, Stripe, GitHub, Slack, JWT, etc.) and key-validity probing.
|
|
383
|
+
- **`license-violation-finder`** — IP / copyleft contamination auditor. Hunts GPL/AGPL deps in proprietary code, missing attributions, license cocktails, license changes between versions (Elastic/Mongo/HashiCorp pattern), AI-generated code with copyleft training data.
|
|
384
|
+
- **`jailbreak-tester`** — live AI-feature red-teamer. 10-tier attack battery: surface filter bypass, fictional framing, instruction-following hijack, system-prompt extraction, encoded payloads, tool abuse, multi-turn drift, overrefusal probing, PII exfil, output-channel abuse.
|
|
385
|
+
- **`code-stealer-detector`** — code-provenance auditor. Hunts copy-pasted Stack Overflow snippets, copyleft contamination, leaked private code, AI-generated code with unverified provenance, vendored libs without attribution, embedded encoded blobs.
|
|
386
|
+
- **`backdoor-hunter`** — malicious-code-pattern detector. 12 hunt categories: obfuscated execution, network beacons, time bombs (xz utils CVE-2024-3094 pattern), reverse shells, credential exfiltration, build-time injection, webshells, dynamic loading, cryptominers, telemetry exfil.
|
|
387
|
+
- **`chaos-engineer`** — adversarial reliability tester. Hypothesis-first fault injection: process death, network partition, latency injection, DNS failure, disk full, clock skew, memory pressure, dependency failure, concurrency abuse, input fuzzing. Includes pre-flight checklist + abort criteria for safe execution.
|
|
388
|
+
|
|
389
|
+
### New Parallel Command
|
|
390
|
+
|
|
391
|
+
- **`/devil-mode`** — fires `prompt-injection-hunter` + `supply-chain-auditor` + `secret-hunter` + `backdoor-hunter` simultaneously. The "attacker mindset on the whole codebase" sweep.
|
|
392
|
+
- `/devil-mode --all` — fires all 8 adversarial agents
|
|
393
|
+
- `/devil-mode --pre-public` — pre-open-source sweep (adds license + theft check)
|
|
394
|
+
- `/devil-mode --pre-launch` — pre-launch sweep (adds AI red-team + chaos planning)
|
|
395
|
+
|
|
396
|
+
### Intent Routing Updates
|
|
397
|
+
|
|
398
|
+
- Added a new "Devil-Mode Adversarial Crew" section under Priority 3 with intent patterns for all 8 agents
|
|
399
|
+
- Added `/devil-mode` to the parallel commands section with full trigger matrix
|
|
400
|
+
- Added 11 new rows to the Quick Reference Table covering attacker-mindset phrasings ("think like an attacker", "going open-source full audit", "we were hacked", etc.)
|
|
401
|
+
- Users can now route to any devil-mode agent or command in plain language without remembering names
|
|
402
|
+
|
|
403
|
+
### Power Bundles
|
|
404
|
+
|
|
405
|
+
Three audience-tailored bundles installable via `--bundle` flag. Each installs the full ECC toolkit + a curated `BUNDLE.md` cheat sheet that biases the AI toward workflows fit for that audience.
|
|
406
|
+
|
|
407
|
+
```bash
|
|
408
|
+
npx kodelyth-ecc --bundle indie-hacker # Solo founder / SaaS — ship fast, validate, harden
|
|
409
|
+
npx kodelyth-ecc --bundle red-team # Security engineer — devil-mode + adversarial workflows
|
|
410
|
+
npx kodelyth-ecc --bundle enterprise # Compliance team — SBOM, license, supply chain
|
|
411
|
+
```
|
|
412
|
+
|
|
413
|
+
- New files: `bundles/indie-hacker.md`, `bundles/red-team.md`, `bundles/enterprise.md`
|
|
414
|
+
- `install.sh` and `install.ps1` accept `--bundle` / `-Bundle` flag, both with full alias support (`indie`, `redteam`, `security`, `compliance`)
|
|
415
|
+
- Bundle pre-selects sensible language modules (`typescript+python` for indie/red-team, `typescript+java+python` for enterprise)
|
|
416
|
+
- `BUNDLE.md` is copied to install destination so the AI reads it on every session start
|
|
417
|
+
- Bundle name persisted in `kodelyth-ecc-install-state.json`
|
|
418
|
+
- Bundle-specific reminder displayed at install end with the right lead-with commands
|
|
419
|
+
|
|
420
|
+
### New IDE Platforms
|
|
421
|
+
|
|
422
|
+
ECC now installs natively to **5 additional AI coding platforms**, closing the platform-coverage gap with `agency-agents` and unlocking new communities:
|
|
423
|
+
|
|
424
|
+
```bash
|
|
425
|
+
npx kodelyth-ecc --target cline # Cline (VS Code) — .clinerules/
|
|
426
|
+
npx kodelyth-ecc --target roocode # Roo Code (VS Code) — .roo/
|
|
427
|
+
npx kodelyth-ecc --target aider # Aider terminal agent — .aider-ecc/ + CONVENTIONS.md
|
|
428
|
+
npx kodelyth-ecc --target kimi # Kimi Code — .kimi/
|
|
429
|
+
npx kodelyth-ecc --target gemini-project # Gemini CLI (project) — .gemini/
|
|
430
|
+
npx kodelyth-ecc --target gemini-home # Gemini CLI (global) — ~/.gemini/
|
|
431
|
+
```
|
|
432
|
+
|
|
433
|
+
Per-target install layouts:
|
|
434
|
+
|
|
435
|
+
| Target | Destination | Layout |
|
|
436
|
+
|---|---|---|
|
|
437
|
+
| `cline` | `./.clinerules/` | Flat: rules + agents + commands all merged as `.md` |
|
|
438
|
+
| `roocode` | `./.roo/` | Subdirs: `rules/`, `agents/`, `skills/`, `commands/` |
|
|
439
|
+
| `aider` | `./.aider-ecc/` + `./CONVENTIONS.md` | Subdirs + auto-generated CONVENTIONS.md if missing |
|
|
440
|
+
| `kimi` | `./.kimi/` | Subdirs: `rules/`, `agents/`, `skills/`, `commands/` |
|
|
441
|
+
| `gemini-project` | `./.gemini/` + `GEMINI.md` | Subdirs: `agents/`, `skills/`, `rules/` |
|
|
442
|
+
| `gemini-home` | `~/.gemini/` + `GEMINI.md` | Same as above, global |
|
|
443
|
+
|
|
444
|
+
Each target writes a tailored "what to do now" message at install end, and Aider/Gemini get auto-generated bootstrap files (`CONVENTIONS.md`, `GEMINI.md`) that their CLIs auto-load.
|
|
445
|
+
|
|
446
|
+
Total IDE coverage jumps from **6** to **11** platforms — making ECC easily the most cross-platform AI coding toolkit shipped.
|
|
447
|
+
|
|
448
|
+
### README Rewrite
|
|
449
|
+
|
|
450
|
+
- Sharper "Why ECC ≠ Another Agent Collection" hero anchored on the **infrastructure thesis** (layered stack vs flat agent folders)
|
|
451
|
+
- New **Layer Stack** table showing what each layer does and how it's missing from competitors
|
|
452
|
+
- New **Quick Comparison vs Other Kits** table — 13 rows comparing ECC against `agency-agents`, `awesome-claude-agents`, generic prompt libs
|
|
453
|
+
- New **Devil Mode** showcase block in hero
|
|
454
|
+
- New **Power Bundles** section under Install
|
|
455
|
+
- "What's Inside" updated to v1.6.0 counts + new Parallel Commands row
|
|
456
|
+
|
|
457
|
+
### Counts
|
|
458
|
+
|
|
459
|
+
| Metric | v1.5.10 | v1.6.0 |
|
|
460
|
+
|---|---|---|
|
|
461
|
+
| Agents | 62 | **70** |
|
|
462
|
+
| Commands | 90 | **91** |
|
|
463
|
+
| Parallel commands | 7 | **8** |
|
|
464
|
+
| Power bundles | 0 | **3** |
|
|
465
|
+
| Audience-tailored installs | 0 | **3** |
|
|
466
|
+
| IDE platform targets | 7 | **13** (added cline, roocode, aider, kimi, gemini-project, gemini-home) |
|
|
467
|
+
| IDE platform families | 6 | **11** |
|
|
468
|
+
|
|
469
|
+
### What shipped in v1.6.0
|
|
470
|
+
|
|
471
|
+
- 8 adversarial devil-mode agents (prompt-injection-hunter, supply-chain-auditor, secret-hunter, license-violation-finder, jailbreak-tester, code-stealer-detector, backdoor-hunter, chaos-engineer)
|
|
472
|
+
- `/devil-mode` parallel command — attacker-mindset sweep with `--all`, `--pre-public`, `--pre-launch` variants
|
|
473
|
+
- 3 power bundles (`indie-hacker`, `red-team`, `enterprise`) installable via `--bundle` flag
|
|
474
|
+
- 6 new IDE platform targets (cline, roocode, aider, kimi, gemini-project, gemini-home)
|
|
475
|
+
- Revamped README with comparison table and Layer Stack section
|
|
476
|
+
- Full intent routing for all 8 devil-mode agents in plain language
|
|
477
|
+
|
|
478
|
+
---
|
|
479
|
+
|
|
5
480
|
## v1.5.10 — Fix install crash on macOS bash 3.2 (May 2026)
|
|
6
481
|
|
|
7
482
|
### Bug Fix
|
package/CLAUDE.md
CHANGED
|
@@ -6,24 +6,27 @@ Guidance for Claude Code when working with this repository.
|
|
|
6
6
|
|
|
7
7
|
**Kodelyth ECC** — a production-grade AI coding toolkit:
|
|
8
8
|
|
|
9
|
-
- **
|
|
10
|
-
- **
|
|
11
|
-
- **
|
|
12
|
-
- **
|
|
13
|
-
- **
|
|
9
|
+
- **70 specialist agents** — debug-detective, incident-commander, load-tester, image-architect, kodelyth-memory, security-reviewer, plus 8 adversarial devil-mode agents
|
|
10
|
+
- **194 skills** — domain knowledge, patterns, testing, security, intent routing, local memory, swarm orchestration, MCP integration
|
|
11
|
+
- **97 commands** — slash workflows (`/tdd`, `/plan`, `/code-review`, `/team-review`, `/devil-mode`, `/debug-blitz`, `/security-audit`, ...)
|
|
12
|
+
- **22+ hooks** — quality gates, memory inject + capture, correction encoding, prompt-injection guard, token-budget enforcer
|
|
13
|
+
- **14 rules** — always-on coding standards + semantic intent routing + memory protocol + self-improvement
|
|
14
14
|
|
|
15
|
-
Works with Claude Code, Windsurf, Cursor, Codex CLI, Antigravity, and
|
|
15
|
+
Works with Claude Code, Windsurf, Cursor, Codex CLI, Antigravity, OpenCode, Cline, Roo Code, Aider, Kimi, and Gemini CLI — **11 platforms** (13 install targets).
|
|
16
16
|
|
|
17
17
|
## Architecture
|
|
18
18
|
|
|
19
19
|
```
|
|
20
|
-
agents/ →
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
hooks/ →
|
|
24
|
-
rules/ →
|
|
25
|
-
scripts/ →
|
|
26
|
-
|
|
20
|
+
agents/ → 70 specialist subagents (planner, code-reviewer, debug-detective, devil-mode crew, ...)
|
|
21
|
+
commands/ → 97 slash commands (8 parallel multi-agent, rest single-agent)
|
|
22
|
+
skills/ → 194 workflow + domain knowledge files (loadable via slash commands)
|
|
23
|
+
hooks/ → 22+ automations (pre-commit, session memory, prompt-injection guard, token-budget)
|
|
24
|
+
rules/ → 14 always-on guidelines (agent-intent-routing, self-improvement, memory-protocol, ...)
|
|
25
|
+
scripts/ → Node.js utilities: MCP server, dashboard, swarm, replay, router, memory, supply-chain
|
|
26
|
+
bundles/ → 3 power bundles (indie-hacker, red-team, enterprise)
|
|
27
|
+
actions/ → GitHub Action (CI/CD integration for PR review)
|
|
28
|
+
docs/ → Feature docs (mcp.md, dashboard.md, swarm.md, replay.md, evolve.md, supply-chain.md)
|
|
29
|
+
tests/ → 336 passing tests across 24 test files
|
|
27
30
|
```
|
|
28
31
|
|
|
29
32
|
## Running Tests
|
|
@@ -34,7 +37,25 @@ npm test
|
|
|
34
37
|
node tests/run-all.js
|
|
35
38
|
```
|
|
36
39
|
|
|
37
|
-
##
|
|
40
|
+
## CLI Subcommands
|
|
41
|
+
|
|
42
|
+
Beyond install, the `npx kodelyth-ecc` CLI exposes:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
npx kodelyth-ecc mcp # Start MCP server (stdio JSON-RPC)
|
|
46
|
+
npx kodelyth-ecc route "<task>" # Cost-aware model-tier recommendation
|
|
47
|
+
npx kodelyth-ecc swarm --task "..." # Parallel agents in git worktrees
|
|
48
|
+
npx kodelyth-ecc dashboard # Localhost observability dashboard
|
|
49
|
+
npx kodelyth-ecc evolve analyze # Self-evolving memory proposals
|
|
50
|
+
npx kodelyth-ecc replay <bundle> # Re-run a past session
|
|
51
|
+
npx kodelyth-ecc sbom # CycloneDX 1.5 SBOM
|
|
52
|
+
npx kodelyth-ecc manifest # sha256 content manifest
|
|
53
|
+
npx kodelyth-ecc verify # Verify install against manifest
|
|
54
|
+
npx kodelyth-ecc mcp-add <name> -- <cmd> # Register external MCP server
|
|
55
|
+
npx kodelyth-ecc session-export <session> # Export session bundle
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Intent Routing
|
|
38
59
|
|
|
39
60
|
The toolkit ships with a god-tier intent routing rule (`rules/common/agent-intent-routing.md`) that auto-loads on every session. It maps user intent → specialist agent across 10 priority tiers.
|
|
40
61
|
|
|
@@ -47,7 +68,7 @@ When a user message matches a routing pattern, you MUST:
|
|
|
47
68
|
|
|
48
69
|
## Parallel Commands (Fastest Paths — Multi-Agent)
|
|
49
70
|
|
|
50
|
-
These fire multiple specialist agents simultaneously
|
|
71
|
+
These fire multiple specialist agents simultaneously:
|
|
51
72
|
|
|
52
73
|
| Command | Agents Fired | Best For |
|
|
53
74
|
|---|---|---|
|
|
@@ -58,6 +79,7 @@ These fire multiple specialist agents simultaneously. Use these for the fastest
|
|
|
58
79
|
| `/refactor-sprint` | refactor-cleaner + code-simplifier + type-design-analyzer + tdd-guide | Full cleanup before a feature sprint |
|
|
59
80
|
| `/pre-release` | release-captain + security-reviewer + code-reviewer | Go/no-go verdict before shipping |
|
|
60
81
|
| `/onboard` | code-explorer + architect + doc-updater | Understand any codebase in 15 minutes |
|
|
82
|
+
| `/devil-mode` | prompt-injection-hunter + supply-chain-auditor + secret-hunter + backdoor-hunter | Adversarial sweep (use `--all` for all 8) |
|
|
61
83
|
|
|
62
84
|
## Key Commands
|
|
63
85
|
|
|
@@ -68,6 +90,10 @@ These fire multiple specialist agents simultaneously. Use these for the fastest
|
|
|
68
90
|
- `/code-review` — quality review
|
|
69
91
|
- `/git-mastery` — git workflows + recovery patterns
|
|
70
92
|
- `/observability` — logging, metrics, OpenTelemetry, SLOs
|
|
93
|
+
- `/dashboard` — launch local observability dashboard
|
|
94
|
+
- `/route-model` — cost-aware model selection
|
|
95
|
+
- `/swarm` — parallel agent swarm in git worktrees
|
|
96
|
+
- `/memory-evolve` — self-evolving memory proposals
|
|
71
97
|
|
|
72
98
|
## Specialist Agents (Pick the Right One)
|
|
73
99
|
|
|
@@ -91,14 +117,20 @@ These fire multiple specialist agents simultaneously. Use these for the fastest
|
|
|
91
117
|
| Tests / coverage | `tdd-guide` |
|
|
92
118
|
| Refactor / cleanup | `refactor-cleaner` |
|
|
93
119
|
| Open-source a project | `opensource-forker` (chain start) |
|
|
120
|
+
| Leaked secrets in code/history | `secret-hunter` |
|
|
121
|
+
| Malicious deps / supply chain | `supply-chain-auditor` |
|
|
122
|
+
| AI feature jailbreak safety | `prompt-injection-hunter` |
|
|
123
|
+
| Backdoors / obfuscated code | `backdoor-hunter` |
|
|
124
|
+
| Chaos / fault injection testing | `chaos-engineer` |
|
|
94
125
|
|
|
95
126
|
## Development Notes
|
|
96
127
|
|
|
97
128
|
- Package manager detection: npm, pnpm, yarn, bun
|
|
98
129
|
- Cross-platform: Windows (`install.ps1`), macOS / Linux (`install.sh`), or `npx` anywhere
|
|
99
|
-
- Agent format: Markdown with YAML frontmatter (name, description, tools)
|
|
130
|
+
- Agent format: Markdown with YAML frontmatter (name, description, tools, model)
|
|
100
131
|
- Skill format: Markdown with clear sections (description, when to use, how it works)
|
|
101
132
|
- Hook format: JSON with matcher conditions and command/notification hooks
|
|
133
|
+
- No runtime deps in core — `@modelcontextprotocol/sdk` is an optionalDependency for MCP server only
|
|
102
134
|
|
|
103
135
|
## Contributing
|
|
104
136
|
|