stack/AGENTS.md
tim 1a6f915f04 Add paired specification.json and specification.html generator
Single SPEC source regenerates machine-readable JSON for agents and
dark HTML for humans so architecture survives lost chat sessions.
2026-07-22 19:54:42 -07:00

1.4 KiB

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:

./scripts/generate-specification.py

Commit both outputs together so they stay in lockstep. Prefer JSON over HTML for agent context.

Git

  • Remote: originssh://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).