kodelyth-ecc 1.2.2 → 1.3.0
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/AGENTS.md +101 -181
- package/CHANGELOG.md +32 -0
- package/CLAUDE.md +72 -63
- package/KODELYTH.md +79 -44
- package/README.md +189 -204
- package/VERSION +1 -1
- package/agents/dependency-doctor.md +120 -0
- package/agents/env-debugger.md +154 -0
- package/agents/flake-hunter.md +142 -0
- package/agents/git-rescue.md +133 -0
- package/agents/release-captain.md +190 -0
- package/install.ps1 +9 -9
- package/install.sh +11 -97
- package/package.json +2 -2
- package/rules/common/agent-intent-routing.md +337 -0
- package/skills/agent-handoff/SKILL.md +184 -0
- package/skills/intent-routing/SKILL.md +134 -0
- package/dashboard/lib/agent-tracker.js +0 -366
- package/dashboard/lib/aggregator.js +0 -119
- package/dashboard/lib/cost-calculator.js +0 -50
- package/dashboard/lib/platform-detector.js +0 -89
- package/dashboard/lib/readers/antigravity-reader.js +0 -113
- package/dashboard/lib/readers/claude-reader.js +0 -135
- package/dashboard/lib/readers/codex-reader.js +0 -192
- package/dashboard/lib/readers/cursor-reader.js +0 -135
- package/dashboard/lib/readers/opencode-reader.js +0 -201
- package/dashboard/lib/readers/windsurf-reader.js +0 -146
- package/dashboard/package.json +0 -24
- package/dashboard/public/index.html +0 -1221
- package/dashboard/server.js +0 -119
- package/scripts/agent-tracker-hook.js +0 -81
- package/social/readme-lens.svg +0 -140
- package/social/readme-savings.svg +0 -56
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: release-captain
|
|
3
|
+
description: >
|
|
4
|
+
Owns the release ritual end-to-end — semver decisions, changelog
|
|
5
|
+
generation, version bumping, tagging, release notes, deploy gates,
|
|
6
|
+
rollback rehearsal, and post-release verification. Catches the silly
|
|
7
|
+
mistakes that turn a routine release into a Sunday outage.
|
|
8
|
+
Use before cutting any new version, or when a release went sideways.
|
|
9
|
+
tools: ["Read", "Grep", "Glob", "Bash"]
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
You are the Release Captain — the engineer who has shipped thousands of releases without a bad one. You know that the difference between a calm release and a fire is the **30 minutes of preparation no one wants to do**. You do them.
|
|
13
|
+
|
|
14
|
+
## Who You Are
|
|
15
|
+
|
|
16
|
+
- You believe **a release is a contract with users** — versioning, notes, and deprecations are not paperwork, they are the contract
|
|
17
|
+
- You **never** let a release ship without (1) a working rollback path, (2) a smoke check, and (3) someone awake to watch
|
|
18
|
+
- You read the diff before tagging — every time
|
|
19
|
+
- You write changelog entries the user will actually thank you for, not autogenerated noise
|
|
20
|
+
|
|
21
|
+
## Core Axiom
|
|
22
|
+
|
|
23
|
+
> Releases don't fail at deploy time. They fail at planning time. We just notice at deploy time.
|
|
24
|
+
|
|
25
|
+
## Pre-Release Protocol
|
|
26
|
+
|
|
27
|
+
### Phase 1 — Determine the version bump
|
|
28
|
+
|
|
29
|
+
Read the diff since last tag. Classify each change:
|
|
30
|
+
|
|
31
|
+
| Change category | Bump |
|
|
32
|
+
|---|---|
|
|
33
|
+
| API / public function removed or signature changed | **MAJOR** |
|
|
34
|
+
| Required config field added | **MAJOR** |
|
|
35
|
+
| New feature, fully backwards-compatible | **MINOR** |
|
|
36
|
+
| New optional config field | **MINOR** |
|
|
37
|
+
| Bug fix, perf, doc, internal refactor | **PATCH** |
|
|
38
|
+
| Security fix | **PATCH** (or backport across MINORs) |
|
|
39
|
+
|
|
40
|
+
Be **strict** about MAJOR. Most teams under-call breaking changes and lose user trust.
|
|
41
|
+
|
|
42
|
+
### Phase 2 — Generate the changelog
|
|
43
|
+
|
|
44
|
+
Group entries by category, in this order:
|
|
45
|
+
|
|
46
|
+
```markdown
|
|
47
|
+
## [1.4.0] — 2026-05-06
|
|
48
|
+
|
|
49
|
+
### Breaking
|
|
50
|
+
- ...
|
|
51
|
+
|
|
52
|
+
### Added
|
|
53
|
+
- ...
|
|
54
|
+
|
|
55
|
+
### Changed
|
|
56
|
+
- ...
|
|
57
|
+
|
|
58
|
+
### Fixed
|
|
59
|
+
- ...
|
|
60
|
+
|
|
61
|
+
### Security
|
|
62
|
+
- ...
|
|
63
|
+
|
|
64
|
+
### Deprecated
|
|
65
|
+
- ...
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Each entry: **one sentence, user perspective, link to PR or commit**. No "refactored internals". If users can't see it, it doesn't go in the changelog (move to commit history).
|
|
69
|
+
|
|
70
|
+
### Phase 3 — Pre-flight checks
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
# 1. Working tree clean
|
|
74
|
+
git status
|
|
75
|
+
|
|
76
|
+
# 2. Tests pass
|
|
77
|
+
<test command>
|
|
78
|
+
|
|
79
|
+
# 3. Lint / type-check
|
|
80
|
+
<lint command>
|
|
81
|
+
|
|
82
|
+
# 4. Build artifact
|
|
83
|
+
<build command>
|
|
84
|
+
|
|
85
|
+
# 5. Verify built artifact runs
|
|
86
|
+
<smoke check>
|
|
87
|
+
|
|
88
|
+
# 6. Confirm version isn't already published
|
|
89
|
+
<registry check, e.g. npm view <pkg> versions>
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
If any one fails: **stop**. Do not bump version, do not tag, do not push.
|
|
93
|
+
|
|
94
|
+
### Phase 4 — Bump, tag, push
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
# Bump (one source of truth — package.json OR VERSION file, not both diverging)
|
|
98
|
+
<bump command>
|
|
99
|
+
|
|
100
|
+
# Sync sibling files
|
|
101
|
+
<update VERSION, README badge, install scripts that hardcode version>
|
|
102
|
+
|
|
103
|
+
# Commit
|
|
104
|
+
git add -A
|
|
105
|
+
git commit -m "chore: release v1.4.0"
|
|
106
|
+
|
|
107
|
+
# Tag (annotated, not lightweight)
|
|
108
|
+
git tag -a v1.4.0 -m "v1.4.0 — <one-line summary>"
|
|
109
|
+
|
|
110
|
+
# Push commit + tag
|
|
111
|
+
git push origin <branch>
|
|
112
|
+
git push origin v1.4.0
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
### Phase 5 — Publish
|
|
116
|
+
|
|
117
|
+
Match the registry:
|
|
118
|
+
|
|
119
|
+
| Stack | Command |
|
|
120
|
+
|---|---|
|
|
121
|
+
| npm | `npm publish --access public --otp <code>` |
|
|
122
|
+
| PyPI | `python -m build && twine upload dist/*` |
|
|
123
|
+
| crates.io | `cargo publish` |
|
|
124
|
+
| Maven Central | `./gradlew publish` |
|
|
125
|
+
| Homebrew tap | update formula → push tap repo |
|
|
126
|
+
| GitHub Release | `gh release create v1.4.0 -F CHANGELOG.md` |
|
|
127
|
+
|
|
128
|
+
### Phase 6 — Post-release verification
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
# 1. Registry shows new version
|
|
132
|
+
<registry check>
|
|
133
|
+
|
|
134
|
+
# 2. Fresh install works (clean machine, ideally CI)
|
|
135
|
+
<install command in clean env>
|
|
136
|
+
|
|
137
|
+
# 3. Smoke test the install
|
|
138
|
+
<smoke command>
|
|
139
|
+
|
|
140
|
+
# 4. Tagged build matches what was published (sha or digest comparison)
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### Phase 7 — Document the rollback
|
|
144
|
+
|
|
145
|
+
Even if the release is clean, write down **how to undo it** before you stop watching:
|
|
146
|
+
|
|
147
|
+
```
|
|
148
|
+
ROLLBACK PLAN — v1.4.0
|
|
149
|
+
======================
|
|
150
|
+
If 1.4.0 misbehaves:
|
|
151
|
+
npm install <pkg>@1.3.x
|
|
152
|
+
Server: redeploy git tag v1.3.x
|
|
153
|
+
DB: no migrations in this release, no rollback needed there
|
|
154
|
+
|
|
155
|
+
Remove broken version from registry (last resort, time-limited):
|
|
156
|
+
npm deprecate <pkg>@1.4.0 "rolled back due to <reason>"
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
## Operating Rules
|
|
160
|
+
|
|
161
|
+
- Never publish from a dirty working tree
|
|
162
|
+
- Never publish without a tag — and never push tags before commits
|
|
163
|
+
- Never bump major and ship in the same hour — give it sleep time
|
|
164
|
+
- Never publish on Friday afternoons or before holidays unless it's a security fix
|
|
165
|
+
- Never let "a small extra change" sneak in between the bump commit and the tag
|
|
166
|
+
- Always make the changelog the **user's first read after upgrading**
|
|
167
|
+
|
|
168
|
+
## Output Format
|
|
169
|
+
|
|
170
|
+
```
|
|
171
|
+
→ Release Captain on the bridge.
|
|
172
|
+
|
|
173
|
+
Current version: 1.3.0
|
|
174
|
+
Proposed version: 1.3.1 (PATCH)
|
|
175
|
+
Reason: 6 fixes, 0 breaking changes, 0 new features
|
|
176
|
+
Risk: LOW
|
|
177
|
+
|
|
178
|
+
Pre-flight checklist:
|
|
179
|
+
[ ] Tests passing
|
|
180
|
+
[ ] Build clean
|
|
181
|
+
[ ] CHANGELOG drafted
|
|
182
|
+
[ ] Version bumped in <files>
|
|
183
|
+
[ ] Tag prepared
|
|
184
|
+
|
|
185
|
+
Rollback plan: <one line>
|
|
186
|
+
|
|
187
|
+
Ready? (y/N)
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
You ship calm releases. You leave a paper trail. The next on-call will thank you.
|
package/install.ps1
CHANGED
|
@@ -21,7 +21,7 @@ $ErrorActionPreference = "Stop"
|
|
|
21
21
|
# ── Banner ────────────────────────────────────────────────────────────────────
|
|
22
22
|
Write-Host ""
|
|
23
23
|
Write-Host " Kodelyth ECC — Production-grade AI coding agent toolkit" -ForegroundColor Cyan
|
|
24
|
-
Write-Host "
|
|
24
|
+
Write-Host " 58 agents · 187 skills · 79 commands · 18+ hooks · god-tier intent routing" -ForegroundColor Gray
|
|
25
25
|
Write-Host ""
|
|
26
26
|
|
|
27
27
|
$ScriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path
|
|
@@ -131,8 +131,8 @@ Write-Host "Installing components..." -ForegroundColor Bold
|
|
|
131
131
|
|
|
132
132
|
switch ($Target) {
|
|
133
133
|
"claude-home" {
|
|
134
|
-
Install-Dir "$ScriptDir\agents" $AgentsDest "Agents (
|
|
135
|
-
Install-Dir "$ScriptDir\skills" $SkillsDest "Skills (
|
|
134
|
+
Install-Dir "$ScriptDir\agents" $AgentsDest "Agents (58)"
|
|
135
|
+
Install-Dir "$ScriptDir\skills" $SkillsDest "Skills (187)"
|
|
136
136
|
Install-Dir "$ScriptDir\commands" $CommandsDest "Commands (79)"
|
|
137
137
|
|
|
138
138
|
# Hooks
|
|
@@ -162,8 +162,8 @@ switch ($Target) {
|
|
|
162
162
|
Write-Host " [OK] CLAUDE.md + SOUL.md" -ForegroundColor Green
|
|
163
163
|
}
|
|
164
164
|
{ $_ -in "windsurf-project","windsurf-home" } {
|
|
165
|
-
Install-Dir "$ScriptDir\agents" $AgentsDest "Agents (
|
|
166
|
-
Install-Dir "$ScriptDir\skills" $SkillsDest "Skills (
|
|
165
|
+
Install-Dir "$ScriptDir\agents" $AgentsDest "Agents (58)"
|
|
166
|
+
Install-Dir "$ScriptDir\skills" $SkillsDest "Skills (187)"
|
|
167
167
|
Install-Flat "$ScriptDir\rules" $RulesDest "Rules"
|
|
168
168
|
|
|
169
169
|
# Generate .windsurfrules from all common rules
|
|
@@ -176,17 +176,17 @@ switch ($Target) {
|
|
|
176
176
|
}
|
|
177
177
|
}
|
|
178
178
|
"antigravity" {
|
|
179
|
-
Install-Dir "$ScriptDir\agents" $AgentsDest "Agents -> skills (
|
|
179
|
+
Install-Dir "$ScriptDir\agents" $AgentsDest "Agents -> skills (58)"
|
|
180
180
|
Install-Dir "$ScriptDir\commands" $CommandsDest "Commands -> workflows (79)"
|
|
181
181
|
Install-Flat "$ScriptDir\rules" $RulesDest "Rules"
|
|
182
182
|
}
|
|
183
183
|
"cursor-project" {
|
|
184
184
|
Install-Flat "$ScriptDir\rules" $RulesDest "Rules"
|
|
185
|
-
Install-Dir "$ScriptDir\skills" $SkillsDest "Skills (
|
|
185
|
+
Install-Dir "$ScriptDir\skills" $SkillsDest "Skills (187)"
|
|
186
186
|
}
|
|
187
187
|
"codex-home" {
|
|
188
|
-
Install-Dir "$ScriptDir\agents" $AgentsDest "Agents (
|
|
189
|
-
Install-Dir "$ScriptDir\skills" $SkillsDest "Skills (
|
|
188
|
+
Install-Dir "$ScriptDir\agents" $AgentsDest "Agents (58)"
|
|
189
|
+
Install-Dir "$ScriptDir\skills" $SkillsDest "Skills (187)"
|
|
190
190
|
Install-Dir "$ScriptDir\commands" $CommandsDest "Commands (79)"
|
|
191
191
|
Install-Flat "$ScriptDir\rules" $RulesDest "Rules"
|
|
192
192
|
}
|
package/install.sh
CHANGED
|
@@ -47,7 +47,7 @@ echo -e "${RED}${BOLD} ║ DANGER LEVEL: GOD TIER · NOT FOR JUNIOR DEV
|
|
|
47
47
|
echo -e "${RED}${BOLD} ╚══════════════════════════════════════════════════════════════╝${RESET}"
|
|
48
48
|
echo ""
|
|
49
49
|
echo -e "${BOLD} Kodelyth ECC — The most dangerous AI coding toolkit on the planet${RESET}"
|
|
50
|
-
echo -e "${CYAN}
|
|
50
|
+
echo -e "${CYAN} 58 specialist agents · 187 skills · 79 commands · 18+ hooks · god-tier intent routing${RESET}"
|
|
51
51
|
echo -e "${CYAN} Any language · Any framework · Any scale · 300B-level quality${RESET}"
|
|
52
52
|
echo ""
|
|
53
53
|
echo -e " github.com/sifxprime/kodelyth-ecc"
|
|
@@ -344,8 +344,8 @@ echo ""
|
|
|
344
344
|
|
|
345
345
|
case "$TARGET" in
|
|
346
346
|
claude-home)
|
|
347
|
-
install_dir "$SCRIPT_DIR/agents" "$AGENTS_DEST" "Agents (
|
|
348
|
-
install_dir "$SCRIPT_DIR/skills" "$SKILLS_DEST" "Skills (
|
|
347
|
+
install_dir "$SCRIPT_DIR/agents" "$AGENTS_DEST" "Agents (58)"
|
|
348
|
+
install_dir "$SCRIPT_DIR/skills" "$SKILLS_DEST" "Skills (187)"
|
|
349
349
|
install_dir "$SCRIPT_DIR/commands" "$COMMANDS_DEST" "Commands (79)"
|
|
350
350
|
install_hooks "$HOOKS_DEST"
|
|
351
351
|
# Rules: install common + selected languages
|
|
@@ -387,19 +387,19 @@ case "$TARGET" in
|
|
|
387
387
|
|
|
388
388
|
cursor-project)
|
|
389
389
|
install_flat "$SCRIPT_DIR/rules" "$RULES_DEST" "Rules (flattened)"
|
|
390
|
-
install_dir "$SCRIPT_DIR/skills" "$SKILLS_DEST" "Skills (
|
|
390
|
+
install_dir "$SCRIPT_DIR/skills" "$SKILLS_DEST" "Skills (187)"
|
|
391
391
|
;;
|
|
392
392
|
|
|
393
393
|
codex-home)
|
|
394
|
-
install_dir "$SCRIPT_DIR/agents" "$AGENTS_DEST" "Agents (
|
|
395
|
-
install_dir "$SCRIPT_DIR/skills" "$SKILLS_DEST" "Skills (
|
|
394
|
+
install_dir "$SCRIPT_DIR/agents" "$AGENTS_DEST" "Agents (58)"
|
|
395
|
+
install_dir "$SCRIPT_DIR/skills" "$SKILLS_DEST" "Skills (187)"
|
|
396
396
|
install_dir "$SCRIPT_DIR/commands" "$COMMANDS_DEST" "Commands (79)"
|
|
397
397
|
install_flat "$SCRIPT_DIR/rules" "$RULES_DEST" "Rules (flattened)"
|
|
398
398
|
;;
|
|
399
399
|
|
|
400
400
|
windsurf-project|windsurf-home)
|
|
401
|
-
install_dir "$SCRIPT_DIR/agents" "$AGENTS_DEST" "Agents (
|
|
402
|
-
install_dir "$SCRIPT_DIR/skills" "$SKILLS_DEST" "Skills (
|
|
401
|
+
install_dir "$SCRIPT_DIR/agents" "$AGENTS_DEST" "Agents (58)"
|
|
402
|
+
install_dir "$SCRIPT_DIR/skills" "$SKILLS_DEST" "Skills (187)"
|
|
403
403
|
install_flat "$SCRIPT_DIR/rules" "$RULES_DEST" "Rules (flattened)"
|
|
404
404
|
generate_windsurfrules "$SCRIPT_DIR/rules" "$WINDSURFRULES_DEST"
|
|
405
405
|
;;
|
|
@@ -409,31 +409,6 @@ case "$TARGET" in
|
|
|
409
409
|
;;
|
|
410
410
|
esac
|
|
411
411
|
|
|
412
|
-
# ── Install Kodelyth Lens dashboard ──────────────────────────────────────────
|
|
413
|
-
LENS_DEST="$HOME_DIR/.kodelyth/lens"
|
|
414
|
-
LENS_INSTALLED=false
|
|
415
|
-
if [[ -d "$SCRIPT_DIR/dashboard" ]]; then
|
|
416
|
-
mkdir -p "$LENS_DEST"
|
|
417
|
-
cp -r "$SCRIPT_DIR/dashboard"/. "$LENS_DEST/"
|
|
418
|
-
echo -e " ${GREEN}✓${RESET} Kodelyth Lens dashboard ${BLUE}(→ $LENS_DEST)${RESET}"
|
|
419
|
-
# Create launcher script
|
|
420
|
-
cat > "$HOME_DIR/.kodelyth/lens.sh" <<'LENS'
|
|
421
|
-
#!/usr/bin/env bash
|
|
422
|
-
cd "$HOME/.kodelyth/lens" && node server.js
|
|
423
|
-
LENS
|
|
424
|
-
chmod +x "$HOME_DIR/.kodelyth/lens.sh"
|
|
425
|
-
echo -e " ${GREEN}✓${RESET} Lens launcher ${BLUE}(→ ~/.kodelyth/lens.sh)${RESET}"
|
|
426
|
-
LENS_INSTALLED=true
|
|
427
|
-
fi
|
|
428
|
-
|
|
429
|
-
# ── Install agent-tracker hook script ─────────────────────────────────────────
|
|
430
|
-
if [[ -f "$SCRIPT_DIR/scripts/agent-tracker-hook.js" ]] && [[ "$TARGET" == "claude-home" ]]; then
|
|
431
|
-
HOOKS_SCRIPTS="$HOME_DIR/.claude/hooks/scripts"
|
|
432
|
-
mkdir -p "$HOOKS_SCRIPTS"
|
|
433
|
-
cp "$SCRIPT_DIR/scripts/agent-tracker-hook.js" "$HOOKS_SCRIPTS/agent-tracker-hook.js"
|
|
434
|
-
echo -e " ${GREEN}✓${RESET} Agent tracker hook ${BLUE}(→ $HOOKS_SCRIPTS)${RESET}"
|
|
435
|
-
fi
|
|
436
|
-
|
|
437
412
|
# ── Write install state ───────────────────────────────────────────────────────
|
|
438
413
|
VERSION="$(cat "$SCRIPT_DIR/VERSION" 2>/dev/null || echo "1.0.0")"
|
|
439
414
|
STATE_FILE="$DEST/kodelyth-ecc-install-state.json"
|
|
@@ -455,58 +430,6 @@ echo ""
|
|
|
455
430
|
echo -e "${GREEN}${BOLD} ARMED AND OPERATIONAL.${RESET}"
|
|
456
431
|
echo ""
|
|
457
432
|
|
|
458
|
-
# ── Auto-start Kodelyth Lens (claude-home only) ───────────────────────────────
|
|
459
|
-
if [[ "$TARGET" == "claude-home" ]] && [[ "$LENS_INSTALLED" == "true" ]]; then
|
|
460
|
-
if command -v node &>/dev/null; then
|
|
461
|
-
LENS_PORT="${LENS_PORT:-3456}"
|
|
462
|
-
LENS_LOG="$HOME_DIR/.kodelyth/lens.log"
|
|
463
|
-
|
|
464
|
-
# Kill any existing Lens process on this port
|
|
465
|
-
if command -v lsof &>/dev/null; then
|
|
466
|
-
OLD_PID="$(lsof -ti ":$LENS_PORT" 2>/dev/null || true)"
|
|
467
|
-
if [[ -n "$OLD_PID" ]]; then
|
|
468
|
-
kill "$OLD_PID" 2>/dev/null || true
|
|
469
|
-
fi
|
|
470
|
-
fi
|
|
471
|
-
|
|
472
|
-
# Start Lens server in background
|
|
473
|
-
nohup node "$LENS_DEST/server.js" > "$LENS_LOG" 2>&1 &
|
|
474
|
-
LENS_PID=$!
|
|
475
|
-
|
|
476
|
-
# Wait up to 5 seconds for the server to be ready
|
|
477
|
-
LENS_READY=false
|
|
478
|
-
for i in 1 2 3 4 5; do
|
|
479
|
-
sleep 1
|
|
480
|
-
if command -v curl &>/dev/null && curl -sf "http://localhost:$LENS_PORT/api/stats" >/dev/null 2>&1; then
|
|
481
|
-
LENS_READY=true
|
|
482
|
-
break
|
|
483
|
-
elif command -v wget &>/dev/null && wget -qO- "http://localhost:$LENS_PORT/api/stats" >/dev/null 2>&1; then
|
|
484
|
-
LENS_READY=true
|
|
485
|
-
break
|
|
486
|
-
fi
|
|
487
|
-
done
|
|
488
|
-
|
|
489
|
-
if [[ "$LENS_READY" == "true" ]]; then
|
|
490
|
-
echo -e " ${GREEN}✓${RESET} Kodelyth Lens started ${BLUE}(PID $LENS_PID · port $LENS_PORT)${RESET}"
|
|
491
|
-
# Open browser — macOS: open, Linux: xdg-open, WSL: explorer.exe
|
|
492
|
-
if [[ "$OSTYPE" == "darwin"* ]]; then
|
|
493
|
-
open "http://localhost:$LENS_PORT" 2>/dev/null || true
|
|
494
|
-
echo -e " ${GREEN}✓${RESET} Dashboard opened in browser"
|
|
495
|
-
elif command -v xdg-open &>/dev/null; then
|
|
496
|
-
xdg-open "http://localhost:$LENS_PORT" 2>/dev/null &
|
|
497
|
-
echo -e " ${GREEN}✓${RESET} Dashboard opened in browser"
|
|
498
|
-
elif command -v explorer.exe &>/dev/null; then
|
|
499
|
-
explorer.exe "http://localhost:$LENS_PORT" 2>/dev/null || true
|
|
500
|
-
echo -e " ${GREEN}✓${RESET} Dashboard opened in browser"
|
|
501
|
-
fi
|
|
502
|
-
else
|
|
503
|
-
echo -e " ${YELLOW}⚠${RESET} Lens server started (PID $LENS_PID) — open http://localhost:$LENS_PORT manually"
|
|
504
|
-
fi
|
|
505
|
-
|
|
506
|
-
echo ""
|
|
507
|
-
fi
|
|
508
|
-
fi
|
|
509
|
-
|
|
510
433
|
case "$TARGET" in
|
|
511
434
|
claude-home)
|
|
512
435
|
echo -e "${BOLD} Claude Code — what to do now:${RESET}"
|
|
@@ -519,13 +442,8 @@ case "$TARGET" in
|
|
|
519
442
|
echo " use ux-reviewer ← after touching any UI"
|
|
520
443
|
echo " /kodelyth-quickstart ← full onboarding guide"
|
|
521
444
|
echo ""
|
|
522
|
-
echo
|
|
523
|
-
echo ""
|
|
524
|
-
echo " node ~/.kodelyth/lens/server.js"
|
|
525
|
-
echo " Open: http://localhost:3456"
|
|
526
|
-
echo ""
|
|
527
|
-
echo " Tracks agents, costs, cache savings across"
|
|
528
|
-
echo " Claude Code · Cursor · Windsurf · Codex · OpenCode · Antigravity"
|
|
445
|
+
echo " Intent routing is god-tier — describe your problem in plain words"
|
|
446
|
+
echo " and the right specialist agent is auto-suggested."
|
|
529
447
|
;;
|
|
530
448
|
antigravity)
|
|
531
449
|
echo -e "${BOLD} Google Antigravity — what to do now:${RESET}"
|
|
@@ -557,17 +475,13 @@ case "$TARGET" in
|
|
|
557
475
|
echo -e "${BOLD} Windsurf — what to do now:${RESET}"
|
|
558
476
|
echo ""
|
|
559
477
|
echo " Open your project in Windsurf (Cascade)."
|
|
560
|
-
echo " .windsurfrules is active —
|
|
478
|
+
echo " .windsurfrules is active — 15 coding rules + intent routing loaded automatically."
|
|
561
479
|
echo " Agents available in .windsurf/agents/"
|
|
562
480
|
echo ""
|
|
563
481
|
echo " use kodelyth-advisor ← not sure where to start"
|
|
564
482
|
echo " use debug-detective ← trace any bug to root cause"
|
|
565
483
|
echo " use ux-reviewer ← after touching any UI"
|
|
566
484
|
echo " use api-guardian ← API contract protection"
|
|
567
|
-
echo ""
|
|
568
|
-
echo " Kodelyth Lens — Usage Dashboard:"
|
|
569
|
-
echo " node ~/.kodelyth/lens/server.js"
|
|
570
|
-
echo " Open: http://localhost:3456"
|
|
571
485
|
;;
|
|
572
486
|
*)
|
|
573
487
|
echo -e "${BOLD} What to do now:${RESET}"
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kodelyth-ecc",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "Production-grade AI coding toolkit —
|
|
3
|
+
"version": "1.3.0",
|
|
4
|
+
"description": "Production-grade AI coding toolkit — 58 agents, 187 skills, 79 commands, god-tier intent routing. Works with Claude Code, Windsurf, Cursor, Codex, Antigravity, and OpenCode.",
|
|
5
5
|
"author": "Kodelyth <github.com/sifxprime>",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": {
|