# CLAUDE.md ## Commands ```bash uv run cli-tools --help # run the CLI uv sync # install dependencies uv run ruff check --fix src/ # lint uv run ruff format src/ # format ``` ## Architecture Typer-based CLI for bootstrapping a dev environment. - `cli.py` — entry point, composes sub-apps - `install.py` — install tools (fzf, zoxide, lazygit, eza, docker, uv, claude, helpers) - `docker.py` — build the `python-dev` Docker image locally - `credentials.py` — GPG encrypt/decrypt `.env` files - `helpers.py` — `run()`, `append_bashrc_section()`, `load_snippet()` Scripts: `scripts/bash_helpers.sh`, `scripts/aliases.sh` (symlinked to `~/`). ## Adding an install command 1. Add `@app.command()` in `install.py` 2. Use `run()` for shell commands, `append_bashrc_section()` for bashrc config 3. Optionally add to `bootstrap()` for first-time setup