Project-wide coding standards and design philosophy. These rules apply to all code in the workspace and should be followed by both humans and LLMs.
AI Agent Guidelines — behavioural rules for LLMs: think before acting, minimal changes, surgical edits, success criteria
Exception Handling — core exception handling principles and patterns
Main Function Pattern — separating business logic from CLI handling
Error Messages — CLI vs library error reporting
Philosophy — summary of guiding principles
Temporary Files — naming and cleanup conventions
Project Documentation Structure — how to structure notes for any project: app docs vs dev process
Project Testing Patterns — two-tier testing, standalone vs integration, what to document
Security Interfaces — structured vs delimiter-based interfaces; the meta-rule on documenting decisions
CLI Option Handling — always error on unknown options; always support --help/-h in every language
Unix-Style Stream and File Input — follow Perl diamond-operator behaviour across languages: filenames in order, standard input when none are supplied, and - for standard input.
Shell Scripting Style — lowercase for ordinary shell variables, UPPERCASE reserved for environment variables
FreeBSD: Build From Source — build all from source on FreeBSD, no binaries; a binary-only dead end is a stop-and-ask, not something to work around
Driving Remote GUIs & Ephemeral Hosts — agent principles for operating remote infrastructure: OCR-to-text vs vision, white-on-colour buttons, human handoff at captchas, disposable-host discipline, identity-based teardown, and connection/auth-plane diagnostics.