# Contributing to Segovia
Thanks for your interest. Segovia is in an early, pre-implementation phase — the most useful
contributions right now are issues, design feedback, and small focused PRs.
## Development setup (Windows-first)
A `.venv` at the project root is required. On Windows (PowerShell), run commands separately — do not
chain with `&&`.
```powershell
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install maturin
maturin develop --release
```
`maturin develop --release` recompiles the Rust extension and installs the editable Python package.
**Re-run it after any Rust change** before running Python or tests.
## Checks before opening a PR
```powershell
cargo fmt --all
cargo clippy --all-targets -- -D warnings
cargo test
```
## Conventions
- **Conventional commits:** `<type>(<scope>): <description>` — lowercase, present-tense imperative.
Types: `feat`, `fix`, `docs`, `style`, `refactor`, `test`, `chore`, `ci`. One commit per logical change.
- **No code comments.** Names and types are the documentation.
- **Bug fixes target the root cause** — no workarounds that only make tests pass.
- **PR descriptions use STAR format:** Situation / Task / Action / Result.
## Licensing of contributions
Unless you state otherwise, any contribution you submit is licensed under
**AGPL-3.0-or-later**, the same terms as the project, without any additional conditions.