agentconfig.org
AGENTS.md7 starsChanged 3 months agoISCView on GitHub
This file is the authoritative source for AI agent instructions in this repository. GitHub Copilot and other agents with AGENTS.md support read it directly. Claude Code loads the same instructions through the @AGENTS.md import in CLAUDE.md. A multi-page reference and tutorial site explaining the configuration files and patterns developers use to customize GitHub Copilot, Claude Code, Cursor, and OpenAI Codex. Developers who want to: - Understand what AI primitive files exist (CLAUDE.md, copilot-instructions.md, etc.) - Know where to place these…
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,774 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 repository13 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- add-primitiveSkill
- add-providerSkill
- advisorSkill
- co-authorSkill
- create-componentSkill
- create-pageSkill
- generate-llmsSkill
- page-stylingSkill
- refresh-provider-docsSkill
- semantic-commitSkill
- theme-stylingSkill
- write-e2e-testSkill
The file
Show its rules and text
We split this AGENTS.md into the rules it gives an agent
38 rules. About 0 are common, 23 are distinctive, and 15 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈23
Distinctive · estimate
This author's own choices. Worth a look.
15
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 39
All commands run from the site/ directory:
- Very specific: line 65
Always use strict TypeScript—no any types unless absolutely necessary
- Very specific: line 66
Prefer interface over type for object shapes
- Distinctive: line 67
Use explicit return types on functions
- Very specific: line 68
Use readonly for immutable data
- Distinctive: line 73
Use functional components only—no class components
- Distinctive: line 74
Prefer named exports over default exports
- Distinctive: line 75
Keep components small and focused (< 150 lines)
- Very specific: line 77
Use memo() for expensive components that receive stable props
- Distinctive: line 90
Use Tailwind CSS utility classes
- Very specific: line 91
Use CSS variables for theming (defined in site/src/index.css)
- Distinctive: line 93
Use shadcn/ui components where appropriate
- Distinctive: line 97
Write Playwright E2E tests for all user interactions
- Very specific: line 98
Test file naming: {feature}.spec.ts
- Distinctive: line 100
Test both light and dark modes for visual features
- Very specific: line 101
Test responsive behavior at mobile/tablet/desktop breakpoints
- Very specific: line 151
Read the last 20 lines of .agent-activity.log (use tail -20)
- Very specific: line 152
Check if any LOCK entries exist without a corresponding UNLOCK for your target files
- Distinctive: line 153
If locked, work on something else or wait
- Very specific: line 154
If clear, add your own LOCK or WORKING entry
- Very specific: line 157
Add a COMMIT_START entry to lock the staging area
- Distinctive: line 159
Create the commit with proper semantic message
- Very specific: line 160
Add a COMMIT_END entry
- Very specific: line 161
Add UNLOCK entries for any files you had locked
- Distinctive: line 166
Do not modify files another agent has locked
- Distinctive: line 167
Do not stage files that aren't part of your current task
- Distinctive: line 168
If you discover related work needed, note it but don't do it—let another agent handle it
- Distinctive: line 174
Before git add, verify each file belongs to your current task
- Distinctive: line 175
Never use git add . or git add -A—always stage files explicitly
- Distinctive: line 176
If you accidentally stage unrelated files, unstage them before committing
- Distinctive: line 177
Use git status to review staged files before every commit
- Distinctive: line 181
Follow semantic commit conventions.
- Distinctive: line 186
Keep commits atomic—one logical change per commit
- Distinctive: line 190
Do not estimate project duration, staffing, or delivery timelines unless @jonmagic explicitly asks.
- Very specific: line 196
Quick rule: Add Co-authored-by: trailer when pair programming.
- Distinctive: line 198
Before considering any task complete:
- Distinctive: line 213
Use warm, friendly colors
- Distinctive: line 222
Use system font stack for performance
≈ “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
Agent Instructions for agentconfig.org
This file is the authoritative source for AI agent instructions in this repository.
GitHub Copilot and other agents with AGENTS.md support read it directly. Claude Code loads the same instructions through the @AGENTS.md import in CLAUDE.md.
Project Overview
A multi-page reference and tutorial site explaining the configuration files and patterns developers use to customize GitHub Copilot, Claude Code, Cursor, and OpenAI Codex.
Target Audience
Developers who want to:
- Understand what AI primitive files exist (CLAUDE.md, copilot-instructions.md, etc.)
- Know where to place these files in their projects
- Learn which primitives to use for different tasks
Site Structure
The site presents the same source-backed model in several ways:
- Homepage reference - A practical starting example, 13 primitive cards, an interactive file tree, a four-provider comparison, and the scope model
- Progressive tutorials - Skills, agent definitions, lifecycle hooks, and MCP guides that begin with a small working example before concepts and advanced cases
- Provider profiles - Per-provider implementation, support, location, and primary-source documentation for every tracked primitive
- Machine-readable docs -
llms.txt,llms-full.txt, and page-specific Markdown generated from the same typed content
Tech Stack
- Runtime: Bun (not npm)
- Build: Vite
- Framework: Preact 10+ with functional components and hooks
- Styling: Tailwind CSS 4 + shadcn/ui
- Language: TypeScript (strict mode)
- Testing: Playwright for E2E tests
- Linting: ESLint with strict config
- Hosting: GitHub Pages
- Theme: Light/dark mode support
Commands
All commands run from the site/ directory:
bun install # Install dependencies
bun run dev # Start development server (http://localhost:5173)
bun run build # Production build
bun run preview # Preview production build
bun run lint # Run ESLint
bun run typecheck # TypeScript type checking
bun run test # Run Playwright E2E testsLocal Preview
For every change that affects rendered pages, start the local Vite server and keep it running so @jonmagic can inspect the result:
bun run dev --host 127.0.0.1Use http://127.0.0.1:5173/ by default. If that port is unavailable, use the port Vite selects and report the exact URL. After making visual or content changes, verify the affected pages in the browser, then direct @jonmagic to the relevant local URL before asking for review. Do not stop the preview server at handoff unless @jonmagic asks.
Code Standards
TypeScript
- Always use strict TypeScript—no
anytypes unless absolutely necessary - Prefer
interfaceovertypefor object shapes - Use explicit return types on functions
- Use
readonlyfor immutable data - No semicolons—omit semicolons at end of statements
Preact/React
- Use functional components only—no class components
- Prefer named exports over default exports
- Keep components small and focused (< 150 lines)
- Extract reusable logic into custom hooks in
site/src/hooks/ - Use
memo()for expensive components that receive stable props
File Organization
- Source code lives in
site/subdirectory - Components:
site/src/components/{ComponentName}/ - Each component folder contains:
index.ts,{ComponentName}.tsx, optionally{ComponentName}.test.tsx - Data/content:
site/src/data/ - Hooks:
site/src/hooks/ - E2E tests:
site/tests/e2e/
Styling
- Use Tailwind CSS utility classes
- Use CSS variables for theming (defined in
site/src/index.css) - Mobile-first responsive design
- Use shadcn/ui components where appropriate
Testing
- Write Playwright E2E tests for all user interactions
- Test file naming:
{feature}.spec.ts - Tests should be independent and not rely on each other
- Test both light and dark modes for visual features
- Test responsive behavior at mobile/tablet/desktop breakpoints
Skills
Project-specific skills have one canonical source in .github/skills/. Copilot discovers that directory directly. Claude Code discovers the same files through the tracked .claude/skills directory symlink; edit the canonical source rather than the symlink.
| Host | Discovery path | Source |
| GitHub Copilot | .github/skills/<skill-name>/SKILL.md | Canonical |
| Claude Code | .claude/skills/<skill-name>/SKILL.md | .claude/skills links to canonical source |
| Skill | When to Use |
| create-component | Adding new UI components |
| write-e2e-test | Creating Playwright tests |
| add-primitive | Adding/updating primitive definitions |
| refresh-provider-docs | Verifying published provider claims against authoritative documentation |
| theme-styling | Styling with Tailwind CSS 4 |
| semantic-commit | Creating commit messages |
| co-author | Co-author attribution |
Multi-Agent Coordination
Multiple agents may work on this project simultaneously. To avoid conflicts:
Agent Activity Log
A shared coordination file .agent-activity.log tracks what each agent is working on. This file is gitignored and append-only.
Log format (one entry per line):
<timestamp> <action> <agent-id> <resource> [message]Actions:
LOCK- Agent is claiming exclusive access to a resourceUNLOCK- Agent is releasing a resourceWORKING- Agent is actively working (no lock needed)COMMIT_START- Agent is beginning a commit (locks staging area)COMMIT_END- Agent has finished committing
Examples:
2026-01-16T18:30:00Z LOCK agent-abc123 site/src/components/Header/ starting header refactor
2026-01-16T18:45:00Z COMMIT_START agent-abc123 git-staging committing header changes
2026-01-16T18:45:30Z COMMIT_END agent-abc123 git-staging
2026-01-16T18:45:31Z UNLOCK agent-abc123 site/src/components/Header/Before starting work:
- Read the last 20 lines of
.agent-activity.log(usetail -20) - Check if any
LOCKentries exist without a correspondingUNLOCKfor your target files - If locked, work on something else or wait
- If clear, add your own
LOCKorWORKINGentry
Before committing:
- Add a
COMMIT_STARTentry to lock the staging area - Stage ONLY the files related to your specific change
- Create the commit with proper semantic message
- Add a
COMMIT_ENDentry - Add
UNLOCKentries for any files you had locked
Stay In Your Lane
- Each agent should focus on a single, well-defined task
- Do not modify files another agent has locked
- Do not stage files that aren't part of your current task
- If you discover related work needed, note it but don't do it—let another agent handle it
Commit Isolation
Critical: Each commit must contain ONLY files related to that specific change.
- Before
git add, verify each file belongs to your current task - Never use
git add .orgit add -A—always stage files explicitly - If you accidentally stage unrelated files, unstage them before committing
- Use
git statusto review staged files before every commit
Commit Guidelines
Follow semantic commit conventions. See semantic-commit skill for complete format, types, scopes, and examples.
Quick reference:
- Format:
<type>(<scope>): <description> - Types:
feat,fix,docs,style,refactor,test,chore - Keep commits atomic—one logical change per commit
Planning and Estimates
Do not estimate project duration, staffing, or delivery timelines unless @jonmagic explicitly asks. Prefer sequencing, dependencies, risks, decision gates, and assumptions.
Contributors
See co-author skill for contributor list and co-author formatting rules.
Quick rule: Add Co-authored-by: trailer when pair programming. Never add AI agents as co-authors.
Before considering any task complete:
bun run lint- No errors or warningsbun run typecheck- No TypeScript errorsbun run test- All Playwright tests pass- Manual check of responsive behavior
- Manual check of light/dark modes
- For rendered changes, leave the local preview server running and give @jonmagic the exact page URL to review
Design Guidelines
Colors
Light Mode:
- Background: Off-white or light tan (not pure white)
- Use warm, friendly colors
Dark Mode:
- Background: Dark gray/charcoal
- Accent: Subtle neon (cyan, magenta)—not too intense
- Maintain good contrast ratios
Typography
- Use system font stack for performance
- Clear hierarchy with distinct heading sizes
- Readable line lengths (max ~75 characters)
Components
- Rounded corners for a friendly feel
- Adequate padding and whitespace
- Clear visual feedback on interactive elements
- Smooth transitions (150-300ms)
Key Files
site/src/App.tsx- Homepage application componentsite/src/pages/- Entry points for tutorial and profile pagessite/src/data/- Typed content model for primitives, providers, tutorials, file trees, and comparisonsite/tests/e2e/- Playwright test filessite/src/index.css- Tailwind CSS 4 theme configuration
Content Source
The /research folder contains documentation about AI primitives:
05-ai-primitives-realistic-project-trees.md- Primary source for file tree visualization03-ai-primitives-playbook-and-provider-mapping.md- Source for primitives and recipes
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.

