# AGENTS.MD Work style: telegraph; noun-phrases ok; drop grammar; min tokens. ## Agent Protocol - Contact: Kyle Yasuda (@sudacode, ). - Workspace: `~/Projects`. - “MacBook Air” / “Mac Mini” => SSH there; find hosts/IPs via `tailscale status`. - PRs: use `gh pr view/diff` (no URLs). - “Make a note” => edit AGENTS.md (shortcut; not a blocker). Ignore `CLAUDE.md`. - No `./runner`. Guardrails: use `trash` for deletes. - Need upstream file: stage in `/tmp/`, then cherry-pick; never overwrite tracked. - Bugs: add regression test when it fits. - Keep files <~500 LOC; split/refactor as needed. - Commits: Conventional Commits (`feat|fix|refactor|build|ci|chore|docs|style|perf|test`). - Subagents: read [Subagent Coordination Protocol](#subagent-coordination-protocol). - If `Backlog.md` is set up for the project, each task must be associated with a ticket on the backlog. Create a new ticket on the board if it does not already exist - Editor: `code `. - CI: `gh run list/view` (rerun/fix til green). - Prefer end-to-end verify; if blocked, say what’s missing. - New deps: quick health check (recent releases/commits, adoption). - Slash cmds: `~/.codex/prompts/`. - Web: search early; quote exact errors; prefer 2024–2025 sources; fallback Firecrawl (`pnpm mcp:*`) / `mcporter`. - Style: telegraph. Drop filler/grammar. Min tokens (global AGENTS + replies). ## Important Locations - Blog repo: `~/projects/sudacode-blog` - Obsidian Vault: `~/S/obsidian/Vault` (e.g. `mac-studio.md`, `mac-vm.md`) ## Subagent Coordination Protocol (`docs/subagents/`) Purpose: multi-agent coordination across runs; single-agent continuity during long runs. Layout: - `docs/subagents/INDEX.md` (active agents table) - `docs/subagents/collaboration.md` (shared notes) - `docs/subagents/agents/.md` (one file per agent) - `docs/subagents/archive//` (archived histories) Required behavior (all agents): 1. At run start, read in order: - `docs/subagents/INDEX.md` - `docs/subagents/collaboration.md` - your own file: `docs/subagents/agents/.md` 2. Identify self by stable `agent_id` (runner/env-provided). If missing, create own file from template. 3. Maintain `alias` (short human-readable label) + `mission` (one-line focus). 4. Before coding: - record intent, planned files, assumptions in your own file. 5. During run: - update on phase changes (plan -> edit -> test -> handoff), - heartbeat at least every `HEARTBEAT_MINUTES` (default 20), - update your own row in `INDEX.md` (`status`, `last_update_utc`), - append cross-agent notes in `collaboration.md` when needed. 6. Write limits: - MAY edit own file. - MAY append to `collaboration.md`. - MAY edit only own row in `INDEX.md`. - MUST NOT edit other agent files. 7. At run end: - record files touched, key decisions, assumptions, blockers, next step for handoff. 8. Conflict handling: - if another agent touched your target files, add conflict note in `collaboration.md` before continuing. 9. Brevity: - terse bullets; factual; no long prose. Suggested env vars: - `AGENT_ID` (required) - `AGENT_ALIAS` (required) - `HEARTBEAT_MINUTES` (optional, default 20) Suggested env vars: - `AGENT_ID` (required) - `AGENT_ALIAS` (required) - `HEARTBEAT_MINUTES` (optional, default 20) ## Docs - Keep notes short; update docs when behavior/API changes (no ship w/o docs). - Add `read_when` hints on cross-cutting docs. ## PR Feedback - Active PR: `gh pr view --json number,title,url --jq '"PR #\\(.number): \\(.title)\\n\\(.url)"'`. - PR comments: `gh pr view …` + `gh api …/comments --paginate`. - Replies: cite fix + file/line; resolve threads only after fix lands. - When merging a PR: thank the contributor in `CHANGELOG.md`. ## Flow & Runtime - Use repo’s package manager/runtime; no swaps w/o approval. - Use Codex background for long jobs; tmux only for interactive/persistent (debugger/server). ## Build / Test - Before handoff: run full gate (lint/typecheck/tests/docs). - CI red: `gh run list/view`, rerun, fix, push, repeat til green. - Keep it observable (logs, panes, tails, MCP/browser tools). - Release: read `docs/RELEASING.md` (or find best checklist if missing). ## Git - Safe by default: `git status/diff/log`. Push only when user asks. - `git checkout` ok for PR review / explicit request. - Branch changes require user consent. - Destructive ops forbidden unless explicit (`reset --hard`, `clean`, `restore`, `rm`, …). - Don’t delete/rename unexpected stuff; stop + ask. - No repo-wide S/R scripts; keep edits small/reviewable. - Avoid manual `git stash`; if Git auto-stashes during pull/rebase, that’s fine (hint, not hard guardrail). - If user types a command (“pull and push”), that’s consent for that command. - No amend unless asked. - Big review: `git --no-pager diff --color=never`. - Multi-agent: check `git status/diff` before edits; ship small commits. ## Language/Stack Notes - Swift: use workspace helper/daemon; validate `swift build` + tests; keep concurrency attrs right. - TypeScript: use repo PM; keep files small; follow existing patterns. ## macOS Permissions / Signing (TCC) - Never re-sign / ad-hoc sign / change bundle ID as “debug” without explicit ok (can mess TCC). ## Critical Thinking - Fix root cause (not band-aid). - Unsure: read more code; if still stuck, ask w/ short options. - Conflicts: call out; pick safer path. - Unrecognized changes: assume other agent; keep going; focus your changes. If it causes issues, stop + ask user. - Leave breadcrumb notes in thread. ## Tools Read `~/projects/agent-scripts/tools.md` for the full tool catalog if it exists. ### tmux - Use only when you need persistence/interaction (debugger/server). - Quick refs: `tmux new -d -s codex-shell`, `tmux attach -t codex-shell`, `tmux list-sessions`, `tmux kill-session -t codex-shell`. ## Frontend Aesthetics Avoid “AI slop” UI. Be opinionated + distinctive. Do: - Typography: pick a real font; avoid Inter/Roboto/Arial/system defaults. - Theme: commit to a palette; use CSS vars; bold accents > timid gradients. - Motion: 1–2 high-impact moments (staggered reveal beats random micro-anim). - Background: add depth (gradients/patterns), not flat default. Avoid: purple-on-white clichés, generic component grids, predictable layouts.