Files
sand-boxer/.claude/rules/stack-and-commands.md
tegwick d6d3155792 Implement SAND-WP-0002 meta-framework foundation (T01–T09)
Add meta-framework spec, pydantic schemas, profile/extension YAML, extension
registry, ext.compose-ssh backend, SandboxManager with State Hub events, CLI
commands, integration docs, capability registry entry, and compose-e2e runbook.
Nine unit tests pass. T10 remote smoke test remains for operator.
2026-06-22 23:27:31 +02:00

1.1 KiB

Stack

  • Language: Python 3.11+
  • Package manager: uv
  • Build: hatchling (src layout: src/sandboxer/)
  • CLI: typer (sandboxer entry point)
  • Test: pytest
  • Lint / format: ruff

Dev Commands

Run from the repo root. First-time setup:

make setup          # uv sync --all-groups → .venv

Day-to-day verification (run before committing):

make check          # lint + test
make test           # pytest
make lint           # ruff check
make format         # ruff format (apply fixes)
make build          # uv build (wheel + sdist)
make cli-version    # smoke test: sandboxer version

Sandbox CLI (v0):

sandboxer create --profile profile.compose-e2e --input repo=/path/to/repo
sandboxer get <id>
sandboxer list
sandboxer destroy <id>
sandboxer recreate <id>

Equivalent uv invocations without Make:

uv sync --all-groups
uv run pytest
uv run ruff check .
uv run ruff format .
uv build
uv run sandboxer version

No long-running service yet — API and provisioner land in SAND-WP-0002.