Aug makes specific tool choices. This guide shows how to adapt while keeping the workflow patterns.
| Aug Choice | Alternatives | Pattern That Transfers |
|---|---|---|
| uv (Python) | poetry, pip-tools, conda | Lockfile, isolated env, reproducible builds |
| pnpm (JS) | npm, yarn, bun | Lockfile, workspace support |
| justfile | Makefile, npm scripts, task | Standard interface, check-all gate |
| vitest | jest, mocha | Fast unit tests, coverage reporting |
| ruff | black + flake8, pylint | Format + lint in one pass |
| 96% coverage | 80%, 90%, 100% | High threshold with documented exceptions |
install:
uv sync
test:
uv run pytest
coverage:
uv run pytest --cov --cov-report=term --cov-fail-under=96
format:
uv run ruff format .
lint:
uv run ruff check . --fixinstall:
poetry install
test:
poetry run pytest
coverage:
poetry run pytest --cov --cov-report=term --cov-fail-under=96
format:
poetry run black .
lint:
poetry run flake8 .check-allpattern (format-check → lint → typecheck → coverage)- High coverage threshold
- Isolated virtual environment
- Lockfile for reproducibility
- Package manager commands
- Formatter (ruff format → black)
- Linter (ruff check → flake8)
install:
pnpm install
test:
pnpm test
coverage:
pnpm test -- --coverage --coverage.thresholds.lines=96
format:
pnpm prettier --write .
lint:
pnpm eslint . --fixinstall:
npm ci
test:
npm test
coverage:
npm test -- --coverage --coverageThreshold='{"global":{"lines":96}}'
format:
npx prettier --write .
lint:
npx eslint . --fix- Same check-all structure
- Same coverage threshold
- Same format/lint/test separation
pnpm→npm/npxpnpm install→npm ci(cleaner for CI)
# Development
install:
uv sync
dev:
uv run python -m myapp
# Quality
format:
uv run ruff format .
lint:
uv run ruff check . --fix
typecheck:
uv run mypy .
coverage:
uv run pytest --cov --cov-fail-under=96
check-all: format-check lint typecheck coverage.PHONY: install dev format lint typecheck coverage check-all
# Development
install:
uv sync
dev:
uv run python -m myapp
# Quality
format:
uv run ruff format .
lint:
uv run ruff check . --fix
typecheck:
uv run mypy .
coverage:
uv run pytest --cov --cov-fail-under=96
check-all: format-check lint typecheck coverage- Standard command names
- check-all as single entry point
- Same dependency chain
- Syntax (
:=vs=, tabs required) .PHONYdeclarations needed- No built-in argument passing
Aug uses 96%. Adjust based on your context:
coverage:
uv run pytest --cov --cov-fail-under=80Rationale: Existing untested code. Improving gradually.
coverage:
uv run pytest --cov --cov-fail-under=90Rationale: Good coverage without excessive mocking.
coverage:
uv run pytest --cov --cov-fail-under=100Rationale: Every path matters. Worth the investment.
- Threshold enforced in CI
- Failures visible immediately
- Documented exceptions (if any)
Aug uses flat branches. If you need gitflow:
main
├── epic/auth/login-page
├── epic/auth/logout-api
└── epic/payments/checkout
main
└── develop
├── feature/auth/login-page
├── feature/auth/logout-api
└── feature/payments/checkout
- Branch naming convention (prefix/scope/task)
- One task per branch
- PR-based workflow
- Target branch (main → develop)
- Release branches (gitflow adds these)
- Hotfix process
Update /work command to target develop:
# Aug default
git checkout main && git pull && git checkout -b epic/...
# Gitflow
git checkout develop && git pull && git checkout -b feature/...Aug's aug-web targets Next.js 15+. For other frameworks:
- Component-based architecture
- Server/client separation
- Type-safe props
- E2E testing with Playwright
- Next.js: App Router, Server Components
- Remix: Loaders, Actions
- SvelteKit: +page.svelte, +server.ts
- Nuxt: pages/, server/
Aug uses Tailwind + CVA. Alternatives:
- styled-components (CSS-in-JS)
- CSS Modules (scoped CSS)
- Vanilla Extract (type-safe CSS)
Pattern that transfers: Design tokens, component variants, consistent spacing.
For languages Aug doesn't cover (Go, Rust, etc.):
# Standard interface (all stacks)
install:
# language-specific install
dev:
# run development server/watcher
test:
# run tests
format:
# format code
lint:
# lint code
typecheck:
# type checking (if applicable)
coverage:
# test with coverage threshold
check-all: format-check lint typecheck coverage- Level 0: Basic commands above
- Level 1: Add
test-watch,complexity - Level 2: Add
security-check,sbom - Level 3: Add
deploy,migrate
## Opinionated Choices
- **Formatter:** gofmt (standard, no config)
- **Linter:** golangci-lint (comprehensive)
- **Test:** go test with race detector
- **Coverage:** 90% (Go idiom: test public API thoroughly)Explain what's Go-specific vs. what transfers to Rust, etc.
Adaptation strategy:
- Keep workflow patterns (plan → breakdown → create → work)
- Keep quality gates (check-all with threshold)
- Keep documentation structure (README + CLAUDE.md)
- Swap tools to match your preferences
- Adjust thresholds to match your context
- Document your choices and rationale