This file is an index. Load only the specific doc(s) relevant to your task to minimize context usage.
Always load docs/agents-common/common.md first — it contains essential guidelines for task sizing, git commits, and git push that apply to all tasks.
Git push — Always push using the HTTPS URL directly: git push https://github.com/LNVPS/api.git
| File | Description |
|---|---|
| work/agent-rules-compliance.md | Bringing codebase into full compliance with all agent rules |
These docs apply to all projects using this agent structure:
| Doc | When to load |
|---|---|
| docs/agents-common/bug-fixes.md | Resolving bugs (includes regression test requirement) |
| docs/agents-common/coverage.md | Any edit that adds or modifies functions (100% function coverage required) |
| docs/agents-common/incremental-work.md | Managing a work file for a multi-increment task |
| Doc | When to load |
|---|---|
| docs/agents/project-overview.md | Understanding workspace crates, feature flags, module structure |
| docs/agents/build-and-test.md | Running builds, tests, clippy, or formatting |
| docs/agents/code-style.md | Writing or reviewing Rust code (imports, errors, naming, async, derives, serde, tests) |
| docs/agents/api-guidelines.md | Modifying any user-facing or admin API endpoint |
| docs/agents/migrations.md | Adding or modifying database migrations |
| docs/agents/currency.md | Working with money amounts, pricing, or payments |
| docs/agents/bug-fixes.md | Resolving bugs — LNVPS-specific additions |
| docs/agents/coverage.md | Function coverage — LNVPS-specific additions |
| docs/agents/e2e-tests.md | Writing or running E2E integration tests (lnvps_e2e crate) |
When creating a PR that closes a GitHub issue:
- Label the issue — Before opening the PR, apply appropriate labels to the linked issue using
gh issue edit <number> --add-label "<label>". Choose from existing repo labels; create a new one withgh label createonly if no existing label fits. Typical labels:bug— something is brokenenhancement— new feature or improvementhost:proxmox/host:libvirt— host-specific changesapi— user-facing or admin API changesdatabase— migration or schema changespayments— payment/invoice logicrefactor— internal restructuring without behaviour changedocumentation— docs-only change
- Open the PR — Reference the issue in the PR body (
Fixes #N).
When the user asks to create a release:
- Update
API_CHANGELOG.md— Change## [Unreleased]to## [vX.Y.Z] - YYYY-MM-DDwith the current date - Update
Cargo.tomlversions — Bump the version in the rootCargo.tomlunder[workspace.package](all crates inherit viaversion.workspace = true) - Commit the changes —
git commit -m "chore: release vX.Y.Z" - Create an annotated tag —
git tag -a vX.Y.Z -m "Release vX.Y.Z" - Push commit and tag —
git push https://github.com/LNVPS/api.git && git push https://github.com/LNVPS/api.git vX.Y.Z