monofield / apps
AGENTS.md5 starsChanged 5 months agoApache-2.0View on GitHub
Follow the root AGENTS.md first. This file only records module-level boundaries for apps/.
We split this AGENTS.md into the rules it gives an agent
4 rules. About 0 are common, 0 are distinctive, and 4 are very specific to this project.
≈0
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 3
Follow the root AGENTS.md first.
- Very specific: line 25
Add endpoints to an existing route file when they share the same domain language and dependency set.
- Very specific: line 30
Keep app src/ directories source-only.
- Very specific: line 37
Keep sidecar awareness in apps/<app>/sidecar or the desktop sidecar entry wrapper.
≈ “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
apps/AGENTS.md
Follow the root AGENTS.md first. This file only records module-level boundaries for apps/.
Active apps
apps/web: Next.js 16 App Router + React 18 web runtime. Entrypoints live inapps/web/app/; the main client shell isapps/web/src/App.tsx. During localtools-devweb runs,apps/web/next.config.tsrewrites/api/*,/artifacts/*, and/frames/*toOD_PORT.apps/daemon: Express + SQLite local daemon andodbin. It owns REST/SSE APIs, agent CLI spawning, skills, design systems, artifact persistence, static serving, and daemon-managed data. Before describing or changing daemon data paths, read the rootAGENTS.mdsection Daemon data directory contract; it is mandatory and must not be restated here.apps/desktop: Electron shell. Desktop does not guess the web port; it reads runtime status through sidecar IPC and opens the reported web URL.apps/packaged: Thin packaged Electron runtime entry. It starts packaged daemon/web sidecars, registers theod://entry protocol, and delegates desktop host behavior toapps/desktop.
Daemon layout
apps/daemon/src/contains only daemon app source.apps/daemon/tests/contains daemon tests.apps/daemon/sidecar/contains the daemon sidecar entry.- CLI/agent argument definition changes belong in
apps/daemon/src/runtimes/defs/; stdout parser changes belong with the matching runtime helpers and parser tests.
Router layout
- Existing daemon domain endpoints belong in the matching daemon route file; avoid adding route handlers directly to
apps/daemon/src/server.tsunless the route is bootstrap-wide or has no clear domain owner. - New route registrars should be wired into the matching semantic section in
server.ts; keep sections broad and reuse existing sections before adding a new one. - Bootstrap-wide routes describe daemon availability or startup metadata shared by every domain.
/api/healthand/api/versionstay inserver.tsbecause they only report process-level status. - Domain routes describe a product capability or data model.
/api/activebelongs inapps/daemon/src/routes/active-context.tsbecause transient UI focus is its own domain, while chat routes own persistent conversation and run state. - Add endpoints to an existing route file when they share the same domain language and dependency set. Split a new module under
apps/daemon/src/routes/when the endpoint introduces a distinct domain or has little dependency overlap with existing route modules.
Test layout
- App tests live in each app's
tests/directory, sibling tosrc/; preserve source-relative subpaths insidetests/when useful. - Keep app
src/directories source-only; do not add new*.test.tsor*.test.tsxfiles undersrc/. apps/web/tests/contains web-owned Vitest tests and uses*.test.ts/*.test.tsx.- Playwright UI automation belongs in
e2e/ui/; do not add Playwright suites or UI automation helper scripts underapps/web.
Sidecar awareness
- App business layers must not import sidecar packages or branch on
runtime.mode,namespace,ipc, orsource. - Keep sidecar awareness in
apps/<app>/sidecaror the desktop sidecar entry wrapper.
Packaged runtime
apps/nextjshas been removed; do not restore it.- Packaged web uses Next.js SSR through the web sidecar; do not put Next output under daemon
OD_RESOURCE_ROOT. - Packaged
OD_RESOURCE_ROOTis only for daemon non-Next read-only resources:skills/,design-systems/, andframes/. - Packaged data/log/runtime/cache paths must be namespace-scoped and must not depend on daemon or web ports.
- Daemon↔web packaged traffic still uses an HTTP origin/port because Next.js dev server and SSR proxy paths assume HTTP origins; switching to Unix sockets would require patching Next internals. The invariant is that data/log/runtime/cache paths never embed ports.
Common app commands
pnpm --filter @open-design/web typecheck
pnpm --filter @open-design/web test
pnpm --filter @open-design/daemon typecheck
pnpm --filter @open-design/daemon test
pnpm --filter @open-design/daemon build
pnpm --filter @open-design/desktop typecheck
pnpm --filter @open-design/desktop build
pnpm --filter @open-design/packaged typecheck
pnpm --filter @open-design/packaged buildWhere 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 repository168 other files it gives its agents.
- AGENTS.mdAGENTS.md
- design-templates/AGENTS.mdAGENTS.md
- e2e/AGENTS.mdAGENTS.md
- .github/AGENTS.mdAGENTS.md
- packages/AGENTS.mdAGENTS.md
- plugins/AGENTS.mdAGENTS.md
- skills/AGENTS.mdAGENTS.md
- tools/AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- od-contributeSkill
- 8-bit-orbit-video-templateSkill
- ad-creativeSkill
- after-hours-editorial-templateSkill
- agent-browserSkill
- ai-music-albumSkill
- algorithmic-artSkill
- apple-higSkill
- article-magazineSkill
- artifacts-builderSkill
- brainstormingSkill
- brand-extractSkill
- brand-guidelinesSkill
- brandkitSkill
- industrial-brutalist-uiSkill
- canvas-designSkill
- card-twitterSkill
- card-xiaohongshuSkill
- color-expertSkill
- competitive-ads-extractorSkill
- copywritingSkill
- creative-directorSkill
- d3-visualizationSkill
- data-reportSkill
- deck-guizang-editorialSkill
- deck-open-slide-canvasSkill
- deck-swiss-internationalSkill
- design-briefSkill
- design-consultationSkill
- design-mdSkill
- design-reviewSkill
- digits-fintech-swiss-templateSkill
- doc-kami-parchmentSkill
- docSkill
- docxSkill
- domain-name-brainstormerSkill
- ecommerce-image-workflowSkill
- editorial-burgundy-principles-templateSkill
- emilkowalski-motionSkill
- enhance-promptSkill
- export-download-debuggingSkill
- fal-3dSkill
- fal-generateSkill
- fal-image-editSkill
- fal-kling-o3Skill
- fal-lip-syncSkill
- fal-realtimeSkill
- fal-restoreSkill
- fal-trainSkill
- fal-tryonSkill
- fal-upscaleSkill
- The first 60 shown.
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.

