@kody-ade/kody-engine 0.2.12 → 0.2.14
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/dist/bin/kody2.js +221 -116
- package/dist/executables/fix/profile.json +48 -23
- package/dist/executables/fix-ci/profile.json +48 -23
- package/dist/executables/init/profile.json +4 -6
- package/dist/executables/orchestrator/profile.json +28 -15
- package/dist/executables/plan/profile.json +33 -16
- package/dist/executables/plan-verify/profile.json +37 -0
- package/dist/executables/plan-verify/prompt.md +53 -0
- package/dist/executables/release/profile.json +13 -8
- package/dist/executables/resolve/profile.json +42 -21
- package/dist/executables/review/profile.json +19 -10
- package/dist/executables/run/profile.json +48 -23
- package/dist/executables/types.ts +13 -11
- package/dist/executables/watch-stale-prs/profile.json +4 -7
- package/dist/plugins/commands/kody-live-probe.md +9 -0
- package/dist/plugins/hooks/kody-live-trace.json +16 -0
- package/dist/plugins/skills/kody-live-marker/SKILL.md +18 -0
- package/dist/plugins/test-plugin/.claude-plugin/plugin.json +6 -0
- package/dist/plugins/test-plugin/skills/kody-plugin-marker/SKILL.md +16 -0
- package/package.json +2 -2
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "review",
|
|
3
3
|
"describe": "Read-only structured review of an open PR. Posts one comment, never commits.",
|
|
4
|
-
|
|
5
4
|
"inputs": [
|
|
6
5
|
{
|
|
7
6
|
"name": "pr",
|
|
@@ -11,31 +10,41 @@
|
|
|
11
10
|
"describe": "GitHub PR number to review."
|
|
12
11
|
}
|
|
13
12
|
],
|
|
14
|
-
|
|
15
13
|
"claudeCode": {
|
|
16
14
|
"model": "inherit",
|
|
17
15
|
"permissionMode": "default",
|
|
18
16
|
"maxTurns": null,
|
|
19
17
|
"systemPromptAppend": null,
|
|
20
|
-
"tools": [
|
|
21
|
-
|
|
18
|
+
"tools": [
|
|
19
|
+
"Read",
|
|
20
|
+
"Grep",
|
|
21
|
+
"Glob",
|
|
22
|
+
"Bash"
|
|
23
|
+
],
|
|
24
|
+
"hooks": [],
|
|
22
25
|
"skills": [],
|
|
23
26
|
"commands": [],
|
|
24
27
|
"subagents": [],
|
|
25
28
|
"plugins": [],
|
|
26
29
|
"mcpServers": []
|
|
27
30
|
},
|
|
28
|
-
|
|
29
31
|
"cliTools": [],
|
|
30
|
-
|
|
31
32
|
"scripts": {
|
|
32
33
|
"preflight": [
|
|
33
|
-
{
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
{
|
|
35
|
+
"script": "reviewFlow"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"script": "loadConventions"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"script": "composePrompt"
|
|
42
|
+
}
|
|
36
43
|
],
|
|
37
44
|
"postflight": [
|
|
38
|
-
{
|
|
45
|
+
{
|
|
46
|
+
"script": "postReviewResult"
|
|
47
|
+
}
|
|
39
48
|
]
|
|
40
49
|
}
|
|
41
50
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "run",
|
|
3
3
|
"describe": "Implement a GitHub issue end-to-end: branch, code, commit, open PR.",
|
|
4
|
-
|
|
5
4
|
"inputs": [
|
|
6
5
|
{
|
|
7
6
|
"name": "issue",
|
|
@@ -11,44 +10,70 @@
|
|
|
11
10
|
"describe": "GitHub issue number to implement."
|
|
12
11
|
}
|
|
13
12
|
],
|
|
14
|
-
|
|
15
13
|
"claudeCode": {
|
|
16
14
|
"model": "inherit",
|
|
17
15
|
"permissionMode": "acceptEdits",
|
|
18
16
|
"maxTurns": null,
|
|
19
17
|
"systemPromptAppend": null,
|
|
20
|
-
"tools": [
|
|
21
|
-
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
|
|
18
|
+
"tools": [
|
|
19
|
+
"Read",
|
|
20
|
+
"Write",
|
|
21
|
+
"Edit",
|
|
22
|
+
"Bash",
|
|
23
|
+
"Grep",
|
|
24
|
+
"Glob"
|
|
25
|
+
],
|
|
26
|
+
"hooks": [],
|
|
26
27
|
"skills": [],
|
|
27
28
|
"commands": [],
|
|
28
29
|
"subagents": [],
|
|
29
30
|
"plugins": [],
|
|
30
31
|
"mcpServers": []
|
|
31
32
|
},
|
|
32
|
-
|
|
33
33
|
"cliTools": [],
|
|
34
|
-
|
|
35
34
|
"scripts": {
|
|
36
35
|
"preflight": [
|
|
37
|
-
{
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
{
|
|
41
|
-
|
|
36
|
+
{
|
|
37
|
+
"script": "runFlow"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"script": "loadTaskState"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"script": "loadConventions"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"script": "loadCoverageRules"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"script": "composePrompt"
|
|
50
|
+
}
|
|
42
51
|
],
|
|
43
52
|
"postflight": [
|
|
44
|
-
{
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
{
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
{
|
|
51
|
-
|
|
53
|
+
{
|
|
54
|
+
"script": "parseAgentResult"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"script": "verify"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"script": "checkCoverageWithRetry"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"script": "commitAndPush"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"script": "ensurePr"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"script": "postIssueComment"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"script": "writeRunSummary"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"script": "saveTaskState"
|
|
76
|
+
}
|
|
52
77
|
]
|
|
53
78
|
},
|
|
54
79
|
"output": {
|
|
@@ -62,24 +62,26 @@ export interface ClaudeCodeSpec {
|
|
|
62
62
|
systemPromptAppend: string | null
|
|
63
63
|
/** SDK built-in tools this executable is allowed to use (capability pack). */
|
|
64
64
|
tools: string[]
|
|
65
|
-
/**
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
65
|
+
/**
|
|
66
|
+
* Names of bundled hook configs to load (from src/plugins/hooks/<name>.json).
|
|
67
|
+
* Each referenced file is a Claude Code hooks JSON ({ hooks: { PreToolUse: [...] } }).
|
|
68
|
+
* Merged into a synthetic plugin at runtime.
|
|
69
|
+
*/
|
|
70
|
+
hooks: string[]
|
|
71
|
+
/** Names of bundled skills to load (from src/plugins/skills/<name>/SKILL.md). */
|
|
71
72
|
skills: string[]
|
|
73
|
+
/** Names of bundled slash commands to load (from src/plugins/commands/<name>.md). */
|
|
72
74
|
commands: string[]
|
|
75
|
+
/** Names of bundled subagents to load (from src/plugins/agents/<name>.md). */
|
|
73
76
|
subagents: string[]
|
|
77
|
+
/**
|
|
78
|
+
* External plugin directory paths (absolute, or relative to the profile dir).
|
|
79
|
+
* Loaded as-is by the SDK via { type: 'local', path }.
|
|
80
|
+
*/
|
|
74
81
|
plugins: string[]
|
|
75
82
|
mcpServers: McpServerSpec[]
|
|
76
83
|
}
|
|
77
84
|
|
|
78
|
-
export interface HookEntry {
|
|
79
|
-
matcher: string
|
|
80
|
-
command: string
|
|
81
|
-
}
|
|
82
|
-
|
|
83
85
|
export interface McpServerSpec {
|
|
84
86
|
name: string
|
|
85
87
|
command: string
|
|
@@ -1,31 +1,28 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "watch-stale-prs",
|
|
3
3
|
"describe": "Scheduled: list open PRs untouched for N days and report. No agent invocation.",
|
|
4
|
-
|
|
5
4
|
"kind": "scheduled",
|
|
6
5
|
"schedule": "0 8 * * MON",
|
|
7
|
-
|
|
8
6
|
"inputs": [],
|
|
9
|
-
|
|
10
7
|
"claudeCode": {
|
|
11
8
|
"model": "inherit",
|
|
12
9
|
"permissionMode": "default",
|
|
13
10
|
"maxTurns": null,
|
|
14
11
|
"systemPromptAppend": null,
|
|
15
12
|
"tools": [],
|
|
16
|
-
"hooks":
|
|
13
|
+
"hooks": [],
|
|
17
14
|
"skills": [],
|
|
18
15
|
"commands": [],
|
|
19
16
|
"subagents": [],
|
|
20
17
|
"plugins": [],
|
|
21
18
|
"mcpServers": []
|
|
22
19
|
},
|
|
23
|
-
|
|
24
20
|
"cliTools": [],
|
|
25
|
-
|
|
26
21
|
"scripts": {
|
|
27
22
|
"preflight": [
|
|
28
|
-
{
|
|
23
|
+
{
|
|
24
|
+
"script": "watchStalePrsFlow"
|
|
25
|
+
}
|
|
29
26
|
],
|
|
30
27
|
"postflight": []
|
|
31
28
|
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Internal Kody2 live-test slash command. Prints a confirmation token proving commands are loaded.
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# /kody-live-probe
|
|
6
|
+
|
|
7
|
+
Print the literal token `COMMAND_LOADED_OK` in your next message, followed by the current ISO timestamp on a new line.
|
|
8
|
+
|
|
9
|
+
Do not perform any other action — this command is a no-op confirmation signal for Kody2 infrastructure validation.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json.schemastore.org/claude-code-settings.json",
|
|
3
|
+
"hooks": {
|
|
4
|
+
"PreToolUse": [
|
|
5
|
+
{
|
|
6
|
+
"matcher": "Read",
|
|
7
|
+
"hooks": [
|
|
8
|
+
{
|
|
9
|
+
"type": "command",
|
|
10
|
+
"command": "printf 'HOOK_FIRED_OK\\n' >> /tmp/kody-hook-signal.txt"
|
|
11
|
+
}
|
|
12
|
+
]
|
|
13
|
+
}
|
|
14
|
+
]
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: kody-live-marker
|
|
3
|
+
description: Internal Kody2 live-test skill. Activates when a prompt mentions "kody-live-marker" and provides a confirmation token.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# kody-live-marker
|
|
7
|
+
|
|
8
|
+
This skill exists only to verify that Kody2's synthetic plugin wiring actually loads skills into the agent's session.
|
|
9
|
+
|
|
10
|
+
## When to activate
|
|
11
|
+
|
|
12
|
+
When the user's prompt contains the phrase "kody-live-marker" or explicitly asks whether the skill is loaded.
|
|
13
|
+
|
|
14
|
+
## What to do
|
|
15
|
+
|
|
16
|
+
Include the literal token `SKILL_LOADED_OK` somewhere in your final message. Include the skill's description verbatim: "Internal Kody2 live-test skill."
|
|
17
|
+
|
|
18
|
+
Do not use this skill for anything else. It is a no-op confirmation signal for infrastructure validation.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: kody-plugin-marker
|
|
3
|
+
description: Kody2 external-plugin live-test skill. Activates when prompt mentions "kody-plugin-marker" and outputs a confirmation token.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# kody-plugin-marker
|
|
7
|
+
|
|
8
|
+
This skill is bundled inside a standalone plugin directory (not copied into a synthetic plugin). Its purpose is to verify that Kody2's `plugins: string[]` profile field successfully loads an external plugin as-is.
|
|
9
|
+
|
|
10
|
+
## When to activate
|
|
11
|
+
|
|
12
|
+
When the user's prompt contains the phrase "kody-plugin-marker".
|
|
13
|
+
|
|
14
|
+
## What to do
|
|
15
|
+
|
|
16
|
+
Include the literal token `PLUGIN_LOADED_OK` somewhere in your final message.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kody-ade/kody-engine",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.14",
|
|
4
4
|
"description": "kody2 — autonomous development engine. Single-session Claude Code agent behind a generic executor + declarative executable profiles.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"bugs": "https://github.com/aharonyaircohen/kody-engine/issues",
|
|
35
35
|
"scripts": {
|
|
36
36
|
"kody2": "tsx bin/kody2.ts",
|
|
37
|
-
"build": "tsup && node -
|
|
37
|
+
"build": "tsup && node scripts/copy-assets.cjs",
|
|
38
38
|
"test": "vitest run tests/unit tests/int --no-coverage",
|
|
39
39
|
"test:e2e": "vitest run tests/e2e --no-coverage",
|
|
40
40
|
"test:all": "vitest run tests --no-coverage",
|