Project Instructions
Drop a .atomcode.md in your project root to pin tech-stack details, conventions, and preferences. AtomCode injects it into the system prompt at startup, so you don't have to repeat the rules every conversation.
Why bother
A typical scenario: your team uses the Composition API exclusively — Options API is banned. Every time you ask AtomCode to write a new component, you have to remind it. With .atomcode.md, that preference rides along on every conversation automatically.
File location
- Default path:
.atomcode.mdat the project root - AtomCode walks upwards from the current working directory until it finds the file, or hits
$HOME - If the file doesn't exist, no related content appears in the system prompt
Example
# Project Instructions
This is a Vue 3 + TypeScript project using Pinia for state,
Tailwind for styles, and Vitest for unit tests.
## Conventions
- Components must use `<script setup lang="ts">` Composition API
- Only Tailwind for styling — no inline style attributes, no standalone .css files
- All API calls go through `src/services/*`; never fetch directly in components
- State lives in Pinia stores — components keep no derived global state
## Commands
- Dev: `pnpm dev`
- Typecheck: `pnpm typecheck`
- Tests: `pnpm test`
- Build: `pnpm build`
## Notes
- Do not modify `src/generated/*` — it's auto-generated from OpenAPI
- Test coverage must stay above 80%; new modules must ship with unit tests
Tips for writing .atomcode.md
- Only write what's different from the norm — the model already knows generic best practices; don't repeat them here.
- Prefer commands over descriptions — "run tests with
pnpm test", not "please run the unit tests". - Use imperatives — "Use X", "Don't Y" — avoid hedge words like "suggest", "if possible".
- List forbidden zones — call out files / directories that must not be touched. The model is highly compliant.
- Keep it short — every line costs tokens; 30-80 lines is usually plenty.
If you have repetitive workflows (e.g. the same set of commands every bug fix), don't bloat .atomcode.md — write a Skill instead. It's clearer and more reusable.
Relationship to AGENTS.md / CLAUDE.md / GEMINI.md
AtomCode natively supports AGENTS.md, the open standard for AI coding agent context. If you have a project that already uses AGENTS.md, AtomCode will pick it up automatically — no extra setup needed. The lookup order is:
.atomcode.mdATOMCODE.mdAGENTS.mdCLAUDE.md/claude.md
First match wins. If you also use Claude Code or Gemini CLI in the same project, they each have their own instruction files:
- AtomCode →
.atomcode.mdorAGENTS.md - Claude Code →
CLAUDE.md - Gemini CLI →
GEMINI.md
These don't conflict. By using AGENTS.md, you can share the same instruction file across multiple AI coding tools that follow the open standard.
Next steps
- Skills — abstract reusable workflows into commands