29 lines
890 B
Markdown
29 lines
890 B
Markdown
# 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
|