Omarchy

Opinionated Arch Linux desktop, configured as a product.

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

Documents

├── 
├──  · imports AGENTS.md
├── agents
│   └── skills
│       ├── 
│       ├── 
│       ├── 
│       ├── 
│       ├── 
│       ├── 
│       └── 
├── default
│   └── agents
│       └── skills
│           └── omarchy
│               └── 
└── docs
    ├── 
    └── 

The file, explained

What makes it useful

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 passages are verbatim. Open one to see it in the source.

01 / Router files

Task guides before rules

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.

02 / From this file

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.

Source excerpt starting at line 20.
- `manual/` - end-user documentation for using Omarchy, published; never codebase internals

03 / From this file

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.

04 / Hard prohibitions

Defensive checks ruled out where they are noise

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.

Source excerpt starting at line 88.
Commands installed by Omarchy's default package set are runtime invariants. Invoke them directly; do not add defensive `omarchy-cmd-present` / `omarchy-cmd-missing` checks around them. Use command-presence helpers only for genuinely optional dependencies or code that can run before the default package set is installed.

05 / Pointing at the source of truth

One list, not two

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.

Source excerpt starting at line 57.
Do not maintain a second exhaustive prefix list here. Consult

06 / From this file

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.

Put it to work

Borrow this for your repo

  1. Lead with a table of task guides. It is the main lever on what every request pays for.
  2. If you have more than one documentation directory, state the audience for each.
  3. List the wrapper commands that replace the obvious tool, and say which defensive checks are noise.
  4. 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 this revision on GitHub ↗

Context your instructions 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.

Try Modem