AGENTS.md directory

Omarchy

Opinionated Arch Linux desktop, configured as a product.

Opens with seven task guides and keeps most of its detail in other files.

Documents it routes to

This file points the agent at 10 other documents in the repository. Open any of them to read it here, as it was at this commit.


├── agents
│   └── skills
│       ├── 
│       ├── 
│       ├── 
│       ├── 
│       ├── 
│       ├── 
│       └── 
├── default
│   └── agents
│       └── skills
│           └── omarchy
│               └── 
└── docs
    ├── 
    └── 

By the numbers

133
Lines
1,050
Words
about 5 min read
7.6kB
File size
12
Headings
50
Bullet rules
2
Code blocks
11
Links to other docs
router style
40.9k
Repo stars

File measured on quattro at commit 1c8f728. Analysis written 2026-09-14. Star count is a snapshot from September 2026.

What kind of file this is

The first section is a table of links, each naming a kind of work and the guide to read before starting it. Documentation is split into three trees by audience, and a section of helper commands replaces the equivalent raw shell tools.

Techniques in this file

Quoted lines are verbatim from the file. Open one to see it where it sits.

Task guides before rules

Router files

Seven links open the file, covering command metadata, install scripts, the desktop shell, the icon font, acceptance tests, visual verification and migrations. Work that touches migrations loads the migrations guide; work that does not, does not pay for it.

Three documentation trees, split by audience

Task procedure, system reference and end-user documentation each have their own directory, with the audience stated for each. The user manual carries an explicit exclusion.

Helper commands in place of the obvious tool

A list maps project commands onto the tools they replace: a package helper rather than pacman, a notification helper rather than notify-send. The wrappers handle cases the raw commands do not.

Defensive checks ruled out where they are noise

Hard prohibitions

Commands from the default package set are stated to be runtime invariants, so presence checks around them are wrong. Presence helpers are reserved for genuinely optional dependencies and code that can run before the default set is installed, with a listed set of exceptions.

One list, not two

Pointing at the source of truth

The command prefix section gives common examples, then points at the array in the router as authoritative, with the stated reason that a second copy drifts.

A documented footgun

The config refresh helper interpolates its argument into two paths and checks only for existence, so a path containing a traversal resolves and writes outside the config directory. The file states the behavior rather than describing the helper as validating.

Takeaways for your own repo

  • Lead with a table of task guides. It is the main lever on what every request pays for.
  • If you have more than one documentation directory, state the audience for each.
  • List the wrapper commands that replace the obvious tool, and say which defensive checks are noise.
  • Where two copies of a list could drift, name the authoritative one and refuse to keep the second.

How the file is organized

  1. 01Task Guides
  2. 02Documentation Layout
  3. 03Style
  4. 04Command Naming
  5. 05Runtime Environment
  6. 06Privileged Commands
  7. 07Git
  8. 08Helper Commands
  9. 09Menu
  10. 10Config Structure
  11. 11Tests
  12. 12Refresh Pattern
Read the full file on GitHub

Context your AGENTS.md cannot carry

Omarchy's file tells an agent how the codebase works. It cannot tell it which bug three customers hit this week. Modem keeps that context current and attaches it to the work.