agentleFS
DimillianDimillian/CodexMonitor/AGENTS.md

CodexMonitor

AGENTS.md4.3k starsChanged 8 months agoMITView on GitHub

All docs must be canonical, with no past commentary, only live state. This file is the agent contract for how to work in this repo. Detailed navigation/runbooks live in: CodexMonitor is a Tauri app that orchestrates Codex agents across local workspaces. For backend behavior changes, follow this order: If you add a backend command, update all relevant layers and tests. Use project aliases for frontend imports: For broader path maps, use docs/codebase-map.md. For Queue vs Steer follow-up behavior, start here:

  • Installs packages

Trending

Quiet since June.thin dataabout the whole repository

Dec 2025: 0 mentionsJan 2026: 7 mentionsFeb 2026: 0 mentionsMar 2026: 3 mentionsApr 2026: 0 mentionsMay 2026: 1 mentionJun 2026: 2 mentionsJul 2026: 0 mentionsAug 2026: 0 mentionsSep 2026: 0 mentionsOct 2026: 0 mentionsNov 2026: 0 mentions
Dec 2025Jun 2026Nov 2026
Mentions a month of the Dimillian/CodexMonitor repository that our weekly crawl found: only 13 in all, so this is a hint, not a trend. There is no adoption data for this file yet.

Who's talking about Dimillian/CodexMonitor

The biggest 5 of 13 mentions linking to the repository that our crawl found. Each line is their own headline.

See all 13

Talked about on GitHub, Bluesky and Hacker News (13 times).

On GitHub · 7

2 more on GitHub

On Hacker News · 2

  • 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,439 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.

The file

Show its rules and text

We split this AGENTS.md into the rules it gives an agent

23 rules. About 0 are common, 15 are distinctive, and 8 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈15

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 8

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    All docs must be canonical, with no past commentary, only live state.

    line 3
  2. Very specific:

    Put shared/domain backend logic in src-tauri/src/shared/* first.

    line 25
  3. Distinctive:

    Keep app and daemon as thin adapters around shared cores.

    line 26
  4. Distinctive:

    Do not duplicate logic between app and daemon.

    line 27
  5. Distinctive:

    Keep JSON-RPC method names and payload shapes stable unless intentionally changing contracts.

    line 28
  6. Distinctive:

    Keep frontend IPC contracts in sync with backend command surfaces.

    line 29
  7. Distinctive:

    If you add a backend command, update all relevant layers and tests.

    line 40
  8. Very specific:

    Keep src/App.tsx as composition/wiring root.

    line 44
  9. Distinctive:

    Keep presentational UI in feature components.

    line 49
  10. Very specific:

    Keep Tauri calls in src/services/tauri.ts only.

    line 50
  11. Very specific:

    Keep event subscription fanout in src/services/events.ts.

    line 51
  12. Distinctive:

    Use project aliases for frontend imports:

    line 55
  13. Very specific:

    Never resurrect hidden threads during reconciliation (hiddenThreadIdsByWorkspace still wins).

    line 82
  14. Distinctive:

    When changing backend behavior that can run remotely:

    line 97
  15. Very specific:

    Use existing design-system primitives and tokens for shared shell chrome.

    line 107
  16. Very specific:

    Do not reintroduce duplicated modal/toast/panel/popover shell styling in feature CSS.

    line 108
  17. Very specific:

    Prefer safe git operations (status, diff, log).

    line 114
  18. Distinctive:

    Do not reset/revert unrelated user changes.

    line 115
  19. Distinctive:

    If unrelated changes appear, continue focusing on owned files unless they block correctness.

    line 116
  20. Distinctive:

    If conflicts impact correctness, call them out and choose the safest path.

    line 117
  21. Distinctive:

    Run validations based on touched areas:

    line 122
  22. Distinctive:

    Use targeted tests for touched modules before full-suite runs when iterating.

    line 127
  23. Distinctive:

    Use extra care in high-churn/high-complexity files:

    line 156

≈ “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.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
AGENTS.md

CodexMonitor Agent Guide

All docs must be canonical, with no past commentary, only live state.

Scope

This file is the agent contract for how to work in this repo. Detailed navigation/runbooks live in:

  • docs/codebase-map.md (task-oriented file map: "if you need X, edit Y")
  • docs/multi-agent-sync-runbook.md (upstream ../Codex sync checklist for multi-agent/config behavior)
  • README.md (setup, build, release, and broader project docs)

Project Snapshot

CodexMonitor is a Tauri app that orchestrates Codex agents across local workspaces.

  • Frontend: React + Vite (src/)
  • Backend app: Tauri Rust process (src-tauri/src/lib.rs)
  • Backend daemon: JSON-RPC process (src-tauri/src/bin/codex_monitor_daemon.rs)
  • Shared backend source of truth: src-tauri/src/shared/*

Non-Negotiable Architecture Rules

  1. Put shared/domain backend logic in src-tauri/src/shared/* first.
  2. Keep app and daemon as thin adapters around shared cores.
  3. Do not duplicate logic between app and daemon.
  4. Keep JSON-RPC method names and payload shapes stable unless intentionally changing contracts.
  5. Keep frontend IPC contracts in sync with backend command surfaces.

Backend Routing Rules

For backend behavior changes, follow this order:

  1. Shared core (src-tauri/src/shared/*) when behavior is cross-runtime.
  2. App adapter and Tauri command surface (src-tauri/src/lib.rs + adapter module).
  3. Frontend IPC wrapper (src/services/tauri.ts).
  4. Daemon RPC surface (src-tauri/src/bin/codex_monitor_daemon/rpc.rs + rpc/*).

If you add a backend command, update all relevant layers and tests.

Frontend Routing Rules

  • Keep src/App.tsx as composition/wiring root.
  • Move stateful orchestration into:
    • src/features/app/hooks/*
    • src/features/app/bootstrap/*
    • src/features/app/orchestration/*
  • Keep presentational UI in feature components.
  • Keep Tauri calls in src/services/tauri.ts only.
  • Keep event subscription fanout in src/services/events.ts.

Import Aliases

Use project aliases for frontend imports:

  • @/* -> src/*
  • @app/* -> src/features/app/*
  • @settings/* -> src/features/settings/*
  • @threads/* -> src/features/threads/*
  • @services/* -> src/services/*
  • @utils/* -> src/utils/*

Key File Anchors

  • Frontend composition root: src/App.tsx
  • Frontend IPC wrapper: src/services/tauri.ts
  • Frontend event hub: src/services/events.ts
  • App command registry: src-tauri/src/lib.rs
  • Daemon entrypoint: src-tauri/src/bin/codex_monitor_daemon.rs
  • Daemon RPC router: src-tauri/src/bin/codex_monitor_daemon/rpc.rs
  • Shared workspaces core: src-tauri/src/shared/workspaces_core.rs + src-tauri/src/shared/workspaces_core/*
  • Shared git UI core: src-tauri/src/shared/git_ui_core.rs + src-tauri/src/shared/git_ui_core/*
  • Threads reducer entrypoint: src/features/threads/hooks/useThreadsReducer.ts
  • Threads reducer slices: src/features/threads/hooks/threadReducer/*

For broader path maps, use docs/codebase-map.md.

Thread Hierarchy Invariants

  • setThreads reconciliation must preserve incoming order while retaining required local anchors (active/processing/ancestor summaries) when payloads are partial.
  • Never resurrect hidden threads during reconciliation (hiddenThreadIdsByWorkspace still wins).
  • useThreadRows renders children under parents only when parent summaries are present in the visible list; missing parent summaries will promote children to roots.

Follow-up Behavior Map

For Queue vs Steer follow-up behavior, start here:

  • Settings model + defaults: src/types.ts, src/features/settings/hooks/useAppSettings.ts
  • Settings persistence/migration: src-tauri/src/types.rs, src-tauri/src/storage.rs
  • Composer runtime behavior: src/features/composer/components/Composer.tsx
  • Send intent routing: src/features/threads/hooks/useQueuedSend.ts, src/features/threads/hooks/useThreadMessaging.ts
  • App/layout wiring: src/features/app/hooks/useComposerController.ts, src/features/layout/hooks/layoutNodes/buildPrimaryNodes.tsx, src/App.tsx

App/Daemon Parity Checklist

When changing backend behavior that can run remotely:

  1. Shared core logic updated (or explicitly app-only/daemon-only).
  2. App surface updated (src-tauri/src/lib.rs + adapter).
  3. Frontend IPC updated (src/services/tauri.ts) when needed.
  4. Daemon RPC updated (rpc.rs + rpc/*) when needed.
  5. Contract/test coverage updated.

Design System Rule (High-Level)

Use existing design-system primitives and tokens for shared shell chrome. Do not reintroduce duplicated modal/toast/panel/popover shell styling in feature CSS.

(See existing DS files and lint guardrails for implementation details.)

Safety and Git Behavior

  • Prefer safe git operations (status, diff, log).
  • Do not reset/revert unrelated user changes.
  • If unrelated changes appear, continue focusing on owned files unless they block correctness.
  • If conflicts impact correctness, call them out and choose the safest path.
  • Fix root cause, not band-aids.

Validation Matrix

Run validations based on touched areas:

  • Always: npm run typecheck
  • Frontend behavior/state/hooks/components: npm run test
  • Rust backend changes: cd src-tauri && cargo check
  • Use targeted tests for touched modules before full-suite runs when iterating.

Quick Runbook

Core local commands (keep these inline for daily use):

npm install
npm run doctor:strict
npm run tauri:dev
npm run test
npm run typecheck
cd src-tauri && cargo check

Release build:

npm run tauri:build

Focused test runs:

npm run test -- <path-to-test-file>

Hotspots

Use extra care in high-churn/high-complexity files:

  • src/App.tsx
  • src/features/settings/components/SettingsView.tsx
  • src/features/threads/hooks/useThreadsReducer.ts
  • src-tauri/src/shared/git_ui_core.rs
  • src-tauri/src/shared/workspaces_core.rs
  • src-tauri/src/bin/codex_monitor_daemon/rpc.rs

Canonical References

  • Task-oriented code map: docs/codebase-map.md
  • Multi-agent upstream sync runbook: docs/multi-agent-sync-runbook.md
  • Setup/build/release/test commands: README.md

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

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.