@kody-ade/kody-engine 0.4.470 → 0.4.471
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 +5 -4
- package/dist/bin/kody.js +1 -54
- package/package.json +1 -1
- package/templates/kody.yml +1 -20
package/README.md
CHANGED
|
@@ -101,10 +101,11 @@ TypeScript lives in [src/scripts/](src/scripts/); it can't import from
|
|
|
101
101
|
npx -y -p @kody-ade/kody-engine@latest kody-engine init
|
|
102
102
|
```
|
|
103
103
|
|
|
104
|
-
`kody-engine init` scaffolds [kody.config.json](kody.config.schema.json)
|
|
105
|
-
`.github/workflows/kody.yml`
|
|
106
|
-
|
|
107
|
-
workflow files. Idempotent — pass `--force` to
|
|
104
|
+
`kody-engine init` scaffolds [kody.config.json](kody.config.schema.json) and the
|
|
105
|
+
single generic `.github/workflows/kody.yml` launcher. The Engine discovers and
|
|
106
|
+
fans out scheduled capabilities at runtime, so capability schedules never
|
|
107
|
+
generate additional GitHub workflow files. Idempotent — pass `--force` to
|
|
108
|
+
overwrite.
|
|
108
109
|
|
|
109
110
|
Required repo secrets: at least one model provider key (e.g. `MINIMAX_API_KEY`, `ANTHROPIC_API_KEY`). Recommended: `KODY_TOKEN` PAT so kody's commits trigger downstream CI and can modify `.github/workflows/*`.
|
|
110
111
|
|
package/dist/bin/kody.js
CHANGED
|
@@ -15,7 +15,7 @@ var init_package = __esm({
|
|
|
15
15
|
"package.json"() {
|
|
16
16
|
package_default = {
|
|
17
17
|
name: "@kody-ade/kody-engine",
|
|
18
|
-
version: "0.4.
|
|
18
|
+
version: "0.4.471",
|
|
19
19
|
description: "kody \u2014 autonomous development engine. Single-session Claude Code agent behind a generic executor + declarative implementation profiles.",
|
|
20
20
|
license: "MIT",
|
|
21
21
|
type: "module",
|
|
@@ -15239,22 +15239,6 @@ function performInit(cwd, force) {
|
|
|
15239
15239
|
fs38.writeFileSync(workflowPath, loadKodyWorkflowTemplate());
|
|
15240
15240
|
wrote.push(".github/workflows/kody.yml");
|
|
15241
15241
|
}
|
|
15242
|
-
for (const exe of listRuntimeProfilesForCwd(cwd)) {
|
|
15243
|
-
let profile;
|
|
15244
|
-
try {
|
|
15245
|
-
profile = loadProfile(exe.profilePath);
|
|
15246
|
-
} catch {
|
|
15247
|
-
continue;
|
|
15248
|
-
}
|
|
15249
|
-
if (profile.kind !== "scheduled" || !profile.schedule) continue;
|
|
15250
|
-
const target = path36.join(workflowDir, `kody-${exe.name}.yml`);
|
|
15251
|
-
if (fs38.existsSync(target) && !force) {
|
|
15252
|
-
skipped.push(`.github/workflows/kody-${exe.name}.yml`);
|
|
15253
|
-
continue;
|
|
15254
|
-
}
|
|
15255
|
-
fs38.writeFileSync(target, renderScheduledWorkflow(exe.name, profile.schedule));
|
|
15256
|
-
wrote.push(`.github/workflows/kody-${exe.name}.yml`);
|
|
15257
|
-
}
|
|
15258
15242
|
let labels;
|
|
15259
15243
|
try {
|
|
15260
15244
|
labels = ensureLabels(cwd);
|
|
@@ -15263,49 +15247,12 @@ function performInit(cwd, force) {
|
|
|
15263
15247
|
}
|
|
15264
15248
|
return { wrote, skipped, labels };
|
|
15265
15249
|
}
|
|
15266
|
-
function renderScheduledWorkflow(name, cron) {
|
|
15267
|
-
return `# Scheduled kody capability: ${name}
|
|
15268
|
-
# Generated by \`kody-engine init\`. Regenerate with \`kody-engine init --force\`.
|
|
15269
|
-
# Edit the cron below or the capability's implementation profile.json#schedule.
|
|
15270
|
-
|
|
15271
|
-
name: kody ${name}
|
|
15272
|
-
|
|
15273
|
-
on:
|
|
15274
|
-
schedule:
|
|
15275
|
-
- cron: "${cron}"
|
|
15276
|
-
workflow_dispatch:
|
|
15277
|
-
|
|
15278
|
-
jobs:
|
|
15279
|
-
run:
|
|
15280
|
-
runs-on: ubuntu-latest
|
|
15281
|
-
timeout-minutes: 30
|
|
15282
|
-
permissions:
|
|
15283
|
-
issues: write
|
|
15284
|
-
pull-requests: read
|
|
15285
|
-
contents: read
|
|
15286
|
-
steps:
|
|
15287
|
-
- uses: actions/checkout@v4
|
|
15288
|
-
with:
|
|
15289
|
-
token: \${{ secrets.KODY_TOKEN || github.token }}
|
|
15290
|
-
- uses: actions/setup-node@v4
|
|
15291
|
-
with:
|
|
15292
|
-
node-version: 22
|
|
15293
|
-
- uses: actions/setup-python@v5
|
|
15294
|
-
with:
|
|
15295
|
-
python-version: "3.12"
|
|
15296
|
-
- env:
|
|
15297
|
-
GH_TOKEN: \${{ secrets.KODY_TOKEN || github.token }}
|
|
15298
|
-
run: npx -y -p @kody-ade/kody-engine@latest kody-engine implementation ${name}
|
|
15299
|
-
`;
|
|
15300
|
-
}
|
|
15301
15250
|
var initFlow;
|
|
15302
15251
|
var init_initFlow = __esm({
|
|
15303
15252
|
"src/scripts/initFlow.ts"() {
|
|
15304
15253
|
"use strict";
|
|
15305
15254
|
init_package();
|
|
15306
15255
|
init_lifecycleLabels();
|
|
15307
|
-
init_profile();
|
|
15308
|
-
init_registry();
|
|
15309
15256
|
init_workflow_template();
|
|
15310
15257
|
initFlow = async (ctx) => {
|
|
15311
15258
|
const force = ctx.args.force === true;
|
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.471",
|
|
4
4
|
"description": "kody — autonomous development engine. Single-session Claude Code agent behind a generic executor + declarative implementation profiles.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
package/templates/kody.yml
CHANGED
|
@@ -43,7 +43,7 @@ on:
|
|
|
43
43
|
pull_request:
|
|
44
44
|
types: [opened, synchronize, closed]
|
|
45
45
|
schedule:
|
|
46
|
-
- cron: "
|
|
46
|
+
- cron: "7/15 * * * *"
|
|
47
47
|
|
|
48
48
|
jobs:
|
|
49
49
|
run:
|
|
@@ -70,31 +70,12 @@ jobs:
|
|
|
70
70
|
with:
|
|
71
71
|
node-version: 22
|
|
72
72
|
|
|
73
|
-
- name: Write pip cache key for LiteLLM
|
|
74
|
-
run: echo "litellm[proxy]" > .kody-pip-requirements.txt
|
|
75
|
-
|
|
76
|
-
- uses: actions/setup-python@v5
|
|
77
|
-
with:
|
|
78
|
-
python-version: "3.12"
|
|
79
|
-
|
|
80
|
-
- uses: astral-sh/setup-uv@v6
|
|
81
|
-
|
|
82
|
-
- name: Hydrate Kody Store definitions
|
|
83
|
-
uses: actions/checkout@v4
|
|
84
|
-
with:
|
|
85
|
-
repository: ${{ vars.KODY_STORE_REPOSITORY || 'aharonyaircohen/kody-company-store' }}
|
|
86
|
-
ref: ${{ vars.KODY_STORE_REF || 'main' }}
|
|
87
|
-
path: .kody-engine/definitions
|
|
88
|
-
token: ${{ secrets.GH_PAT || secrets.KODY_TOKEN || github.token }}
|
|
89
|
-
|
|
90
73
|
- env:
|
|
91
74
|
ALL_SECRETS: ${{ toJSON(secrets) }}
|
|
92
75
|
SESSION_ID: ${{ inputs.sessionId }}
|
|
93
76
|
INIT_MESSAGE: ${{ inputs.message }}
|
|
94
77
|
MODEL: ${{ inputs.model }}
|
|
95
78
|
DASHBOARD_URL: ${{ inputs.dashboardUrl }}
|
|
96
|
-
KODY_DEFINITIONS_ROOT: ${{ github.workspace }}/.kody-engine/definitions
|
|
97
|
-
KODY_DEFINITIONS_ROOT_CWD: ${{ github.workspace }}
|
|
98
79
|
working-directory: ${{ github.workspace }}
|
|
99
80
|
run: |
|
|
100
81
|
npx -y -p @kody-ade/kody-engine@latest kody-engine ci --cwd "$GITHUB_WORKSPACE"
|