Back to Blog

AGENTS.md Example: One Notes Vault for Every AI Project

October 3, 2026by TypeFire
agents mdagents.md exampleagents md templateai notebooknotes for ai agentsclaude code mcpcodex mcp

Most AGENTS.md examples stop at build commands and code style. That's the right start, but it leaves out the part that makes an agent useful on day thirty: where it finds the PRD, last week's plan, and the decision you made about billing.

Here is a complete AGENTS.md built for that, then a worked example of one person running five AI projects from one notebook.

AGENTS.md Example: One Notes Vault for Every AI Project

The short version

  • Keep AGENTS.md short: overview, commands, conventions, and a Memory section.
  • The Memory section points at a notes vault, one per project, where the agent reads the PRD and earlier decisions and writes its plans.
  • Shared rules live in one Rules vault that every project's AGENTS.md tells the agent to read.
  • On a Mac, TypeFire connects the vaults to Codex, Cursor and Claude Code over MCP, one click per app.
An AGENTS.md example with a Memory section pointing every agent, Codex, Cursor, Claude Code and Copilot, at a TypeFire notes vault

The AGENTS.md example

Copy this into the root of your repository and change the names:

# Invoicer

Invoicing for freelancers. Next.js, Postgres, Stripe.

## Commands
- `pnpm dev` runs the app, `pnpm test` runs the tests.
- Run the tests before every commit.

## Conventions
- TypeScript everywhere, no default exports.
- Small pull requests, one change each.

## Memory
- Save plans, decisions and research for this project as notes in my
  TypeFire vault "Invoicer", and look there before starting new work.
- Before writing code, read the notes in my TypeFire vault "Rules".
- Write one plan note per task before you start, and wait for my OK.
- When we decide something, save it as a note titled "Decision: ..."
  with the reason in the first line.

Why each part of the Memory section is there:

Line What it does
Save plans, decisions and research… Moves long material out of the repo and into a vault you can read
…look there before starting new work Turns past decisions into context, so the agent stops re-proposing them
Read the notes in "Rules" One shared set of rules across every project
One plan note per task A plan you can review before any code is written
"Decision: ..." with the reason The why survives the branch, the PR and your own memory

The first line comes from TypeFire: Settings, AI apps (MCP) has it ready for each vault under "Make TypeFire your agent's notebook".

A worked example: five AI projects, one notebook

Sam is an example, not a real person: a composite indie builder running five side projects with Claude Code, Cursor and Codex. Plenty of developers work this way, and it is the setup TypeFire was built for.

Example vault layout: a vault per project with PRD, plans, decisions and research, plus a shared Rules vault with code style, voice and tone, never do and stack choices

The vaults. Sam has one vault per project (Invoicer, Habit app, Site, Newsletter, Chrome extension) and one called Rules. Every project vault has the same shape: a PRD note, a Plans folder, a Decisions folder and a Research folder. Rules holds Code style, Voice and tone, Stack choices and a short Never do list.

The files. Each repository has the AGENTS.md above, with its own vault name. The Chrome extension repo is mostly worked on in Cursor and the Invoicer in Claude Code, but because both read AGENTS.md and both connect to the same TypeFire vaults, it doesn't matter which agent Sam opens.

A Monday. Sam asks Claude Code to add billing retries to Invoicer.

The agent memory loop: the agent reads the vault first, does the work, writes the plan and decisions back as notes, and you review them in TypeFire
  1. Read. Claude Code searches the Invoicer vault, reads the PRD, and finds "Decision: Stripe, not Paddle", so it doesn't suggest switching. It reads Code style from Rules.
  2. Plan. It writes "Plan: billing retries" as a note and stops. Sam opens it in TypeFire, cuts one step, and says go.
  3. Work. It builds the feature with that context instead of a guess.
  4. Write back. It saves "Decision: retry three times over 72 hours" with the reason, and adds a line to the Changelog note.

A Thursday. Sam switches to the Chrome extension in Cursor and asks it to reuse the retry logic. Cursor searches every vault, finds Monday's decision in Invoicer, and applies the same rule. Nothing was copied between projects; both agents read the same notebook.

The review. Every Friday Sam spends ten minutes in TypeFire's search: finished plans get archived, a rule nobody follows gets deleted. The agents read the cleaner version on Monday.

One notebook with two doors: the builder edits notes in TypeFire while Claude Code reads the PRD and saves a plan into the same vault over MCP

Setting it up on a Mac

  1. Install TypeFire and add a vault for each project, plus one for Rules. Any folder of Markdown works, including an Obsidian vault you already have.
  2. Connect your agents in Settings, AI apps (MCP): Claude Code, Cursor, Codex, VS Code (GitHub Copilot agent mode), LM Studio and Windsurf each have a Connect button. Claude and Codex need reopening once.
  3. Paste the Memory section into each repository's AGENTS.md with its own vault name. If a project also has a CLAUDE.md, add @AGENTS.md at its top so Claude Code reads both.
  4. Ask for a plan. The first time an agent writes a plan note into your vault, you'll see it appear in TypeFire.

A few guardrails come built in. If you changed a note after an agent read it, the agent's edit is refused. Deletes go to the Trash. Read only lets agents search and read without changing anything, which is useful while one is exploring a new codebase. The connection stays on your Mac, with no API key.

Searching and reading notes from an AI app are free. Creating and editing them need TypeFire Pro, $18 once.

Common AGENTS.md mistakes

  • Pasting the PRD into AGENTS.md. It loads every session and goes stale. Link to the vault instead.
  • One giant file for every agent and every project. Shared rules belong in one place every project points to.
  • No memory section at all. The agent then writes PLAN.md files into your repo, and next month nobody remembers which one was final.
  • Decisions without reasons. An agent will follow "use Postgres" until it has a reason to change it. "Use Postgres because we need row-level security" tells it when that reason no longer holds.

For the habits behind this setup, see AI agent memory best practices.

Download TypeFire for Mac, see TypeFire for Claude, for Cursor and for Codex, or read how TypeFire works as an MCP server.

In their words

Loved by people who type all day.

Unprompted reactions from users, in their own words.

Exactly what macOS has been needing: blazing fast, beautifully designed, and it respects your privacy without forcing a subscription.
Physician
I use TypeFire every single day, all day long. I love it.
Works at Apple
The way you've handled the AI integrations is very elegant. A great implementation.
Mac user
TypeFire is the absolute replacement for TextExpander.
Works at Apple
I love your app. Love it. The only one that does what I want it to do.
Mac user
I'm loving the date math. Amazing, love it.
ICU doctor
It instantly imported my 502 snippets. Flawless import.
Moved over from TextExpander
Incredibly lightweight. It has quickly become a go-to tool in my daily workflow.
Physician
Love the app, and your development pace rocks.
Longtime user
This app is AWESOME! And I definitely want to buy the Pro version.
Free user
Fantastic. Thank you for the very fast fix.
EU keyboard user
This app has so much potential. I'm really grateful that I found it.
Mac user

Used by people at

AppleRed HatPalo Alto NetworksHubSpotIndeedSentryFreshworksTrustpilotBumbleFarfetchSaint-GobainfoodpandaMcKinseyAccentureIntuitInstacartRakutenDow JonesHearstRokuxAINuroGitGuardianMeltwaterDevRevWoltAirwallex

Company names are places where our users work. They do not imply endorsement or affiliation.