docs(rules): mandate Unix utilities for editing, codify host hygiene

Add three policy updates to AGENTS.md and BASELINE-PROMPT.md:

1. Prefer awk/sed/grep/cut/tr for file editing over built-in harness
   edit tools, which can be unreliable with whitespace and indentation.
2. Host hygiene is inviolable: only git, docker, and Unix utilities on
   the host. One-off tools get docker-pulled; broadly useful tools get
   a Redmine ticket for the human to install via package manager.
3. Never install language runtimes or non-base tools on the host.

💘 Generated with Crush

Assisted-by: Crush
This commit is contained in:
2026-08-10 09:23:41 -05:00
parent 5aa6368ed4
commit 9836e94e48
2 changed files with 8 additions and 0 deletions
+4
View File
@@ -54,6 +54,9 @@
- **All development work happens in containers** — custom, off-the-shelf, or a mix. `docker pull` freely without asking.
- **Container naming: never use Docker's default.** Always name with a project prefix (e.g. `<project>-<service>`).
- Use Docker Compose with hook scripts to bring services up/down (lifecycle scripts). See `~/projects` for established examples.
- **Host hygiene is inviolable.** The host runs only `git`, `docker`, and standard Unix utilities (`awk`, `sed`, `grep`, `cut`, `tr`, `jq`, `find`, `xargs`, etc.). No language runtimes or package-managed tools beyond the base OS.
- **One-off utility needed?** `docker pull` a pinned image and run it ephemerally. Do not install on the host.
- **Broadly useful tool?** Create a Redmine ticket requesting the human add it via the system package manager. Do not install it yourself.
## 7. Infrastructure-as-Code testing
@@ -106,3 +109,4 @@ This is scoped, contract-style work with a clear handback — not staff augmenta
- **Red/green TDD for all code.** Write the failing test first.
- **Linters on all code, as early as possible.** Be token-efficient — let deterministic tools find the issues.
- **Prefer Unix utilities (awk, sed, grep, cut, tr, etc.) for file editing and text processing** over built-in harness edit tools when feasible. Harness edit tools can be unreliable with whitespace/indentation; Unix tools are deterministic and exact.