@kody-ade/kody-engine 0.4.182 → 0.4.183
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 +4 -0
- package/dist/bin/kody.js +10 -31
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -18,6 +18,10 @@ You: open an issue → comment "@kody run"
|
|
|
18
18
|
kody: reads the issue → writes the code → runs your tests → opens a PR
|
|
19
19
|
```
|
|
20
20
|
|
|
21
|
+
<p align="center">
|
|
22
|
+
<img src="docs/assets/kody-demo.gif" alt="kody demo — issue to tested PR" width="800">
|
|
23
|
+
</p>
|
|
24
|
+
|
|
21
25
|
## Why kody
|
|
22
26
|
|
|
23
27
|
- **No infrastructure.** Runs on the GitHub Actions you already have. One ~20-line
|
package/dist/bin/kody.js
CHANGED
|
@@ -1309,7 +1309,7 @@ var init_loadPriorArt = __esm({
|
|
|
1309
1309
|
// package.json
|
|
1310
1310
|
var package_default = {
|
|
1311
1311
|
name: "@kody-ade/kody-engine",
|
|
1312
|
-
version: "0.4.
|
|
1312
|
+
version: "0.4.183",
|
|
1313
1313
|
description: "kody \u2014 autonomous development engine. Single-session Claude Code agent behind a generic executor + declarative executable profiles.",
|
|
1314
1314
|
license: "MIT",
|
|
1315
1315
|
type: "module",
|
|
@@ -1348,6 +1348,7 @@ var package_default = {
|
|
|
1348
1348
|
"@biomejs/biome": "^2.4.12",
|
|
1349
1349
|
"@types/node": "^22.5.4",
|
|
1350
1350
|
"@vitest/coverage-v8": "^4.1.4",
|
|
1351
|
+
playwright: "^1.60.0",
|
|
1351
1352
|
tsup: "^8.5.1",
|
|
1352
1353
|
tsx: "^4.21.0",
|
|
1353
1354
|
typescript: "~5.7.0",
|
|
@@ -12643,49 +12644,27 @@ var runPreviewBuild = async (ctx, _profile, _args) => {
|
|
|
12643
12644
|
await flyCreateApp(appName, orgSlug, flyToken);
|
|
12644
12645
|
}
|
|
12645
12646
|
await flyAllocateSharedIps(appName, flyToken);
|
|
12646
|
-
const nscToken = doc.secrets?.NSC_TOKEN?.value?.trim();
|
|
12647
|
-
if (!nscToken) {
|
|
12648
|
-
ctx.output.exitCode = 99;
|
|
12649
|
-
ctx.output.reason = "runPreviewBuild: vault has no NSC_TOKEN \u2014 add it via the dashboard's /secrets page";
|
|
12650
|
-
return;
|
|
12651
|
-
}
|
|
12652
|
-
process.env.NSC_TOKEN = nscToken;
|
|
12653
|
-
await runCmd(
|
|
12654
|
-
"bash",
|
|
12655
|
-
[
|
|
12656
|
-
"-c",
|
|
12657
|
-
`if [ ! -x /usr/local/bin/nsc ]; then
|
|
12658
|
-
ARCH=$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/') &&
|
|
12659
|
-
OS=$(uname -s | tr '[:upper:]' '[:lower:]') &&
|
|
12660
|
-
curl -fsSL "https://get.namespace.so/packages/nsc/latest?arch=$ARCH&os=$OS" -o /tmp/nsc.tar.gz &&
|
|
12661
|
-
tar -xzf /tmp/nsc.tar.gz -C /tmp &&
|
|
12662
|
-
sudo install -m 0755 /tmp/nsc /usr/local/bin/nsc &&
|
|
12663
|
-
rm -f /tmp/nsc /tmp/nsc.tar.gz
|
|
12664
|
-
fi
|
|
12665
|
-
/usr/local/bin/nsc version`
|
|
12666
|
-
],
|
|
12667
|
-
{ cwd: ctx.cwd }
|
|
12668
|
-
);
|
|
12669
|
-
await runCmd("/usr/local/bin/nsc", ["docker", "buildx", "setup"], {
|
|
12670
|
-
cwd: ctx.cwd
|
|
12671
|
-
});
|
|
12672
12647
|
await runCmd(
|
|
12673
12648
|
"docker",
|
|
12674
12649
|
["login", "registry.fly.io", "-u", "x", "--password-stdin"],
|
|
12675
12650
|
{ input: flyToken, cwd: ctx.cwd }
|
|
12676
12651
|
);
|
|
12677
12652
|
const buildArgs = [
|
|
12678
|
-
"buildx",
|
|
12679
12653
|
"build",
|
|
12680
12654
|
"-f",
|
|
12681
12655
|
"Dockerfile.preview",
|
|
12682
12656
|
"-t",
|
|
12683
|
-
`registry.fly.io/${appName}:${tag}
|
|
12684
|
-
"--push"
|
|
12657
|
+
`registry.fly.io/${appName}:${tag}`
|
|
12685
12658
|
];
|
|
12686
12659
|
if (baseImage) buildArgs.push("--build-arg", `BASE_IMAGE=${baseImage}`);
|
|
12687
12660
|
buildArgs.push(".");
|
|
12688
|
-
await runCmd("docker", buildArgs, {
|
|
12661
|
+
await runCmd("docker", buildArgs, {
|
|
12662
|
+
cwd: ctx.cwd,
|
|
12663
|
+
env: { DOCKER_BUILDKIT: "1" }
|
|
12664
|
+
});
|
|
12665
|
+
await runCmd("docker", ["push", `registry.fly.io/${appName}:${tag}`], {
|
|
12666
|
+
cwd: ctx.cwd
|
|
12667
|
+
});
|
|
12689
12668
|
const stale = await flyListMachines(appName, flyToken);
|
|
12690
12669
|
for (const m of stale) {
|
|
12691
12670
|
await flyDestroyMachine(appName, m.id, flyToken).catch(() => void 0);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kody-ade/kody-engine",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.183",
|
|
4
4
|
"description": "kody — autonomous development engine. Single-session Claude Code agent behind a generic executor + declarative executable profiles.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -39,6 +39,7 @@
|
|
|
39
39
|
"@biomejs/biome": "^2.4.12",
|
|
40
40
|
"@types/node": "^22.5.4",
|
|
41
41
|
"@vitest/coverage-v8": "^4.1.4",
|
|
42
|
+
"playwright": "^1.60.0",
|
|
42
43
|
"tsup": "^8.5.1",
|
|
43
44
|
"tsx": "^4.21.0",
|
|
44
45
|
"typescript": "~5.7.0",
|