@kody-ade/kody-engine-lite 0.1.27 → 0.1.28
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/README.md +12 -12
- package/dist/bin/cli.js +28 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -10,7 +10,9 @@ Kody is a 7-stage autonomous SDLC pipeline that runs in GitHub Actions. It uses
|
|
|
10
10
|
|
|
11
11
|
## Why Kody?
|
|
12
12
|
|
|
13
|
-
Most AI coding tools are **autocomplete** (Copilot) or **chat-based** (Cursor, Cline). You still drive. Kody is different: it's an **autonomous pipeline** that takes an issue and delivers a tested, reviewed PR.
|
|
13
|
+
Most AI coding tools are **autocomplete** (Copilot) or **chat-based** (Cursor, Cline). You still drive. Kody is different: it's an **autonomous pipeline** that takes an issue and delivers a tested, reviewed PR — even for complex, multi-file features that single-agent tools choke on.
|
|
14
|
+
|
|
15
|
+
Single agents hit context limits on large tasks. Kody splits work into focused stages — each with a fresh context window but access to curated context from previous stages. A 27-minute auth system build (JWT, sessions, middleware, RBAC, 7 stages, 3 autofix retries) completes end-to-end without losing track.
|
|
14
16
|
|
|
15
17
|
| | Kody | Copilot Workspace | Devin | Cursor Agent |
|
|
16
18
|
|---|---|---|---|---|
|
|
@@ -20,6 +22,8 @@ Most AI coding tools are **autocomplete** (Copilot) or **chat-based** (Cursor, C
|
|
|
20
22
|
| **Risk gate** | Pauses HIGH-risk tasks for human approval | No | No | No |
|
|
21
23
|
| **Model flexible** | Any LLM via LiteLLM | GitHub models only | Proprietary | Cursor models |
|
|
22
24
|
| **Open source** | MIT | Proprietary | Proprietary | Proprietary |
|
|
25
|
+
| **Accumulated context** | Curated context flows between stages | Single conversation | Single agent | Single agent |
|
|
26
|
+
| **Complex tasks** | 27-min auth system with 7 stages + autofix | Struggles with large scope | Better | Struggles with large scope |
|
|
23
27
|
| **Cost** | Your API costs only | $10-39/month | $20-500/month | Subscription |
|
|
24
28
|
|
|
25
29
|
[Full comparison →](docs/COMPARISON.md)
|
|
@@ -30,24 +34,19 @@ Most AI coding tools are **autocomplete** (Copilot) or **chat-based** (Cursor, C
|
|
|
30
34
|
# 1. Install
|
|
31
35
|
npm install -g @kody-ade/kody-engine-lite
|
|
32
36
|
|
|
33
|
-
# 2.
|
|
34
|
-
cd your-project
|
|
35
|
-
kody-engine-lite init
|
|
36
|
-
|
|
37
|
-
# 3. Set up GitHub
|
|
37
|
+
# 2. Set up GitHub secret
|
|
38
38
|
gh secret set ANTHROPIC_API_KEY --repo owner/repo
|
|
39
39
|
# Settings → Actions → "Allow GitHub Actions to create and approve pull requests"
|
|
40
40
|
|
|
41
|
-
#
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
git push
|
|
41
|
+
# 3. Initialize (auto-detects, commits, and pushes)
|
|
42
|
+
cd your-project
|
|
43
|
+
kody-engine-lite init
|
|
45
44
|
|
|
46
|
-
#
|
|
45
|
+
# 4. Comment on any issue
|
|
47
46
|
@kody
|
|
48
47
|
```
|
|
49
48
|
|
|
50
|
-
`init` spawns Claude Code to analyze your project and generates: workflow file, config with auto-detected quality commands, project memory (architecture + conventions),
|
|
49
|
+
`init` spawns Claude Code to analyze your project and generates: workflow file, config with auto-detected quality commands, project memory (architecture + conventions), 14 GitHub labels — then commits and pushes everything.
|
|
51
50
|
|
|
52
51
|
**Prerequisites:** Node.js >= 22, [Claude Code CLI](https://docs.anthropic.com/en/docs/claude-code), [GitHub CLI](https://cli.github.com/), git
|
|
53
52
|
|
|
@@ -101,6 +100,7 @@ kody-engine-lite init [--force]
|
|
|
101
100
|
- **Question Gates** — asks product/architecture questions when the task is unclear ([details](docs/FEATURES.md#question-gates))
|
|
102
101
|
- **Retrospective** — analyzes each run, identifies patterns, suggests improvements ([details](docs/FEATURES.md#retrospective-system))
|
|
103
102
|
- **Auto-Learning** — extracts coding conventions from each successful run ([details](docs/FEATURES.md#auto-learning-memory))
|
|
103
|
+
- **Accumulated Context** — each stage passes curated context to the next — fresh window, shared knowledge ([details](docs/FEATURES.md#accumulated-context))
|
|
104
104
|
- **Any LLM** — route through LiteLLM to use MiniMax, GPT, Gemini, local models ([setup guide](docs/LITELLM.md))
|
|
105
105
|
|
|
106
106
|
## Documentation
|
package/dist/bin/cli.js
CHANGED
|
@@ -3307,12 +3307,39 @@ ${archItems.join("\n")}
|
|
|
3307
3307
|
fs19.writeFileSync(conventionsPath, "# Conventions\n\n<!-- Auto-learned conventions will be appended here -->\n");
|
|
3308
3308
|
console.log(" \u2713 .kody/memory/conventions.md (seed)");
|
|
3309
3309
|
}
|
|
3310
|
+
console.log("\n\u2500\u2500 Git \u2500\u2500");
|
|
3311
|
+
const filesToCommit = [
|
|
3312
|
+
".github/workflows/kody.yml",
|
|
3313
|
+
"kody.config.json",
|
|
3314
|
+
".kody/memory/architecture.md",
|
|
3315
|
+
".kody/memory/conventions.md"
|
|
3316
|
+
].filter((f) => fs19.existsSync(path18.join(cwd, f)));
|
|
3317
|
+
if (filesToCommit.length > 0) {
|
|
3318
|
+
try {
|
|
3319
|
+
execFileSync11("git", ["add", ...filesToCommit], { cwd, stdio: "pipe" });
|
|
3320
|
+
const staged = execFileSync11("git", ["diff", "--cached", "--name-only"], { cwd, encoding: "utf-8" }).trim();
|
|
3321
|
+
if (staged) {
|
|
3322
|
+
execFileSync11("git", ["commit", "--no-gpg-sign", "-m", "chore: add kody engine"], { cwd, stdio: "pipe" });
|
|
3323
|
+
console.log(` \u2713 Committed: ${filesToCommit.join(", ")}`);
|
|
3324
|
+
try {
|
|
3325
|
+
execFileSync11("git", ["push"], { cwd, stdio: "pipe", timeout: 3e4 });
|
|
3326
|
+
console.log(" \u2713 Pushed to origin");
|
|
3327
|
+
} catch {
|
|
3328
|
+
console.log(" \u25CB Push failed \u2014 run 'git push' manually");
|
|
3329
|
+
}
|
|
3330
|
+
} else {
|
|
3331
|
+
console.log(" \u25CB No new changes to commit");
|
|
3332
|
+
}
|
|
3333
|
+
} catch (err) {
|
|
3334
|
+
console.log(` \u25CB Git commit skipped: ${err instanceof Error ? err.message : err}`);
|
|
3335
|
+
}
|
|
3336
|
+
}
|
|
3310
3337
|
const allChecks = [...checks, ghAuth, ghRepo];
|
|
3311
3338
|
const failed = allChecks.filter((c) => !c.ok);
|
|
3312
3339
|
console.log("\n\u2500\u2500 Summary \u2500\u2500");
|
|
3313
3340
|
if (failed.length === 0) {
|
|
3314
3341
|
console.log(" \u2713 All checks passed! Ready to use.");
|
|
3315
|
-
console.log("\n Next: Comment '@kody
|
|
3342
|
+
console.log("\n Next: Comment '@kody' on a GitHub issue");
|
|
3316
3343
|
} else {
|
|
3317
3344
|
console.log(` \u26A0 ${failed.length} issue(s) to fix:`);
|
|
3318
3345
|
for (const c of failed) {
|