@kody-ade/kody-engine 0.4.122 → 0.4.123
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 +6 -12
- package/dist/bin/kody.js +3696 -3650
- package/dist/executables/qa-engineer/profile.json +2 -2
- package/dist/executables/qa-engineer/prompt.md +5 -6
- package/dist/executables/ui-review/profile.json +1 -1
- package/dist/executables/ui-review/prompt.md +5 -3
- package/kody.config.schema.json +0 -11
- package/package.json +1 -1
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"flag": "--url",
|
|
10
10
|
"type": "string",
|
|
11
11
|
"required": false,
|
|
12
|
-
"describe": "Base URL the agent should browse. Optional — resolveQaUrl preflight falls back to the goal-branch Vercel deployment (when --goal is set), then $PREVIEW_URL, then
|
|
12
|
+
"describe": "Base URL the agent should browse. Optional — resolveQaUrl preflight falls back to the goal-branch Vercel deployment (when --goal is set), then $PREVIEW_URL, then the `QA_URL` variable in .kody/variables.json. Errors if none resolve."
|
|
13
13
|
},
|
|
14
14
|
{
|
|
15
15
|
"name": "scope",
|
|
@@ -87,7 +87,7 @@
|
|
|
87
87
|
"preflight": [
|
|
88
88
|
{ "script": "resolveQaUrl" },
|
|
89
89
|
{ "script": "discoverQaContext" },
|
|
90
|
-
{ "script": "
|
|
90
|
+
{ "script": "loadQaContext" },
|
|
91
91
|
{ "script": "loadConventions" },
|
|
92
92
|
{ "script": "warmupMcp" },
|
|
93
93
|
{ "script": "composePrompt" }
|
|
@@ -7,8 +7,7 @@ You may write throwaway artifacts (screenshots, ad-hoc Playwright specs) under `
|
|
|
7
7
|
Base URL: `{{previewUrl}}` (resolved from: {{previewUrlSource}})
|
|
8
8
|
{{#args.scope}}Focus: **{{args.scope}}**{{/args.scope}}
|
|
9
9
|
{{^args.scope}}Focus: broad smoke across discovered routes.{{/args.scope}}
|
|
10
|
-
{{
|
|
11
|
-
{{^args.authProfile}}Auth: log in fresh using credentials from the QA guide if needed.{{/args.authProfile}}
|
|
10
|
+
{{qaAuthBlock}}
|
|
12
11
|
|
|
13
12
|
Report destination: {{#args.goal}}existing kody goal `{{args.goal}}` (each finding becomes a `goal:{{args.goal}}` task issue){{/args.goal}}{{^args.goal}}{{#args.issue}}existing issue #{{args.issue}} (postflight will comment on it){{/args.issue}}{{^args.issue}}a new kody goal (postflight will append to the goals manifest and open one task issue per finding){{/args.issue}}{{/args.goal}}.
|
|
14
13
|
|
|
@@ -30,9 +29,9 @@ If that errors (timeout, DNS, connection refused), the app is unreachable. STOP
|
|
|
30
29
|
{{qaContext}}
|
|
31
30
|
```
|
|
32
31
|
|
|
33
|
-
# QA
|
|
32
|
+
# QA scenarios & notes (hand-written, authoritative over auto-discovery above)
|
|
34
33
|
|
|
35
|
-
{{
|
|
34
|
+
{{qaProfile}}
|
|
36
35
|
|
|
37
36
|
{{conventionsBlock}}
|
|
38
37
|
|
|
@@ -40,9 +39,9 @@ If that errors (timeout, DNS, connection refused), the app is unreachable. STOP
|
|
|
40
39
|
|
|
41
40
|
# What to do
|
|
42
41
|
|
|
43
|
-
1. **Plan the session.** From the QA context, the QA
|
|
42
|
+
1. **Plan the session.** From the QA context, the QA scenarios & notes, and the focus, build a short test matrix. For each candidate UI surface, list the user-visible behaviors worth verifying. Skip surfaces unrelated to the focus.
|
|
44
43
|
|
|
45
|
-
2. **Authenticate if required.** If a route under test needs a role and you have credentials
|
|
44
|
+
2. **Authenticate if required.** Follow the Auth instruction in the Target section above. If a route under test needs a role and you have credentials, log in once. If credentials for a needed role are missing, note it as a gap and browse only what you can.
|
|
46
45
|
|
|
47
46
|
3. **Exercise each surface.** For every UI surface in your matrix, run through the relevant states. Don't pad — apply the checklist where it actually matters:
|
|
48
47
|
- **Happy path.** The user-visible behavior the surface exists to support, end to end.
|
|
@@ -30,9 +30,11 @@ If `browser_navigate` errors out (timeout, DNS, connection refused, navigation a
|
|
|
30
30
|
{{qaContext}}
|
|
31
31
|
```
|
|
32
32
|
|
|
33
|
-
# QA
|
|
33
|
+
# QA scenarios & notes (hand-written, authoritative over auto-discovery above)
|
|
34
34
|
|
|
35
|
-
{{
|
|
35
|
+
{{qaProfile}}
|
|
36
|
+
|
|
37
|
+
{{qaAuthBlock}}
|
|
36
38
|
|
|
37
39
|
# Diff
|
|
38
40
|
|
|
@@ -48,7 +50,7 @@ If `browser_navigate` errors out (timeout, DNS, connection refused, navigation a
|
|
|
48
50
|
|
|
49
51
|
1. **Identify UI-affecting changes.** Read the diff. Which pages / components / forms / styles did this PR change? Which user-visible behavior should be verified in the browser? If the diff has no UI surface (pure backend, pure config, pure tests), say so and produce a diff-only review — do not spin up Playwright for nothing.
|
|
50
52
|
|
|
51
|
-
2. **Plan the browse session.** For each UI-affecting change, pick 1–3 routes from the QA context that exercise it. If the change requires an authenticated role,
|
|
53
|
+
2. **Plan the browse session.** For each UI-affecting change, pick 1–3 routes from the QA context that exercise it. If the change requires an authenticated role, follow the Auth instruction above. If no credentials are available for a role the change depends on, note that as a gap and browse only public pages.
|
|
52
54
|
|
|
53
55
|
3. **Write a Playwright spec.** Create exactly one file at `.kody/ui-review/browse.spec.ts`. Use `process.env.UI_REVIEW_BASE_URL` as the base URL. For each route you plan to check, write a test that:
|
|
54
56
|
- navigates there,
|
package/kody.config.schema.json
CHANGED
|
@@ -420,17 +420,6 @@
|
|
|
420
420
|
},
|
|
421
421
|
"additionalProperties": false
|
|
422
422
|
},
|
|
423
|
-
"qa": {
|
|
424
|
-
"type": "object",
|
|
425
|
-
"description": "qa-engineer defaults. Used by the resolveQaUrl preflight when no explicit --url is passed and no $PREVIEW_URL env var is set.",
|
|
426
|
-
"properties": {
|
|
427
|
-
"fallbackUrl": {
|
|
428
|
-
"type": "string",
|
|
429
|
-
"description": "Fallback URL the qa-engineer should target. Typically the project's stable dev environment (e.g. 'https://dev.example.com'). No localhost defaults — CI has no localhost to fall back to."
|
|
430
|
-
}
|
|
431
|
-
},
|
|
432
|
-
"additionalProperties": false
|
|
433
|
-
},
|
|
434
423
|
"devServer": {
|
|
435
424
|
"type": "object",
|
|
436
425
|
"description": "Dev server configuration for browser tool verification. Works with any provider (MCP or CLI-based).",
|
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.123",
|
|
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",
|