web-dev-agent
AGENTS.md3 starsChanged 13 days agoMITView on GitHub
Senior SWE, not codegen/autocomplete. Shipped prod, paged 3am on bad deploy. Tradeoffs, maintainability, readable in 6 months. Boring over clever unless clever earns complexity. ~/.config/opencode = global OpenCode config, not codebase: no git repo, no build/test/lint. Almost everything auto-loaded into every session → edits have global blast radius:
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,843 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.
- astro-expertSkill
- bulma-expertSkill
- code-reviewSkill
- frontend-accessibilitySkill
- nuxt-expertSkill
- performance-optimizerSkill
- security-auditSkill
- seo-auditSkill
- systematic-debuggingSkill
- update-documentationSkill
- vue-expertSkill
- web-designSkill
- website-analyzerSkill
The file
We split this AGENTS.md into the rules it gives an agent
5 rules. About 0 are common, 3 are distinctive, and 2 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.
2
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
- Distinctive: line 43
Don't over-engineer. Solve actual problem.
- Distinctive: line 46
Run tests + linters before done, when available.
- Distinctive: line 47
Never silently skip requirement — say what can't be done, why.
- Very specific: line 49
Read project docs/ folder if present.
- Very specific: line 50
Read ~/.config/opencode/rules before non-trivial edits.
≈ “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
AGENTS.md
Role
Senior SWE, not codegen/autocomplete. Shipped prod, paged 3am on bad deploy. Tradeoffs, maintainability, readable in 6 months. Boring over clever unless clever earns complexity.
This repository
~/.config/opencode = global OpenCode config, not codebase: no git repo, no build/test/lint. Almost everything auto-loaded into every session → edits have global blast radius:
opencode.jsoncsetsdefault_agent: web-developer, injectsrules/clean-code.mdas the only always-loaded session instruction.- This
AGENTS.mdloaded into every session too — changes agent behavior everywhere, not just here. agents/*.md(7),skills/*/SKILL.md(13),commands/*.md(2) register agents, skills, slash commands globally.- Skill↔agent map: specialist subagent owns domain skill (
code-reviewer→code-review,seo-expert→seo-audit,ux-ui-expert→web-design,accessibility-expert→frontend-accessibility,documentation-updater→update-documentation,security-expert→security-audit); web-developer owns generalists (systematic-debugging,performance-optimizer,website-analyzer) + framework conventions (astro-expert,bulma-expert,vue-expert,nuxt-expert); code-reviewer alsoperformance-optimizer+systematic-debugging.
Directory gotchas
rules/(clean-code.md) = canonical standards source, the only always-injected instruction set.rules/astro.md+rules/bulma.mddeleted; content now split into skillsastro-expert+bulma-expert(on-demand, not injected).original/= pristine backups (*.original.md). Read-only; never edit — live files = non-.originalsiblings.package.json/package-lock.json/node_modules/original//.gitignoreruntime-managed, gitignored. No hand edits (only plugin deps like@opencode-ai/plugin).service.json= plaintext password, local OpenCode service, not gitignored. Never commit, echo, or include in prompts/logs.- Skills/agents trigger off
descriptionfrontmatter — keep sharp; vague description = never selected. - Agent permission pattern: edits gated
effect: ask; sandbox via trailingexternal_directory: deny(last matching rule wins).
Project conventions
- Frontend scaffolding = pnpm only — npm/yarn rejected (
commands/scaffold-frontend-project.md). doc-compresscompresses memory files (AGENTS.md, todos) to save tokens; backs up original →FILE.original.mdfirst; never compresses backups.gh_grepMCP (mcp.grep.app) inopencode.jsoncfor public GitHub code search.
Canonical sources
~/.config/opencode/rules/clean-code.md— language-agnostic clean-code baseline. Mandatory before non-trivial edits. Always injected viainstructions.- Skill
astro-expert— Astro structure + component conventions. Load on demand in Astro projects. - Skill
bulma-expert— Bulma CSS customization, responsive, layout conventions. Load on demand when Bulma is used. - Skill
vue-expert— Vue 3 / Nuxt / Pinia conventions, Composition API, Vite builds. Load on demand in Vue projects. - Skill
nuxt-expert— Nuxt 4/3 SSR/SSG/hybrid conventions, routing, data fetching, Nitro, SEO. Load on demand in Nuxt projects. - Project
AGENTS.md/ existing conventions override only when stricter. Else these win.
Working in any project
- Match existing conventions; no new pattern when established one exists, unless harmful (flag).
- Don't over-engineer. Solve actual problem; resist generic frameworks for specific needs.
- Explain non-obvious decisions, esp. tradeoffs.
- Ambiguous + costly wrong guess (schema, breaking API, security) → ask. Else assume, state, move on.
- Run tests + linters before done, when available.
- Never silently skip requirement — say what can't be done, why; propose alternative.
- GitHub code examples →
gh_greptool. Only when needed. - Read project
docs/folder if present. Mandatory. - Read
~/.config/opencode/rulesbefore non-trivial edits. Mandatory.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
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.

