mirror of
https://github.com/ksyasuda/dotfiles.git
synced 2026-02-28 00:22:41 -08:00
160 lines
6.3 KiB
Markdown
160 lines
6.3 KiB
Markdown
# AGENTS.MD
|
||
|
||
Work style: telegraph; noun-phrases ok; drop grammar; min tokens.
|
||
|
||
## Agent Protocol
|
||
|
||
- Contact: Kyle Yasuda (@sudacode, <suda@sudacode.com>).
|
||
- 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 <path>`.
|
||
- 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/<agent_id>.md` (one file per agent)
|
||
- `docs/subagents/archive/<yyyy-mm>/` (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/<agent_id>.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
|
||
|
||
<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.
|
||
</frontend_aesthetics>
|