stack/AGENTS.md

27 lines
1.4 KiB
Markdown
Raw Permalink Normal View History

# Agent notes (arr-stack)
## Project specification (read first)
| File | Audience |
|------|----------|
| **`specification.json`** | Coding agents / tools — structured index of the whole stack |
| **`specification.html`** | Humans — same content, readable |
**Do not edit those two files by hand.** Update `scripts/generate-specification.py` (`SPEC` dict), then run:
```bash
./scripts/generate-specification.py
```
Commit **both** outputs together so they stay in lockstep. Prefer JSON over HTML for agent context.
## Git
- Remote: `origin``ssh://git@192.168.8.123:2222/tim/stack.git` (Forgejo `tim/stack`)
- After any meaningful change set: **commit and push** to `main` with a clear, complete-sentence message (what changed and why).
- Never commit secrets: `.env`, `wireguard/wg0.conf`, `config/`, GGUF models, `ansible/.secrets/`.
- Prefer SSH push (`GIT_SSH_COMMAND` with `~/.ssh/id_ed25519` if needed).
- Server checkout: `/opt/stack` is the same repo (`git pull` on ser5). Ansible uses `stack_deploy_method: git`.
- Prefer **`.env`** for config (see `.env.example`). Demo creds: `DEMO_USER=tim` `DEMO_PASS=asdfasdf`. Fresh host: `./scripts/bootstrap-stack.sh`.
- Secrets live in `secrets/.env` (gitignored). After edits: see **quickstart.md → After changing secrets** (Usenet → `configure-usenet.sh`; Cloudflare → `render-cloudflare-ddns-env.sh` + recreate container; NZBgeek → Prowlarr UI; WireGuard → `wg0.conf` + gluetun recreate/watch).