@valescoagency/runway 0.2.0 → 0.4.0
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 +109 -9
- package/dist/commands/doctor.js +282 -6
- package/dist/commands/init.js +32 -6
- package/dist/commands/run.js +37 -5
- package/dist/commands/upgrade-repo.js +42 -14
- package/dist/config.js +18 -1
- package/dist/git.js +41 -0
- package/dist/github.js +2 -2
- package/dist/linear.js +41 -0
- package/dist/orchestrator.js +262 -57
- package/dist/policy.js +76 -0
- package/dist/prompts.js +44 -1
- package/package.json +10 -3
- package/prompts/implement.md +46 -2
- package/templates/.env.schema.target-repo +8 -1
- package/templates/Dockerfile.claude-code.base +24 -0
package/prompts/implement.md
CHANGED
|
@@ -6,6 +6,8 @@ You are an autonomous coding agent working on a single Linear issue.
|
|
|
6
6
|
|
|
7
7
|
{{ISSUE_DESCRIPTION}}
|
|
8
8
|
|
|
9
|
+
{{PREVIOUS_ITERATIONS}}
|
|
10
|
+
|
|
9
11
|
# Repository context
|
|
10
12
|
|
|
11
13
|
You are operating inside a clean checkout of the target repository on a
|
|
@@ -29,9 +31,51 @@ fresh branch named `agent/{{ISSUE_IDENTIFIER}}`. Branch off `main`.
|
|
|
29
31
|
- If the issue is ambiguous and you can't make a reasonable judgment
|
|
30
32
|
call, stop and explain what's missing in your final message — runway
|
|
31
33
|
will route to a human.
|
|
32
|
-
|
|
33
|
-
`pnpm-lock.yaml` (unless the task is a dep bump), or `.sandcastle/**`.
|
|
34
|
+
{{POLICY_FORBIDDEN_BULLET}}
|
|
34
35
|
|
|
35
36
|
# Stop conditions
|
|
36
37
|
|
|
37
38
|
When all five "done" criteria pass, stop. Don't keep polishing.
|
|
39
|
+
|
|
40
|
+
# Termination contract — REQUIRED
|
|
41
|
+
|
|
42
|
+
End **every** response with exactly one of these markers, on its own
|
|
43
|
+
line, as the **last non-empty line** of your message. Nothing after it.
|
|
44
|
+
|
|
45
|
+
- `IMPL: DONE` — all five "done" criteria are met. The reviewer pass
|
|
46
|
+
will run next; no further iterations are needed.
|
|
47
|
+
- `IMPL: BLOCKED — <one-line reason>` — you cannot proceed without
|
|
48
|
+
human input (issue is ambiguous, requires a decision outside the
|
|
49
|
+
agent's purview, conflicts with a working-style constraint, hits a
|
|
50
|
+
permission wall, etc.). Runway will route the issue to a human with
|
|
51
|
+
your reason attached and will not run the reviewer pass.
|
|
52
|
+
- `IMPL: CONTINUE` — you made progress but the work isn't done yet.
|
|
53
|
+
Runway will run another iteration so you can pick up where you left
|
|
54
|
+
off.
|
|
55
|
+
|
|
56
|
+
Examples:
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
…all tests pass, typecheck clean, lint clean. Commit pushed.
|
|
60
|
+
|
|
61
|
+
IMPL: DONE
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
…the issue's acceptance criteria require modifying
|
|
66
|
+
`.github/workflows/release.yml`, which the working-style policy
|
|
67
|
+
forbids. Cannot proceed.
|
|
68
|
+
|
|
69
|
+
IMPL: BLOCKED — issue requires CI workflow changes that working-style policy forbids
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
```
|
|
73
|
+
…added the migration and the RLS policy. Tests for the policy
|
|
74
|
+
helper still need to be written next iteration.
|
|
75
|
+
|
|
76
|
+
IMPL: CONTINUE
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
The marker is parsed mechanically by runway. A missing or malformed
|
|
80
|
+
marker is treated as `CONTINUE` for back-compat, but **always** emit
|
|
81
|
+
one explicitly — silent completions waste budget on re-exploration.
|
|
@@ -18,13 +18,20 @@
|
|
|
18
18
|
# `op://<account>/<vault>/<item>/<field>`. For API_CREDENTIAL items
|
|
19
19
|
# (the natural category for API keys), the field is `credential`.
|
|
20
20
|
#
|
|
21
|
+
# Note on Claude Code auth: ANTHROPIC_API_KEY is a pay-per-token API
|
|
22
|
+
# key (sk-ant-api03-…). CLAUDE_CODE_OAUTH_TOKEN is a Pro/Max
|
|
23
|
+
# subscription token from `claude setup-token` (sk-ant-oat01-…). They
|
|
24
|
+
# are NOT interchangeable. Runway init writes whichever the user
|
|
25
|
+
# selected with --auth-mode; see runway's README "Claude Code auth"
|
|
26
|
+
# section for details.
|
|
27
|
+
#
|
|
21
28
|
# To add another secret, copy one of the two live entries below. Do
|
|
22
29
|
# NOT leave a commented-out example block here: varlock parses any
|
|
23
30
|
# `# @decorator` line as a real decorator, and a decorator with no
|
|
24
31
|
# attached config line fails validation ("detached comment block").
|
|
25
32
|
|
|
26
33
|
# @sensitive @required
|
|
27
|
-
|
|
34
|
+
{{ANTHROPIC_ENV_VAR}}=exec('op read "op://{{OP_VAULT}}/{{ANTHROPIC_ITEM}}/credential"')
|
|
28
35
|
|
|
29
36
|
# @sensitive @required
|
|
30
37
|
GH_TOKEN=exec('op read "op://{{OP_VAULT}}/{{GH_TOKEN_ITEM}}/credential"')
|
|
@@ -39,6 +39,30 @@ RUN if ! getent group $AGENT_GID >/dev/null; then \
|
|
|
39
39
|
groupmod -g $AGENT_GID node; \
|
|
40
40
|
fi \
|
|
41
41
|
&& usermod -u $AGENT_UID -g $AGENT_GID -d /home/agent -m -l agent node
|
|
42
|
+
|
|
43
|
+
# VA-351: bake the container env up front so agents don't manually
|
|
44
|
+
# work around host-path leaks, missing pnpm, or unset HOME on every
|
|
45
|
+
# iteration. Without these, every agent run repeats the same
|
|
46
|
+
# corepack/TURBO_CACHE_DIR/HOME setup commands — see VA-312's run log
|
|
47
|
+
# for the receipts.
|
|
48
|
+
ENV HOME=/home/agent
|
|
49
|
+
ENV XDG_CACHE_HOME=/home/agent/.cache
|
|
50
|
+
ENV TURBO_CACHE_DIR=/tmp/turbo-cache
|
|
51
|
+
ENV npm_config_cache=/home/agent/.cache/npm
|
|
52
|
+
|
|
53
|
+
# Pre-create cache dirs with agent ownership so the first pnpm/turbo
|
|
54
|
+
# run doesn't have to chown them. Both are inside paths the agent owns
|
|
55
|
+
# anyway; this just makes them exist.
|
|
56
|
+
RUN mkdir -p /home/agent/.cache /home/agent/.cache/npm /tmp/turbo-cache \
|
|
57
|
+
&& chown -R $AGENT_UID:$AGENT_GID /home/agent/.cache /tmp/turbo-cache
|
|
58
|
+
|
|
59
|
+
# Bake pnpm via corepack at build time so `pnpm` is on PATH inside the
|
|
60
|
+
# container before any agent command runs. Pin a default; target repos
|
|
61
|
+
# can override at runtime via `packageManager` in package.json +
|
|
62
|
+
# `corepack use`.
|
|
63
|
+
RUN corepack enable \
|
|
64
|
+
&& corepack prepare pnpm@10.0.0 --activate
|
|
65
|
+
|
|
42
66
|
USER ${AGENT_UID}:${AGENT_GID}
|
|
43
67
|
|
|
44
68
|
# Install Claude Code CLI
|