@rafaeltab/sandcastle 0.13.0-fork.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/LICENSE +21 -0
- package/README.md +1410 -0
- package/dist/MountConfig-CmXclHA5.d.ts +26 -0
- package/dist/SandboxProvider-EkSMuBp8.d.ts +243 -0
- package/dist/chunk-62WN33RK.js +104 -0
- package/dist/chunk-62WN33RK.js.map +1 -0
- package/dist/chunk-BBMMM5CR.js +23 -0
- package/dist/chunk-BBMMM5CR.js.map +1 -0
- package/dist/chunk-BIWNFKGV.js +22 -0
- package/dist/chunk-BIWNFKGV.js.map +1 -0
- package/dist/chunk-CP3TYXZA.js +362 -0
- package/dist/chunk-CP3TYXZA.js.map +1 -0
- package/dist/chunk-DJRHWPEH.js +25569 -0
- package/dist/chunk-DJRHWPEH.js.map +1 -0
- package/dist/chunk-NGBM7T3E.js +76 -0
- package/dist/chunk-NGBM7T3E.js.map +1 -0
- package/dist/chunk-VOG34SRF.js +27012 -0
- package/dist/chunk-VOG34SRF.js.map +1 -0
- package/dist/index.d.ts +1051 -0
- package/dist/index.js +3485 -0
- package/dist/index.js.map +1 -0
- package/dist/main.d.ts +1 -0
- package/dist/main.js +19367 -0
- package/dist/main.js.map +1 -0
- package/dist/mountUtils-CCA-bbpK.d.ts +25 -0
- package/dist/sandboxes/daytona.d.ts +60 -0
- package/dist/sandboxes/daytona.js +136 -0
- package/dist/sandboxes/daytona.js.map +1 -0
- package/dist/sandboxes/docker.d.ts +110 -0
- package/dist/sandboxes/docker.js +9 -0
- package/dist/sandboxes/docker.js.map +1 -0
- package/dist/sandboxes/no-sandbox.d.ts +38 -0
- package/dist/sandboxes/no-sandbox.js +7 -0
- package/dist/sandboxes/no-sandbox.js.map +1 -0
- package/dist/sandboxes/podman.d.ts +124 -0
- package/dist/sandboxes/podman.js +299 -0
- package/dist/sandboxes/podman.js.map +1 -0
- package/dist/sandboxes/vercel.d.ts +104 -0
- package/dist/sandboxes/vercel.js +189 -0
- package/dist/sandboxes/vercel.js.map +1 -0
- package/dist/templates/blank/main.mts +12 -0
- package/dist/templates/blank/prompt.md +12 -0
- package/dist/templates/blank/template.json +4 -0
- package/dist/templates/parallel-planner/implement-prompt.md +62 -0
- package/dist/templates/parallel-planner/main.mts +204 -0
- package/dist/templates/parallel-planner/merge-prompt.md +26 -0
- package/dist/templates/parallel-planner/plan-prompt.md +37 -0
- package/dist/templates/parallel-planner/template.json +4 -0
- package/dist/templates/parallel-planner-with-review/CODING_STANDARDS.md +27 -0
- package/dist/templates/parallel-planner-with-review/implement-prompt.md +62 -0
- package/dist/templates/parallel-planner-with-review/main.mts +226 -0
- package/dist/templates/parallel-planner-with-review/merge-prompt.md +26 -0
- package/dist/templates/parallel-planner-with-review/plan-prompt.md +37 -0
- package/dist/templates/parallel-planner-with-review/review-prompt.md +55 -0
- package/dist/templates/parallel-planner-with-review/template.json +4 -0
- package/dist/templates/sequential-reviewer/CODING_STANDARDS.md +27 -0
- package/dist/templates/sequential-reviewer/implement-prompt.md +53 -0
- package/dist/templates/sequential-reviewer/main.mts +119 -0
- package/dist/templates/sequential-reviewer/review-prompt.md +55 -0
- package/dist/templates/sequential-reviewer/template.json +4 -0
- package/dist/templates/simple-loop/main.mts +50 -0
- package/dist/templates/simple-loop/prompt.md +53 -0
- package/dist/templates/simple-loop/template.json +4 -0
- package/package.json +107 -0
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Context
|
|
2
|
+
|
|
3
|
+
## Open issues
|
|
4
|
+
|
|
5
|
+
!`{{LIST_TASKS_COMMAND}}`
|
|
6
|
+
|
|
7
|
+
The list above has already been filtered to issues ready for work and is the sole source of truth for what work exists. Do not run your own unfiltered query to find more issues — if the list is empty, there is nothing to do.
|
|
8
|
+
|
|
9
|
+
## Recent RALPH commits (last 10)
|
|
10
|
+
|
|
11
|
+
!`git log --oneline --grep="RALPH" -10`
|
|
12
|
+
|
|
13
|
+
# Task
|
|
14
|
+
|
|
15
|
+
You are RALPH — an autonomous coding agent working through issues one at a time.
|
|
16
|
+
|
|
17
|
+
## Priority order
|
|
18
|
+
|
|
19
|
+
Work on issues in this order:
|
|
20
|
+
|
|
21
|
+
1. **Bug fixes** — broken behaviour affecting users
|
|
22
|
+
2. **Tracer bullets** — thin end-to-end slices that prove an approach works
|
|
23
|
+
3. **Polish** — improving existing functionality (error messages, UX, docs)
|
|
24
|
+
4. **Refactors** — internal cleanups with no user-visible change
|
|
25
|
+
|
|
26
|
+
Pick the highest-priority open issue that is not blocked by another open issue.
|
|
27
|
+
|
|
28
|
+
## Workflow
|
|
29
|
+
|
|
30
|
+
1. **Explore** — read the issue carefully. Pull in the parent PRD if referenced. Read the relevant source files and tests before writing any code.
|
|
31
|
+
2. **Plan** — decide what to change and why. Keep the change as small as possible.
|
|
32
|
+
3. **Execute** — use RGR (Red → Green → Repeat → Refactor): write a failing test first, then write the implementation to pass it.
|
|
33
|
+
4. **Verify** — run `npm run typecheck` and `npm run test` before committing. Fix any failures before proceeding.
|
|
34
|
+
5. **Commit** — make a single git commit. The message MUST:
|
|
35
|
+
- Start with `RALPH:` prefix
|
|
36
|
+
- Include the task completed and any PRD reference
|
|
37
|
+
- List key decisions made
|
|
38
|
+
- List files changed
|
|
39
|
+
- Note any blockers for the next iteration
|
|
40
|
+
6. **Close** — close the issue with `{{CLOSE_TASK_COMMAND}}` explaining what was done.
|
|
41
|
+
|
|
42
|
+
## Rules
|
|
43
|
+
|
|
44
|
+
- Work on **one issue per iteration**. Do not attempt multiple issues in a single iteration.
|
|
45
|
+
- Do not close an issue until you have committed the fix and verified tests pass.
|
|
46
|
+
- Do not leave commented-out code or TODO comments in committed code.
|
|
47
|
+
- If you are blocked (missing context, failing tests you cannot fix, external dependency), leave a comment on the issue and move on — do not close it.
|
|
48
|
+
|
|
49
|
+
# Done
|
|
50
|
+
|
|
51
|
+
When all actionable issues are complete (or you are blocked on all remaining ones), or the open-issues block at the top of this prompt is empty, output the completion signal:
|
|
52
|
+
|
|
53
|
+
<promise>COMPLETE</promise>
|
package/package.json
ADDED
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@rafaeltab/sandcastle",
|
|
3
|
+
"version": "0.13.0-fork.0",
|
|
4
|
+
"description": "CLI for orchestrating AI agents in isolated sandbox environments",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"import": "./dist/index.js",
|
|
11
|
+
"types": "./dist/index.d.ts"
|
|
12
|
+
},
|
|
13
|
+
"./sandboxes/docker": {
|
|
14
|
+
"import": "./dist/sandboxes/docker.js",
|
|
15
|
+
"types": "./dist/sandboxes/docker.d.ts"
|
|
16
|
+
},
|
|
17
|
+
"./sandboxes/vercel": {
|
|
18
|
+
"import": "./dist/sandboxes/vercel.js",
|
|
19
|
+
"types": "./dist/sandboxes/vercel.d.ts"
|
|
20
|
+
},
|
|
21
|
+
"./sandboxes/podman": {
|
|
22
|
+
"import": "./dist/sandboxes/podman.js",
|
|
23
|
+
"types": "./dist/sandboxes/podman.d.ts"
|
|
24
|
+
},
|
|
25
|
+
"./sandboxes/daytona": {
|
|
26
|
+
"import": "./dist/sandboxes/daytona.js",
|
|
27
|
+
"types": "./dist/sandboxes/daytona.d.ts"
|
|
28
|
+
},
|
|
29
|
+
"./sandboxes/no-sandbox": {
|
|
30
|
+
"import": "./dist/sandboxes/no-sandbox.js",
|
|
31
|
+
"types": "./dist/sandboxes/no-sandbox.d.ts"
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"bin": {
|
|
35
|
+
"sandcastle": "dist/main.js"
|
|
36
|
+
},
|
|
37
|
+
"scripts": {
|
|
38
|
+
"build": "tsup",
|
|
39
|
+
"postbuild": "rm -rf dist/templates && cp -r src/templates dist/templates && node scripts/check-public-types-effect-free.mjs",
|
|
40
|
+
"test": "vitest run",
|
|
41
|
+
"test:watch": "vitest",
|
|
42
|
+
"typecheck": "tsgo --noEmit",
|
|
43
|
+
"format": "prettier --write .",
|
|
44
|
+
"format:check": "prettier --check .",
|
|
45
|
+
"prepare": "husky",
|
|
46
|
+
"release": "changeset publish",
|
|
47
|
+
"sandcastle": "npm run build && tsx .sandcastle/run.ts",
|
|
48
|
+
"test-podman": "npm run build && tsx --env-file=.sandcastle/.env .sandcastle/test-podman.ts",
|
|
49
|
+
"test-vercel": "npm run build && tsx --env-file=.sandcastle/.env .sandcastle/test-vercel.ts",
|
|
50
|
+
"test-interactive": "npm run build && tsx --env-file=.sandcastle/.env .sandcastle/test-interactive.ts"
|
|
51
|
+
},
|
|
52
|
+
"keywords": [
|
|
53
|
+
"cli",
|
|
54
|
+
"sandbox",
|
|
55
|
+
"docker",
|
|
56
|
+
"ai",
|
|
57
|
+
"agent"
|
|
58
|
+
],
|
|
59
|
+
"packageManager": "npm@10.9.2",
|
|
60
|
+
"repository": {
|
|
61
|
+
"type": "git",
|
|
62
|
+
"url": "https://github.com/zero-two-rafaeltab/sandcastle"
|
|
63
|
+
},
|
|
64
|
+
"license": "MIT",
|
|
65
|
+
"devDependencies": {
|
|
66
|
+
"@changesets/cli": "^2.30.0",
|
|
67
|
+
"@daytona/sdk": "^0.164.0",
|
|
68
|
+
"@effect/cli": "^0.74.0",
|
|
69
|
+
"@effect/platform": "^0.95.0",
|
|
70
|
+
"@effect/platform-node": "^0.105.0",
|
|
71
|
+
"@effect/printer": "^0.48.0",
|
|
72
|
+
"@effect/printer-ansi": "^0.48.0",
|
|
73
|
+
"@types/node": "^25.5.0",
|
|
74
|
+
"@typescript/native-preview": "^7.0.0-dev.20260317.1",
|
|
75
|
+
"effect": "^3.20.0",
|
|
76
|
+
"husky": "^9.1.7",
|
|
77
|
+
"lint-staged": "^15.5.1",
|
|
78
|
+
"prettier": "^3.5.3",
|
|
79
|
+
"tsup": "^8.5.1",
|
|
80
|
+
"tsx": "^4.21.0",
|
|
81
|
+
"typescript": "^6.0.3",
|
|
82
|
+
"vitest": "^3.2.0",
|
|
83
|
+
"zod": "^4.4.3"
|
|
84
|
+
},
|
|
85
|
+
"dependencies": {
|
|
86
|
+
"@clack/prompts": "^1.1.0"
|
|
87
|
+
},
|
|
88
|
+
"peerDependencies": {
|
|
89
|
+
"@daytona/sdk": "^0.164.0",
|
|
90
|
+
"@vercel/sandbox": ">=2.0.0 <4"
|
|
91
|
+
},
|
|
92
|
+
"peerDependenciesMeta": {
|
|
93
|
+
"@vercel/sandbox": {
|
|
94
|
+
"optional": true
|
|
95
|
+
},
|
|
96
|
+
"@daytona/sdk": {
|
|
97
|
+
"optional": true
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
"files": [
|
|
101
|
+
"dist"
|
|
102
|
+
],
|
|
103
|
+
"publishConfig": {
|
|
104
|
+
"access": "public",
|
|
105
|
+
"tag": "preview"
|
|
106
|
+
}
|
|
107
|
+
}
|