# System environment

- OS: macOS
- Shell: zsh
- Package manager: Homebrew
- Python: managed by uv
- Node.js: installed via Homebrew
- Additional JS runtimes: bun, deno

# Available tools

- `git` / `gh` - version control and GitHub CLI
- `uv` - Python project manager (replaces pip, venv, virtualenv, poetry, pyenv)
- `uvx` - run Python CLI tools without installing (e.g. `uvx ruff check .`)
- `node` / `npm` - Node.js and package manager
- `bun` - fast JS runtime and package manager
- `deno` - secure JS/TS runtime

# Python workflow

- Always use `uv` for Python projects. Never use raw `pip install`.
- Create new projects: `uv init`, add dependencies: `uv add <package>`.
- Run scripts: `uv run <script.py>` (auto-activates virtual environment).
- For existing projects with requirements.txt: `uv venv && uv pip install -r requirements.txt`.
- Install specific Python version: `uv python install 3.12`
- Pin Python version to project: `uv python pin 3.12`

# Code style

- Python: prefer type hints, use ruff for linting (`uvx ruff check .`).
- Format Python with ruff format (`uvx ruff format .`).
- Commit messages: short, imperative mood, in English.

# Important

- Do not modify global Python installation.
- Do not use `pip install` outside of a virtual environment.
- Prefer `uv add` over `uv pip install` for project dependencies.