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

50 lines
1.1 KiB
Markdown

## Stack
- **Language:** Python 3.11+
- **Package manager:** [uv](https://docs.astral.sh/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:
```bash
make setup # uv sync --all-groups → .venv
```
Day-to-day verification (run before committing):
```bash
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):
```bash
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:
```bash
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.