diff --git a/AGENTS.md b/AGENTS.md index 3fba1fc..87b3b07 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -142,6 +142,13 @@ docker run --rm --env-file ~/.creds/discourse.env \ - **Prefer Unix utilities (awk, sed, grep, cut, tr, etc.) for file editing and text processing** over built-in edit tools when feasible. Harness edit tools can be unreliable with whitespace/indentation; Unix tools are deterministic and exact. Use them for surgical edits, bulk substitutions, and structured text extraction. - **Farm work out to deterministic tooling:** linters, LSPs, formatters, test runners. If an LSP is wired up, use it; otherwise pull a Docker image and lint inside it. Do not parse huge code blocks in context. - **Use sub-agents as subcontractors** (see BASELINE-PROMPT.md §12): scoped spec in, distilled deliverable out. Never read 10+ files sequentially; batch into 2-3 agent calls. Read the 3-4 files you'll edit yourself; delegate the rest. +- **Command timeouts (NON-NEGOTIABLE):** Every command that touches a remote + system MUST be wrapped with `timeout`. Hard limits: 30s for quick reads + (status, ps, ls), 120s for standard operations, 300s for deployments/pulls. + If a command hits the timeout, STOP and investigate root cause — never + blindly retry. A hung command is a failed command. Detect failure fast, + diagnose, fix, move on. This applies to ALL tools — bash, docker, CLIs, + sub-agents. ## CI/CD