Files
sand-boxer/.claude/rules/stack-and-commands.md
tegwick 8a39eaba34 Add make install for global sandboxer CLI
Document uv tool install path and uv run fallback so sandboxer is
available outside the project venv after make install.
2026-06-23 13:55:38 +02:00

1.3 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
make install        # sandboxer → ~/.local/bin (ensure ~/.local/bin is on PATH)

Without global install, prefix commands with uv run from the repo root:

uv run sandboxer create --profile profile.compose-e2e --input repo=/path/to/repo

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.