34 lines
1.1 KiB
Markdown
34 lines
1.1 KiB
Markdown
# 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]`.
|