runcastle 0.1.0 → 1.0.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.
Files changed (74) hide show
  1. package/README.md +47 -0
  2. package/bin/runcastle.js +5580 -0
  3. package/drizzle/0000_amused_bruce_banner.sql +74 -0
  4. package/drizzle/0001_mapped_feature_flag.sql +1 -0
  5. package/drizzle/0002_waypoints.sql +14 -0
  6. package/drizzle/0003_project_closed_at.sql +1 -0
  7. package/drizzle/0004_events_project_id.sql +28 -0
  8. package/drizzle/0005_project_setting_overrides.sql +2 -0
  9. package/drizzle/meta/0000_snapshot.json +466 -0
  10. package/drizzle/meta/0001_snapshot.json +474 -0
  11. package/drizzle/meta/0002_snapshot.json +568 -0
  12. package/drizzle/meta/0003_snapshot.json +575 -0
  13. package/drizzle/meta/0004_snapshot.json +582 -0
  14. package/drizzle/meta/0005_snapshot.json +596 -0
  15. package/drizzle/meta/_journal.json +48 -0
  16. package/hook-client.ts +67 -0
  17. package/index.js +5424 -0
  18. package/package.json +24 -30
  19. package/pty-host.cjs +186 -0
  20. package/sandcastle-template/Containerfile +33 -0
  21. package/sandcastle-template/Dockerfile +33 -0
  22. package/skills/burner/implement-ticket.md +42 -0
  23. package/skills/burner/research-waypoint.md +45 -0
  24. package/skills/packs/README.md +50 -0
  25. package/skills/packs/runcastle/.claude-plugin/plugin.json +6 -0
  26. package/skills/packs/runcastle/skills/converge/SKILL.md +51 -0
  27. package/skills/packs/runcastle/skills/ideate/SKILL.md +81 -0
  28. package/skills/packs/runcastle/skills/qa/SKILL.md +30 -0
  29. package/skills/packs/runcastle/skills/spec/SKILL.md +43 -0
  30. package/skills/packs/runcastle/skills/tickets/SKILL.md +52 -0
  31. package/skills/packs/runcastle/skills/waypoint/SKILL.md +54 -0
  32. package/web/assets/index-CKZ5Z7vc.css +1 -0
  33. package/web/assets/index-YBuT7tTz.js +108 -0
  34. package/web/index.html +13 -0
  35. package/dist/add-PRGLHAVL.js +0 -298
  36. package/dist/add-PRGLHAVL.js.map +0 -1
  37. package/dist/chunk-44KDPUYJ.js +0 -49
  38. package/dist/chunk-44KDPUYJ.js.map +0 -1
  39. package/dist/chunk-5VPKMXSV.js +0 -190
  40. package/dist/chunk-5VPKMXSV.js.map +0 -1
  41. package/dist/chunk-6CWCR5SO.js +0 -24
  42. package/dist/chunk-6CWCR5SO.js.map +0 -1
  43. package/dist/chunk-AHRTPV2C.js +0 -1082
  44. package/dist/chunk-AHRTPV2C.js.map +0 -1
  45. package/dist/chunk-LP5MV76P.js +0 -33
  46. package/dist/chunk-LP5MV76P.js.map +0 -1
  47. package/dist/chunk-OJ356IMJ.js +0 -136
  48. package/dist/chunk-OJ356IMJ.js.map +0 -1
  49. package/dist/chunk-PRNBOQHW.js +0 -32
  50. package/dist/chunk-PRNBOQHW.js.map +0 -1
  51. package/dist/chunk-SNUH2UT6.js +0 -95
  52. package/dist/chunk-SNUH2UT6.js.map +0 -1
  53. package/dist/chunk-UCYVC3H6.js +0 -108
  54. package/dist/chunk-UCYVC3H6.js.map +0 -1
  55. package/dist/chunk-Y5P5BQWF.js +0 -136
  56. package/dist/chunk-Y5P5BQWF.js.map +0 -1
  57. package/dist/chunk-ZQ3BK4ZD.js +0 -134
  58. package/dist/chunk-ZQ3BK4ZD.js.map +0 -1
  59. package/dist/index.js +0 -94
  60. package/dist/index.js.map +0 -1
  61. package/dist/info-U6AZZ2TV.js +0 -78
  62. package/dist/info-U6AZZ2TV.js.map +0 -1
  63. package/dist/init-MOJNLWXK.js +0 -212
  64. package/dist/init-MOJNLWXK.js.map +0 -1
  65. package/dist/logout-YPGZ6BB6.js +0 -27
  66. package/dist/logout-YPGZ6BB6.js.map +0 -1
  67. package/dist/publish-W37Y6TO6.js +0 -211
  68. package/dist/publish-W37Y6TO6.js.map +0 -1
  69. package/dist/search-2KNAXPM5.js +0 -55
  70. package/dist/search-2KNAXPM5.js.map +0 -1
  71. package/dist/update-NIIUPL2E.js +0 -123
  72. package/dist/update-NIIUPL2E.js.map +0 -1
  73. package/dist/validate-GFDSEVPV.js +0 -12
  74. package/dist/validate-GFDSEVPV.js.map +0 -1
package/README.md ADDED
@@ -0,0 +1,47 @@
1
+ # runcastle
2
+
3
+ Burn tickets into shipped features with Claude Code.
4
+
5
+ ```sh
6
+ bun add -g runcastle # install
7
+ runcastle # boot the server + serve the app on http://localhost:4512
8
+ runcastle doctor # check prerequisites (add --gate for the pre-boot gate)
9
+ runcastle --version
10
+ ```
11
+
12
+ An update banner appears in-app when a newer version is published; it names the
13
+ exact `bun add -g runcastle@latest` command and never installs anything for you.
14
+
15
+ ## How this package is built (issue #51)
16
+
17
+ This directory is the **source** of the published `runcastle` package, but it is
18
+ not shipped as-is — as a workspace member it is `private` and depends on
19
+ `@runcastle/core` through the `workspace:*` protocol, neither of which resolves
20
+ outside the monorepo. The `prepack` step (`scripts/build-package.ts`) assembles a
21
+ self-contained package under `build/`:
22
+
23
+ - **Core is bundled in.** `Bun.build` bundles the server + bin entrypoints to
24
+ plain JS with `@runcastle/core` resolved into the output (not `--compile`).
25
+ Every real dependency (node-pty, simple-git, hono, drizzle, …) stays external
26
+ so it installs normally and keeps its prebuilds — the tarball's dependency tree
27
+ carries no `workspace:*`.
28
+ - **Runtime assets ship as real files.** The drizzle migrations, the hook client
29
+ (spawned by `bun`), the PTY sidecar host (spawned by `node`), the skills pack +
30
+ burner prompts, and the built SPA are copied beside the bin — they can't live
31
+ inside a bundle because separate processes read them by path.
32
+ - **One resolver, both layouts.** `src/launcher/asset-paths.ts` resolves every
33
+ such asset via an env override that wins-and-fails-loudly, else the workspace
34
+ source path. The bin points those env vars at the vendored copies when it
35
+ detects the installed layout (`applyInstalledAssetEnv`); a contributor checkout
36
+ finds none beside the bin and falls back to `packages/*` unchanged.
37
+ - **The published manifest** (`scripts/publish-manifest.ts`) takes the public
38
+ name `runcastle`, drops `private`, folds core's runtime deps in, and points
39
+ `bin`/`files` at the built layout.
40
+
41
+ ```sh
42
+ bun run build:pkg # assemble build/
43
+ cd build && bun pm pack # produce the tarball
44
+ ```
45
+
46
+ The contributor clone path is unaffected: `bun install` at the repo root and
47
+ `bun run dev` still run from source.