dotfiles
AGENTS.md11 starsChanged 7 days agoApache-2.0View on GitHub
This directory is the Blume + Astro documentation site for the dotfiles repo, deployed to dotfiles.timmo.dev. Keep changes small and aligned with existing patterns. Each distro/* branch publishes its own copy of this site to its own Cloudflare Worker, so every site describes only what its branch ships. The header Distro switcher and the /distros page link them together. To add a distro:
We split this AGENTS.md into the rules it gives an agent
5 rules. About 1 is common, 0 are distinctive, and 4 are very specific to this project.
≈1
Common · estimate
Many files like this have a rule of this kind.
≈0
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
- Very specific: line 7
Use bun for dependencies (bun install).
- Very specific: line 52
Use YAML frontmatter with title and description.
- Very specific: line 54
Use Blume callouts (:::note, :::tip, :::caution) in MDX files and language tags on code fences.
- Very specific: line 56
Run bun run validate for links and assets and bun run build for the production output.
- Common: line 62
Ask AI is intentionally disabled, so the site has no model provider, model API key, or paid AI binding.
≈ “Common” is an estimate: at least 1 in 5 of the 36,368 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
Docs Agent Guide
This directory is the Blume + Astro documentation site for the dotfiles repo, deployed to dotfiles.timmo.dev. Keep changes small and aligned with existing patterns.
Toolchain
- Use bun for dependencies (
bun install). Run dev tasks via mise from the repo root:mise run docs:dev,mise run docs:build,mise run docs:preview,mise run docs:gen. Each task setsdir = "docs"and wraps the matchingbun runscript inpackage.json, sobun run dev/bun run buildstill work. Cloudflare Workers Builds runsbun run build, thenbun run deploy. - Node + bun versions and the dev tasks are defined in the single root
mise.toml(tasks namespaceddocs:*). Workers Builds uses the committedbun.lockand pinned Wrangler dependency.
Background Dev Servers
- Start the dev server with
mise run serve:docs, which runsblume devthrough Pitchfork in the background and restarts it if it exits or stops responding. Do not runmise run docs:devorblume devin the foreground from an agent; Blume does not detach on its own. Manage it withserve:docs:status,serve:docs:logs,serve:docs:restartandserve:docs:stop. Do not edit the generated.blume/runtime. - The daemon is configured in the root
pitchfork.toml. It serveshttp://127.0.0.1:7790/, or the next free port, and is always athttps://docs.dotfiles.localhostthrough the Pitchfork proxy. - Test through that HTTPS address, in the browser, with curl and anywhere else. Never add the proxy's own port, such as
:8443, even if Pitchfork prints one: that means the 443 redirect is missing (it's lost on reboot), so runpitchfork proxy doctor, thenpitchfork proxy setup -yto restore it. Use the127.0.0.1port only when the proxy isn't running.
Layout
- Content:
src/content/docs/(Markdown/MDX with YAML frontmatter; file names map to routes). Top-level pages for the main sections;dot/,desktop/, andagents/hold section pages (agents/opencode/for OpenCode, other harnesses directly underagents/). Generated catalogues live underdot/commands.mdandagents/opencode/{agents,commands,plugins}.md. - Sidebar order is set explicitly in
blume.config.ts(navigation.sidebar). - Branding:
src/assets/logo.svgis the source logo;public/favicon.svg,public/logo-light.svgandpublic/logo-dark.svgare copies of it. Overview illustrations live inpublic/illustrations/. - Shared parts come from
@timmo001/docs-kit:components.tswires its home banner and header GitHub link, andtheme.cssimports its layout styles (wider content column, "On this page" next to the content). Put site-specific style overrides after that import. - Site, navigation, theme, and SEO config:
blume.config.ts, built with docs-kit'sdocsConfig, which supplies the shared defaults (logos, agent surfaces, Cloudflare deployment, share cards). - Generated runtime:
.blume/(ignored; never edit it directly).
Distro Sites
Each distro/* branch publishes its own copy of this site to its own Cloudflare Worker, so every site describes only what its branch ships. The header Distro switcher and the /distros page link them together.
distros.tslists every distro (ID, label, branch, host name). It lives on the default branch and merges into the others; never edit it only on a distro branch.current-distro.tsnames this branch's entry.blume.config.tsreads it forsite,github.branchand the switcher. The default branch never changes this file, so merges keep each distro branch's value.wrangler.jsoncholds this branch's Workernameand custom-domain route. Each distro branch sets its own; the default branch keepsdotfiles-docsondotfiles.timmo.dev.
To add a distro:
- On the default branch, add its entry to
distros.tsand a row tosrc/content/docs/distros.mdx, then merge into the other distro branches. - On the distro branch, set
current-distro.tsto the new ID and givewrangler.jsonca new Worker name (dotfiles-docs-<id>) and route (<id>.dotfiles.timmo.dev). Trim the sidebar and pages to what the branch ships. - In Cloudflare, create a Workers Builds project for that Worker with the distro branch as its production branch, the
docsroot directory, and the same build and deploy commands as the main site.
Generated Content
Two areas are generated from the single source of truth in the repo:
src/content/docs/dot/commands.md←dot/src/cli/spec.tsviamise run docs:gen:cli(wrapsbun run gen:cli).src/content/docs/agents/opencode/{agents,commands,plugins}.md←agents/.config/opencode/**viamise run docs:gen:opencode(wrapsbun run gen:opencode). Skills are catalogued in timmo001/skillsSKILLS.md, not generated here.
Regenerate the affected catalogue from its source and include the output in the changeset; never hand-edit it. mise run docs:gen regenerates both. docs:dev also regenerates them, while production builds consume committed output. CI checks catalogue drift and builds the site.
mise run docs:og (wraps bun run og) renders the raster branding from src/assets/logo.svg with docs-kit's writeBrandImages: the Open Graph image public/og.png, the search engine logo public/logo.png, public/apple-touch-icon.png, and the GitHub social preview .github/social-preview.png (upload it by hand under the repository's Settings > Social preview). Regenerate them only when the branding or tagline changes.
Authoring
- Use YAML frontmatter with
titleanddescription. - File names are kebab-case and map to routes; internal links are root-relative.
- Use Blume callouts (
:::note,:::tip,:::caution) in MDX files and language tags on code fences. - Blume components such as
Card,CardGroup,Tabs,Tab, andFileTreeare globally available in MDX without imports. - Run
bun run validatefor links and assets andbun run buildfor the production output.
AI surfaces
- Blume generates
llms.txt,llms-full.txt, raw.mdmirrors, WebMCP, andagent-readability.json. - The hosted read-only MCP server is enabled at
/mcp, which requires Cloudflare server output. - Ask AI is intentionally disabled, so the site has no model provider, model API key, or paid AI binding.
wrangler.jsoncis adapter input. Blume emits the deployable Worker config atdist/server/wrangler.json, and deploy scripts target that file.
Source of truth
This site is a short what-and-why reference for the dotfiles repo. The top-level README.md links here rather than duplicating content. Follow the Documentation section in the repo-root AGENTS.md: default is no hand-written update for ordinary behaviour changes.
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 28,693 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 repository2 other files it gives its agents.
- AGENTS.mdAGENTS.md
- dotfiles-docsSkill
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.

