← ClaudeAtlas

dev_kitlisted

What the sandbox dev kit provides + how to drive it — ./sc deps, ./sc test, ./sc lint, ./sc typecheck, the .venv tools, rg/sqlite3, the baked browser, the container/host app boundary, and the optional app-only Postgres sidecar (DATABASE_URL). Use when building or testing in a fork.
jedbjorn/subfloor · ★ 14 · Code & Development · score 76
Install: claude install-skill jedbjorn/subfloor
# dev_kit — the sandbox dev kit What you have to build, test, and inspect a fork — and the one boundary that trips shells up. ## You are in a container You run **inside the sandbox container**; the repo is bind-mounted at its host path. The app the FnB watches in their browser is a **separate instance** — the host-supervised stack (pm2 / `make`), outside your container. To *see* the app yourself, run a dev server **inside** the sandbox on `0.0.0.0:$SC_DEV_PORT`; the FnB reaches that instance at `http://127.0.0.1:$SC_DEV_PORT`. (See the boot doc's `RUNNING THE APP` section.) ## Install + run - `./sc deps` — install the fork's deps into the bind-mount: a repo-root `.venv` from every `requirements*.txt` (fork pins win) + `npm ci`/`install` per `package.json`. Persists across image rebuilds. **Run this first.** - `./sc test` — backend (`.venv` pytest honoring the fork's `pytest.ini`, else the engine's stdlib unittest) + UI (`npm run test` / vitest where a `test` script is declared). Non-zero if any suite fails. ## The `.venv` dev kit `./sc deps` layers these onto the fork's own deps with `--upgrade-strategy only-if-needed`, so a fork's pins and its `[tool.ruff]`/`[tool.mypy]` config always win. **Available, not enforced** — opt in per fork. - `./sc lint [paths]` → `.venv/bin/ruff check` — lint + format-check. (`.venv/bin/ruff format` to apply formatting.) - `./sc typecheck [paths]` → `.venv/bin/mypy` — Python type-check. - `.venv/bin/pytest` / `coverage` / `http