diff --git a/.claude/rules/stack-and-commands.md b/.claude/rules/stack-and-commands.md index 2c7de18..157a732 100644 --- a/.claude/rules/stack-and-commands.md +++ b/.claude/rules/stack-and-commands.md @@ -13,6 +13,13 @@ Run from the repo root. First-time setup: ```bash 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: + +```bash +uv run sandboxer create --profile profile.compose-e2e --input repo=/path/to/repo ``` Day-to-day verification (run before committing): diff --git a/AGENTS.md b/AGENTS.md index 1e47282..637ce20 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -165,6 +165,7 @@ get wrong. ```bash make setup # install deps into .venv +make install # sandboxer CLI → ~/.local/bin (add to PATH if needed) make check # lint + test — run before committing make test # pytest make lint # ruff check diff --git a/Makefile b/Makefile index e581bf9..a62e9e1 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ .DEFAULT_GOAL := help -.PHONY: help setup test lint format build check cli-version +.PHONY: help setup install test lint format build check cli-version help: ## List available make targets @awk 'BEGIN {FS = ":.*## "}; /^[a-zA-Z0-9_.-]+:.*## / {printf " %-16s %s\n", $$1, $$2}' $(MAKEFILE_LIST) @@ -8,6 +8,9 @@ help: ## List available make targets setup: ## Sync dependencies into .venv uv sync --all-groups +install: ## Install sandboxer CLI to ~/.local/bin (editable) + uv tool install -e . --force + test: ## Run the test suite uv run pytest