dotfiles
AGENTS.md22 starsChanged 2 months agoMITView on GitHub
This is the canonical repository instruction file. Keep project guidance here in standard AGENTS.md form; do not add a parallel CLAUDE.md or copy these instructions into a client-specific config. Keep this AGENTS.md current with distilled instructions for agents. Maintain ./docs as documentation and context for both humans and agents. After non-trivial work or corrections, integrate durable lessons into the appropriate surface and revise stale content. - Prefix shell commands with rtk so command output stays concise. - Preserve unrelated working-tree…
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,542 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 repository9 other files it gives its agents.
- .agents/AGENTS.mdAGENTS.md
- blueprintSkill
- bonsaiSkill
- commitSkill
- handoutSkill
- pullrequestSkill
- pushSkill
- squashSkill
- typesafe-aiSkill
The file
We split this AGENTS.md into the rules it gives an agent
7 rules. About 0 are common, 3 are distinctive, and 4 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.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- could be automatic: a setting could enforce it
- Very specific: line 7
Keep this AGENTS.md current with distilled instructions for agents.
- Distinctive: line 15
Every commit message MUST follow the latest published Conventional Commits specification.
- Very specific: line 19
When publishing changes, validate, commit on main, and push main directly to origin.
- Very specific: line 21
Run scripts/check.sh after material changes.
- Distinctive: line 29
Use Colima for local containers on macOS and native Docker Engine on Linux.
- Very specific: line 32
Keep client-neutral guidance and Agent Skills under AGENTS.md and .agents/skills/.
- Distinctive: line 35
When updating agent behavior, audit shared defaults, affected skills, and their client adapters together for conflicting scope, approval, …
≈ “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
Dotfiles agent guide
This is the canonical repository instruction file. Keep project guidance here in standard
AGENTS.md form; do not add a parallel CLAUDE.md or copy these instructions into a
client-specific config.
Keep this AGENTS.md current with distilled instructions for agents. Maintain ./docs as
documentation and context for both humans and agents. After non-trivial work or corrections,
integrate durable lessons into the appropriate surface and revise stale content.
Working rules
- Prefix shell commands with
rtkso command output stays concise. - Preserve unrelated working-tree changes. This is a live home-directory configuration repo.
- Every commit message MUST follow the latest published Conventional Commits specification.
- Work only on the local
mainbranch in this checkout. Do not create bonsai worktrees, task branches, or pull requests for this repository; this overrides the shared worktree defaults. When publishing changes, validate, commit onmain, and pushmaindirectly toorigin. Never force-push. - Run
scripts/check.shafter material changes. If an unrelated pre-existing change blocks the full check, run the relevant focused validators and report the blocker. - Flash status names, colours, links, and hovers live in
.config/flash/flash.toml(docs/flash-status.md). Plugins andscripts/ai-quotaprint values only. Hoveringaggropens the newsboat list; hovering the headline opens that article's text. The Cld/Cdx/Grk segment stays here; do not move it back into a Flash plugin. - Cross-platform user-facing CLIs belong in
.config/mise/config.toml. Prefer a mise registry short name, thenaqua:,ubi:,npm:, orpipx:. - Use Colima for local containers on macOS and native Docker Engine on Linux. Colima's macOS VM
integration is an explicit Homebrew exception; keep the Docker CLI in mise. On Apple Silicon,
prefer VZ, virtiofs, and Rosetta. Read
docs/containers.mdbefore changing runtime or storage. - Keep client-neutral guidance and Agent Skills under
AGENTS.mdand.agents/skills/. Client-specific settings may adapt native hooks, MCP syntax, or discovery paths, but must not become a second source of behavioral instructions. - When updating agent behavior, audit shared defaults, affected skills, and their client adapters
together for conflicting scope, approval, and completion rules. Replace conflicting guidance
at its canonical source; keep model selection and machine-local settings separate from prompting
changes. Read
docs/agent-guidance.mdfor the configuration boundaries. - Claude Code and Codex CLI are the supported agent clients. Semble is their only globally configured MCP server; keep retired client state private and outside managed setup.
- For shell completion changes, read
docs/zsh-completion.md. Validate actual Tab completion after deferred plugins load, including Git aliases and switching repositories. - Pane context comes from terminal titles only: every program reports through OSC 2 and tmux
shows
#{pane_title}on the pane border. Do not add agent hooks, tmux options, or process matching for pane state; readdocs/terminal-titles.md. - For shell startup or prompt changes, read
docs/zsh-performance.md: precmd hooks write to/dev/tty, tool integrations load through_dotfiles_cached_source, and nothing new may spawn a process before every prompt. Runscripts/zsh-latency.shafterwards.
Supported machines
This repo is the single source of truth for two machines. A shared change that works on only one is a bug.
- macOS: MacBook Pro, Apple M4 Pro (
arm64), with the only GUI/display environment. - Linux: Minisforum MS-A2, Debian (
x86_64), headless.
Aim for identical behavior on both. Never hardcode an architecture or Homebrew-only path for a
shared tool. Prefer feature detection (command -v) and explicitly gate unavoidable divergence:
if [[ "$(uname -s)" == "Darwin" ]]; then
# macOS-only
fi
if command -v apt-get >/dev/null 2>&1; then
# Debian/Ubuntu-only
fiGUI apps and macOS-only tooling belong in Brewfile; brew bundle must never run on Linux.
System bootstrappers and OS packages belong in setup.sh. Route clipboard and URL-opening work
through scripts/clip.sh and scripts/open-url.sh instead of calling pbcopy or open
directly.
setup.sh must remain safe to rerun from either machine and keep its existing Darwin/Debian
guards for Homebrew, macOS defaults, and APT.
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.

