29 lines
2.0 KiB
Markdown
29 lines
2.0 KiB
Markdown
# Agent working agreement — Void / homelab
|
|
|
|
## Documentation policy (standing rule — do not skip)
|
|
|
|
**Every change, decision, fix, or incident must end up documented in BOTH places before the work is considered done:**
|
|
|
|
1. **The Void wiki** — the `wiki` space served by the Void. Update the relevant existing page, or create one. This is the human-facing source of truth and what `infra_audit` reads.
|
|
2. **Git** — the code plus an appropriate written artifact (a spec/plan under `docs/superpowers/`, a `CHANGELOG.md` entry, and/or a doc page), committed and **pushed** to Gitea.
|
|
|
|
Capture **verbose-first** — we consolidate/compress later. Losing information is the only failure mode; over-documenting is fine. Do this proactively as part of finishing a task, not only when asked.
|
|
|
|
## Research convention
|
|
|
|
When researching tools/projects to recommend or self-host, **start from [awesome-selfhosted](https://github.com/awesome-selfhosted/awesome-selfhosted)** (browsable at awesome-selfhosted.net) — a trusted, comprehensive, category-organised list of open-source self-hostable software. Cite it (and the relevant category) alongside other sources.
|
|
|
|
### How — wiki
|
|
Owner token: `OWNER_TOKEN` in `/opt/void-server/.env` on CT 311 (`void-app`, `192.168.1.216`). API on the LAN at `http://192.168.1.216:3000`:
|
|
- Edit a page: `PATCH /api/pages/:id` with `{ "body_md": "…", "title": "…" }`
|
|
- Create a page: `POST /api/spaces/2201a3dd-2d40-425c-a4cf-7f18882a9146/pages` with `{ "slug", "title", "body_md", "parent_id" }`
|
|
- Per-LXC / per-service pages parent under **Hosts & Services** (`ab398d61-805a-46dd-b1ba-6f09374bd7aa`).
|
|
- **Do not** write a contiguous `IP:port` for a remote-site or inactive host — `infra_audit` probes those and will false-flag them.
|
|
|
|
### How — git
|
|
Commit code + docs together and push to the project's Gitea repo:
|
|
- `void-v2` → `Hynes/Void-Homelab`
|
|
- `farm-timelapse` → `Hynes/farm-timelapse`
|
|
|
|
Specs/plans live in `docs/superpowers/{specs,plans}/`; user-facing changes get a `CHANGELOG.md` entry.
|