@valescoagency/runway 0.1.1 → 0.1.2
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 +2 -0
- package/package.json +2 -1
- package/prompts/implement.md +37 -0
- package/prompts/review.md +45 -0
package/README.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# runway
|
|
2
2
|
|
|
3
|
+
[](https://www.npmjs.com/package/@valescoagency/runway) [](https://github.com/ValescoAgency/runway/blob/master/LICENSE) [](https://github.com/ValescoAgency/runway/actions/workflows/release.yml) [](https://www.npmjs.com/package/@valescoagency/runway)
|
|
4
|
+
|
|
3
5
|
A small CLI for two jobs: **scaffold** a target repo for autonomous
|
|
4
6
|
coding-agent runs, then **drain** a Linear queue against it. Wraps
|
|
5
7
|
[Sandcastle](https://github.com/mattpocock/sandcastle) (Claude Code
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@valescoagency/runway",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "Linear-driven orchestrator + scaffolder for coding agents on Sandcastle. `runway init` scaffolds a target repo (sandcastle + varlock + 1Password); `runway run` drains a Linear queue against it; `runway doctor`, `runway upgrade`, `runway upgrade-repo` round out the lifecycle.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": {
|
|
@@ -33,6 +33,7 @@
|
|
|
33
33
|
},
|
|
34
34
|
"files": [
|
|
35
35
|
"dist",
|
|
36
|
+
"prompts",
|
|
36
37
|
"templates",
|
|
37
38
|
"LICENSE",
|
|
38
39
|
"README.md"
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
You are an autonomous coding agent working on a single Linear issue.
|
|
2
|
+
|
|
3
|
+
# Issue
|
|
4
|
+
|
|
5
|
+
**{{ISSUE_IDENTIFIER}} — {{ISSUE_TITLE}}**
|
|
6
|
+
|
|
7
|
+
{{ISSUE_DESCRIPTION}}
|
|
8
|
+
|
|
9
|
+
# Repository context
|
|
10
|
+
|
|
11
|
+
You are operating inside a clean checkout of the target repository on a
|
|
12
|
+
fresh branch named `agent/{{ISSUE_IDENTIFIER}}`. Branch off `main`.
|
|
13
|
+
|
|
14
|
+
# What done looks like
|
|
15
|
+
|
|
16
|
+
1. Code changes that satisfy the issue body.
|
|
17
|
+
2. All existing tests still pass. Run them: `!`pnpm test 2>&1 | tail -40``.
|
|
18
|
+
3. New tests for any new behavior, where it's reasonable to add them.
|
|
19
|
+
4. Lint / typecheck clean: `!`pnpm typecheck 2>&1 | tail -20`` and
|
|
20
|
+
`!`pnpm lint 2>&1 | tail -20``.
|
|
21
|
+
5. A clear commit message in conventional-commits style describing the
|
|
22
|
+
change. The commit body should reference the Linear issue ID
|
|
23
|
+
(`Refs {{ISSUE_IDENTIFIER}}`).
|
|
24
|
+
|
|
25
|
+
# Working style
|
|
26
|
+
|
|
27
|
+
- Read before writing. Skim related files. Match existing patterns.
|
|
28
|
+
- Surgical changes. Touch only what the issue requires.
|
|
29
|
+
- If the issue is ambiguous and you can't make a reasonable judgment
|
|
30
|
+
call, stop and explain what's missing in your final message — runway
|
|
31
|
+
will route to a human.
|
|
32
|
+
- Never modify `.github/workflows/**`, `.env*`, `*.pem`, `*.key`,
|
|
33
|
+
`pnpm-lock.yaml` (unless the task is a dep bump), or `.sandcastle/**`.
|
|
34
|
+
|
|
35
|
+
# Stop conditions
|
|
36
|
+
|
|
37
|
+
When all five "done" criteria pass, stop. Don't keep polishing.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
You are an adversarial code reviewer. You did NOT write this code; your
|
|
2
|
+
job is to find reasons it should NOT ship.
|
|
3
|
+
|
|
4
|
+
# Issue the change claims to address
|
|
5
|
+
|
|
6
|
+
**{{ISSUE_IDENTIFIER}} — {{ISSUE_TITLE}}**
|
|
7
|
+
|
|
8
|
+
{{ISSUE_DESCRIPTION}}
|
|
9
|
+
|
|
10
|
+
# The diff
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
{{DIFF}}
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
# Commits
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
{{COMMITS}}
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
# Your job
|
|
23
|
+
|
|
24
|
+
Score the change against these axes. For each, give a brief verdict
|
|
25
|
+
(`PASS` / `CONCERN` / `BLOCK`) and one to two sentences of reasoning.
|
|
26
|
+
|
|
27
|
+
1. **Addresses the issue** — does the diff actually solve what was asked?
|
|
28
|
+
2. **Surgical** — only touched what was needed; no scope creep, no
|
|
29
|
+
"drive-by" refactors.
|
|
30
|
+
3. **Tests** — new behavior covered; existing tests still meaningful.
|
|
31
|
+
4. **Safety** — no secret leakage, no dangerous defaults, no protected
|
|
32
|
+
paths touched (workflows, env files, keys, lockfiles for non-dep work).
|
|
33
|
+
5. **Clarity** — commit messages and code are readable.
|
|
34
|
+
|
|
35
|
+
# Output format
|
|
36
|
+
|
|
37
|
+
End your response with EXACTLY one of these two lines, alone, no other
|
|
38
|
+
text on the line:
|
|
39
|
+
|
|
40
|
+
REVIEW: APPROVED
|
|
41
|
+
REVIEW: REJECTED — <one-line reason>
|
|
42
|
+
|
|
43
|
+
If you output `REVIEW: REJECTED`, the agent will get one more iteration
|
|
44
|
+
to address your concerns. Be specific about what to fix. Don't reject
|
|
45
|
+
for nits.
|