personal-monorepo-template
AGENTS.md4 starsChanged 47 days agoMITView on GitHub
Where files are headingNew AGENTS.md files have more rules about keeping secrets out of the code, and fewer about code style.
Of the AGENTS.md files we read, the 31,700 first seen in the last six months, against the older ones: the kind of rule that gained most share, and the kind that lost most. About files like this in general, not this one, and an estimate, since a kind is a pattern in the words.
In this repository48 other files it gives its agents.
- .agents/skills/AGENTS.mdAGENTS.md
- .agents/skills/assumption-audit/AGENTS.mdAGENTS.md
- .agents/skills/decision-matrix/AGENTS.mdAGENTS.md
- .agents/skills/direct-setup/AGENTS.mdAGENTS.md
- .agents/skills/direct-verify/AGENTS.mdAGENTS.md
- .agents/skills/first-principles-thinking/AGENTS.mdAGENTS.md
- .agents/skills/percolate-kb/AGENTS.mdAGENTS.md
- .agents/skills/percolate-reading/AGENTS.mdAGENTS.md
- .agents/skills/phase-final-reviewer/AGENTS.mdAGENTS.md
- .agents/skills/phase-implementer/AGENTS.mdAGENTS.md
- .agents/skills/phase-orchestrator/AGENTS.mdAGENTS.md
- .agents/skills/phase-reviewer/AGENTS.mdAGENTS.md
- .agents/skills/plan-kb/AGENTS.mdAGENTS.md
- .agents/skills/pr-cleanup/AGENTS.mdAGENTS.md
- .agents/skills/query-kb/AGENTS.mdAGENTS.md
- .agents/skills/question-forge/AGENTS.mdAGENTS.md
- .agents/skills/reclaim-disk-space/AGENTS.mdAGENTS.md
- .agents/skills/refresh-kb/AGENTS.mdAGENTS.md
- .agents/skills/riff/AGENTS.mdAGENTS.md
- .agents/skills/save-pdf-kb/AGENTS.mdAGENTS.md
- .agents/skills/save-url-kb/AGENTS.mdAGENTS.md
- .agents/skills/write-phase-plan/AGENTS.mdAGENTS.md
- docs/AGENTS.mdAGENTS.md
- kb/AGENTS.mdAGENTS.md
- personal-website/AGENTS.mdAGENTS.md
- scripts/AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- assumption-auditSkill
- decision-matrixSkill
- direct-setupSkill
- direct-verifySkill
- first-principles-thinkingSkill
- percolate-kbSkill
- percolate-readingSkill
- phase-final-reviewerSkill
- phase-implementerSkill
- phase-orchestratorSkill
- phase-reviewerSkill
- plan-kbSkill
- pr-cleanupSkill
- query-kbSkill
- question-forgeSkill
- reclaim-disk-spaceSkill
- refresh-kbSkill
- riffSkill
- save-pdf-kbSkill
- save-url-kbSkill
- write-phase-planSkill
The file
Show its rules and text
We split this AGENTS.md into the rules it gives an agent
14 rules. About 0 are common, 3 are distinctive, and 11 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
11
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 21
Use Bun 1.3.14 for installs, scripts, and tests.
- Distinctive: line 23
Keep the personal site statically renderable and provider-light.
- Very specific: line 24
Treat editorial imagery as an opt-in content feature.
- Very specific: line 25
Follow WRITING.md for internal prose and STYLE.md for public prose.
- Very specific: line 31
Use @hraness/ui for stable, portable primitives and tokens.
- Very specific: line 33
Keep mandatory edit-time rules in the closest AGENTS.md, current multi-step procedures in docs/, executable contracts in types and tests, …
- Very specific: line 34
Treat kb/ as one Obsidian-compatible vault.
- Very specific: line 35
Treat reading.status: published as an explicit public boundary.
- Very specific: line 36
Put durable plans in kb/plans/.
- Very specific: line 38
Run focused tests while editing and bun run check before handoff.
- Very specific: line 45
Run bun run check:copy before handoff when the repository has it.
- Distinctive: line 59
When a CI or policy gate scans complete Git history, check out the exact governed SHA and fetch only the fully qualified governed refs …
- Very specific: line 64
Prefer the globally installed algal-* skills for bounded git state, diffs, repository survey/search, test and release gates, CI polling, …
- Distinctive: line 67
Treat ALGAL receipts as execution evidence, not provider attestation, and preserve the repository's normal verification and release gates.
≈ “Common” is an estimate: at least 1 in 5 of the 40,246 AGENTS.md files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
<!-- browser-automation:start -->- Ordinary owned automated browser runs use versioned Chrome for Testing or the browser provisioned for the pinned Playwright version. Reject the installed auto-updating Chrome application, including explicit executable overrides and symlinks; never fall back to it when provisioning is missing. Report the resolved executable and browser version, and close owned contexts and browsers gracefully in cleanup. Attaching to an explicitly authorized user-owned browser is a separate operation: preserve its profile and lifetime. Keep regression checks for browser selection in the existing required checks; see browser automation.
- Never start the system Chrome app directly from an agent shell; use the repository's browser tooling and respect its scheduler and browser custody controls. For owned launches, pass
--mute-audioand mergePaintHolding,MacAppCodeSignCloneinto any existing--disable-featuresvalue instead of adding a second switch. Finish owned process, context, and profile cleanup before releasing the browser lane. Never signal another holder or manipulate its lease to obtain a slot. - The sole native-runtime exception is Slopcamera’s documented signature-verified, version-bound, immutable task-owned Chrome snapshot, never a direct launch of the installed application. Its current integrity-bound launch contract must disable
MacAppCodeSignClone; retain vendor identity verification, browser custody, graceful cleanup, and regression checks. Qualify the native fix with live clone-growth and cleanup evidence before activating this exception. It is not an executable override or fallback for ordinary automation; see the native-runtime exception.
<!-- browser-automation:end --><!-- kb:context scopes/repository--cdb4ee2aea69 -->Contents
personal-website/– the deployable Next.js personal site, static Reading and Bookshelf surfaces, Atom and SEO discovery, and separate Direct deterministic composition.docs/– current repository procedures and ownership boundaries.kb/– the authored, Git-backed Markdown knowledge base..agents/skills/– discoverable agent workflows for KB work, disk audits, Direct, and phased parallel execution.scripts/– the small stateless main-branch serializer and its tests..github/workflows/– frozen-install repository validation.WRITING.mdandSTYLE.md– internal and public prose contracts.package.json,bunfig.toml, andtsconfig.json– the Bun workspace and root command surface.
Guidelines
- Use Bun 1.3.14 for installs, scripts, and tests. Keep the committed
bun.locksynchronized and usecatalog:for shared external versions. - Preserve the production boundary around Direct. Product-owned interfaces may be shared, but
@hraness/direct, worlds, fixtures, scenario catalogs, and workbench code stay out of the production graph. - Keep the personal site statically renderable and provider-light. Do not add authentication, databases, or user tracking without an explicit product need and documented privacy behavior.
- Treat editorial imagery as an opt-in content feature. Before adding article banners, thumbnails, or explanatory figures, follow
docs/editorial-images.mdand use theeditorial-image-seoskill when it is available. Do not infer that image count improves search ranking. - Follow
WRITING.mdfor internal prose andSTYLE.mdfor public prose. Preserve facts, exact terms, literals, quotations, links, and necessary uncertainty. - Apply unreasonably robust programming when agent work is cheap. Prefer coherent cross-file correctness and focused deterministic evidence to a knowingly weaker design.
- Deliver ordinary single-owner changes by fast-forward push to
mainafter repository checks. Escalate to a pull request when a change touches schemas or migrations, auth, billing, provider or deployment state, a public or consumed contract, a shared generated or lockfile convergence surface, or another active lane. Repository-owned bounded automation may keep its documented direct path. Never force-push. - Model state so invalid states cannot exist. Parse foreign values from
unknown. Use readable deterministic regression examples, and add property tests for laws, parsers, reducers, ordering, and round trips. - Pin Hraness dependencies to reviewed immutable releases or full commits. Never replace them with sibling paths, Git submodules, or coordinated
mainassumptions. - Extract a shared package only after two concrete consumers need the same stable interface. Keep shared packages product-neutral and keep product policy and composition in the consuming product.
- Use
@hraness/uifor stable, portable primitives and tokens. Keep page composition, copy, state, and the local/designvisual contract owned by the product. - Freeze shared interfaces before parallel lanes begin. Give workspace manifests, lockfiles, generated registries, and other convergence surfaces one owner while lanes edit disjoint paths.
- Keep mandatory edit-time rules in the closest
AGENTS.md, current multi-step procedures indocs/, executable contracts in types and tests, and rationale, evidence, synthesis, and plans inkb/. A KB scope hub can explain a rule but cannot override a guide. - Treat
kb/as one Obsidian-compatible vault. Markdown and Git are authoritative; catalogs, backlinks, embeddings, and graph views are derived. - Treat
reading.status: publishedas an explicit public boundary. Generate the public Reading registry withbun run reading:generate; production code never reads the vault. - Put durable plans in
kb/plans/. After material KB edits, percolate the changed note, runbun run kb:refresh, and finish withbun run kb:check. Parallel KB lanes usebun run kb:check:laneand leave final refresh to the integrator. - Give each owned source boundary an
AGENTS.mdwith exactly# Contentsand# Guidelineswhen it needs rules beyond this guide. - Run focused tests while editing and
bun run checkbefore handoff. The full check builds and scans both production and Direct outputs. - Preserve unrelated changes. Commit only task-owned files. Use
bun run merge:queue -- submit --commit <oid> --label <label>only when direct pushes tomainare allowed. For protected repositories, use pull requests and auto-merge after required checks, with the expected head and current base verified. Add a native merge queue only when measured concurrent-merge failures justify validating combined candidates; preserve an existing queue until its replacement proves the same integration guarantees.
<!-- hraness-public-copy:start -->- Public copy (websites, READMEs, docs, package and GitHub descriptions, CLI help,
llms.txt, generated pages) followsSTYLE.md, synced from hraness/.github. Text a model writes for publication also followsGENERATION_STYLE.md. - The delivery vocabulary in this file (admission, qualification, custody, receipt, bounded, lane, gate, surface, projection) is internal. Translate it into what the reader gets.
- Take one-line product and sibling descriptions from the portfolio registry and versions from the release record. Tests pin facts, not prose.
- Run
bun run check:copybefore handoff when the repository has it.
<!-- hraness-public-copy:end --><!-- hraness-delivery:start -->- Treat the user's request to change this repository as standing authorization for routine task-owned commits, pushes, pull requests, merges, releases, deployments, and production verification after the gates applicable to that action pass. Do not ask for duplicate confirmation. Build confidence through relevant automated checks, bounded diagnostics, and independent review, not another human approval. Passing checks does not expand task scope or authority.
- Prefer agentic service provisioning for new infrastructure. Check Vercel Marketplace for a native product that can provision the required resource first; use Stripe Projects as a supported alternative when it better covers the service or the Marketplace route only connects an existing account. Verify the current catalog, account, region, plan, recurring cost and resource capabilities before selecting a route. Prefer supported provider CLIs or APIs over browser-only setup when neither catalog fits, and explain the concrete exception. Reuse existing owner-controlled resources where appropriate; this preference alone does not authorize migrations, duplicate accounts, paid upgrades or wider access. Continue setup already authorized by the task and budget without duplicate confirmation. Keep provider credentials and generated environment files private, complete required interactive authentication, and verify deployment, persistence and recovery separately from successful provisioning.
- Separate artifact admission from live qualification and operational activation. Use applicable automated source, security, package/install, and provenance evidence for artifact admission; live provider qualification is not a universal publication prerequisite. Preserve explicit live acceptance criteria and require relevant live evidence for claims that depend on it. If publication or an artifact's install, upgrade, or default-use path activates risky unqualified behavior, keep that behavior guarded or disabled, or obtain bounded relevant evidence before shipping or activation.
- Use the repository's documented delivery workflow and preserve the identity, target, capacity, migration, and recovery guards applicable to operational activation. Replace an obsolete gate through a reviewed source and policy change with corresponding tests, never an ad hoc skip. Preserve every runtime-enforced approval, access control, branch protection, environment rule, safety policy, and required final gate. Ask for user input only when delivery needs a material product decision, missing credentials or authority, unavoidable interactive authentication, an irreversibly destructive action outside task scope, or resolution of a failure that cannot be handled safely and autonomously.
- Preserve production and user data throughout delivery. Inspect the exact account, environment, deployment, and data target before writes. For data changes, inspect a dry run or equivalent migration plan and validate the recovery path before any effect that could lose or corrupt data. Prefer additive, backward-compatible migrations and bounded batches. Record mutation intent, use idempotency or conditional writes, and reconcile uncertain results before retrying. Verify deployed identity, health, and relevant data invariants after delivery. Routine delivery never authorizes resetting, truncating, dropping, or overwriting user data; stop the unsafe operation if preservation or recovery cannot be established.
- Prefer short-lived repository workload identities such as OIDC trusted publishing, GitHub Apps, and narrowly scoped machine identities. Use unattended stable publication and production promotion when supported by the provider and repository. Establish supported machine authority once and verify it with a non-publishing preflight where available; routine releases should not require recurring interactive authentication or conversational approval. Releases and deployments run without a human in the loop: do not add required reviewers, manual approval environments, or wait timers to release or deployment paths, and remove any you find through a reviewed change. Keep account two-factor authentication, and do not add long-lived personal tokens.
- Keep delivery gates proportional to the failure they prevent. Prefer required checks on the current integration candidate, independent agent review, and atomic or conditional integration. Add a merge queue or another approval stage only for a demonstrated coordination or safety need. Replace redundant queues, serial waits, and duplicate checks through reviewed policy changes while retaining evidence for the integrated result.
- Preserve useful reasoning fan-out, but avoid unnecessary checkout fan-out. Prefer subagents in the current task for bounded research, review, diagnosis, and focused checks when they can safely share one working tree; create a separate task or worktree only for independently deliverable divergent edits, an isolated verification tree, or a different execution environment.
- Give each expensive focused validation command and external wait one owner. The integration owner reviews that evidence and runs the repository-required aggregate or final gate once after convergence. Reuse evidence only for the exact Git tree, command, lockfiles, toolchain, relevant environment, and validity period, and never to skip a required final integration, merge, release, deployment, or production-verification gate.
- On Hraness development machines, use the installed host scheduler for heavyweight top-level commands when available. Keep ordinary work in the compute lane; give authenticated browser/dev-server/Chromium work one
browser-authowner and Mac-only validation onemac-nativeowner. - When a CI or policy gate scans complete Git history, check out the exact governed SHA and fetch only the fully qualified governed refs before scanning. Preserve the complete-history gate and reject unexpected refs instead of importing unrelated concurrent heads.
- At closeout, record applicable branch, PR, check, merge, release, deployment, and production evidence. Archive only conclusively finished tasks, never from silence alone, and reclaim only freshly revalidated clean merged worktrees through the guarded exact-path flow.
<!-- hraness-delivery:end --><!-- algal-skills:start -->- Prefer the globally installed
algal-*skills for bounded git state, diffs, repository survey/search, test and release gates, CI polling, and web fetches instead of repeated raw tool output. - At session start, if the
algalskill is unavailable, install the current skill pack for Claude Code, Codex, and Devin for Terminal withbunx skills add 0thernet/algal-skills --global --agent claude-code codex devin --skill '*' --copy --yes. - Confirm installation with
bunx skills list --global. If Bun or network access is unavailable, continue with repository-native tools instead of blocking delivery. - Treat ALGAL receipts as execution evidence, not provider attestation, and preserve the repository's normal verification and release gates.
<!-- algal-skills:end -->Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

