# AGENTS.md ## Overview `have` is a tiny compiled Zig CLI that lists executable command names available through `PATH`. It exists as an agent-safe availability primitive for comparing a run-tool allowlist against what the local Unix system can actually execute. ## How to build ```sh zig build ``` ## How to test ```sh zig build test ``` ## Constraints - One source file: `have.zig`. - POSIX-shaped: inspect `PATH` directories and executable bits only. - No package-manager knowledge, shell builtins, aliases, functions, login shells, network access, mutation, config files, JSON default, color, pager, or daemon behavior. - stdout is one command name per line; diagnostics go to stderr. - This is an inspection primitive. Keep OS/package inventory in separate tools if it is ever needed. ## Requirement Governance `REQUIREMENTS.md` is the requirement authority for this repository and is checked with `redgate`. Before implementation work, read the applicable requirement row; if none covers durable behavior, update `REQUIREMENTS.md` first or stop and ask. For behavior intended to stick, add or update a failing smoke/contract proof before implementation unless that would be fake or disproportionate. Before handoff, compare the user request and diff against `REQUIREMENTS.md`; report `REQUIREMENT IMPACT: updated ` or exactly `REQUIREMENT IMPACT: none - `.