52 lines
1.1 KiB
Makefile
52 lines
1.1 KiB
Makefile
# Justfile for Sandcage
|
|
#
|
|
# Environment variables are loaded from `.env` automatically.
|
|
set shell := ["sh", "-cu"]
|
|
set windows-shell := ["sh", "-cu"]
|
|
set dotenv-load := true
|
|
|
|
export PYTHONIOENCODING := "utf-8"
|
|
|
|
# Default: list available recipes.
|
|
default:
|
|
@just --list
|
|
|
|
# Run cargo check.
|
|
check:
|
|
cargo check
|
|
|
|
# Run cargo build.
|
|
build:
|
|
cargo build
|
|
|
|
# Run unit tests (fast, no Docker required).
|
|
test:
|
|
cargo test --workspace --exclude sandcage-test
|
|
|
|
# Run drift-guard and CLI smoke tests (fast, no Docker).
|
|
test-drift:
|
|
cargo test -p sandcage-test -- --test-threads=1
|
|
|
|
# Run functional tests (requires Docker + pre-built images).
|
|
test-functional:
|
|
cargo test -p sandcage-test -- --ignored --test-threads=1
|
|
|
|
# Run all tests.
|
|
test-all: test test-drift test-functional
|
|
|
|
# Run Claude Code.
|
|
claude:
|
|
claude --allow-dangerously-skip-permissions
|
|
|
|
# Export to public repo (force-with-lease push to main).
|
|
export *FLAGS:
|
|
uv run python scripts/export.py push {{FLAGS}}
|
|
|
|
# Dry-run export (inspect without pushing).
|
|
export-dry:
|
|
uv run python scripts/export.py push --dry-run
|
|
|
|
install:
|
|
cargo install --path crates/sandcage
|
|
sandcage build --force
|