# Contributing ## Versioning This project follows [Semantic Versioning](https://semver.org/): - **PATCH** — bug fixes, documentation-only changes - **MINOR** — backward-compatible features (new commands, options, schema fields) - **MAJOR** — breaking changes to CLI contracts, config keys, or artifact schemas Release notes and test baselines are recorded in [`CHANGELOG.md`](CHANGELOG.md). ## Development setup ```bash uv pip install -e ".[dev]" uv run pytest -q ``` Optional Textual UI: `uv pip install -e ".[tui]"`. ## Pull requests 1. Write or extend tests for behavior changes. 2. Run `uv run pytest -q` locally (CI runs the same). 3. Keep commits focused; use imperative subject lines. 4. Do not commit personal library paths, workflow artifacts (`artifacts/`, root CSV/JSON), or API keys from `~/.vlm/config.yaml`. ## Code style - Python 3.10+, 4-space indentation, type hints on public APIs. - Use absolute imports in package code: `from vlm.module import ...` (not relative imports in new code). - `uv run ruff check src tests` when Ruff is installed via `[dev]`.