|
4 | 4 |
|
5 | 5 | CodexMonitor is a macOS Tauri app for orchestrating multiple Codex agents across local workspaces. It provides a sidebar to manage projects, a home screen for quick actions, and a conversation view backed by the Codex app-server protocol. |
6 | 6 |
|
7 | | -## Features (MVP) |
8 | | - |
9 | | -- Add and persist workspaces using the system folder picker. |
10 | | -- Spawn one `codex app-server` per workspace and stream events over JSON-RPC. |
11 | | -- Restore threads per workspace from the Codex rollout history (`thread/list`) and resume on selection. |
12 | | -- Start agent threads, send messages, show reasoning/tool call items, and handle approvals. |
13 | | -- Worktree agents per workspace (create/delete git worktrees under `.codex-worktrees`). |
14 | | -- Git panel with diff stats, file diffs, and commit log; open commits on GitHub when a remote is detected. |
| 7 | +## Features |
| 8 | + |
| 9 | +- Add and persist workspaces with a home dashboard of recent agent activity. |
| 10 | +- Spawn one `codex app-server` per workspace, stream JSON-RPC events, and resume threads on selection. |
| 11 | +- Start agent threads, send messages, render reasoning/tool/diff items, and handle approvals. |
| 12 | +- Worktree agents per workspace (create/delete git worktrees under `.codex-worktrees`) with quick worktree info. |
| 13 | +- Git panel with diff stats, file diffs, commit log, and GitHub Issues (via `gh`); open commits on GitHub when a remote is detected. |
15 | 14 | - Branch list with checkout and create flows. |
16 | 15 | - Model picker, reasoning effort selector, access mode (read-only/current/full-access), and context usage ring. |
17 | | -- Skills menu and composer autocomplete for `$skill`, `/prompts:...`, and `@file` tokens (custom prompts pulled from `~/.codex/prompts`). |
18 | | -- Plan panel for per-turn planning updates and turn interruption controls. |
| 16 | +- Skills menu and composer autocomplete for `$skill`, `/prompts:...`, `/review ...`, and `@file` tokens. |
| 17 | +- Plan panel for per-turn planning updates plus turn interrupt controls. |
19 | 18 | - Review runs against uncommitted changes, base branch, commits, or custom instructions. |
20 | | -- Debug panel for warning/error events and clipboard export. |
| 19 | +- Debug panel for warning/error events with clipboard export. |
21 | 20 | - Sidebar usage + credits meter for account rate limits. |
22 | | -- Archive threads (removes from UI and calls `thread/archive`). |
23 | | -- macOS overlay title bar with vibrancy effects. |
| 21 | +- Composer queueing plus image attachments (picker, drag/drop, paste) with per-thread drafts. |
| 22 | +- Resizable sidebar/right/plan/debug panels with persisted sizes. |
| 23 | +- Responsive layouts for desktop/tablet/phone with tabbed navigation. |
| 24 | +- In-app updater with toast-driven download/install. |
| 25 | +- macOS overlay title bar with vibrancy effects and optional reduced transparency. |
24 | 26 |
|
25 | 27 | ## Requirements |
26 | 28 |
|
27 | 29 | - Node.js + npm |
28 | 30 | - Rust toolchain (stable) |
29 | 31 | - Codex installed on your system and available as `codex` in `PATH` |
30 | 32 | - Git CLI (used for worktree operations) |
| 33 | +- GitHub CLI (`gh`) for the Issues panel (optional) |
31 | 34 |
|
32 | 35 | If the `codex` binary is not in `PATH`, update the backend to pass a custom path per workspace. |
33 | 36 |
|
@@ -82,12 +85,15 @@ src-tauri/ |
82 | 85 | ## Notes |
83 | 86 |
|
84 | 87 | - Workspaces persist to `workspaces.json` under the app data directory. |
| 88 | +- App settings persist to `settings.json` under the app data directory (Codex path, default access mode, UI scale). |
85 | 89 | - On launch and on window focus, the app reconnects and refreshes thread lists for each workspace. |
86 | 90 | - Threads are restored by filtering `thread/list` results using the workspace `cwd`. |
87 | 91 | - Selecting a thread always calls `thread/resume` to refresh messages from disk. |
88 | 92 | - CLI sessions appear if their `cwd` matches the workspace path; they are not live-streamed unless resumed. |
89 | 93 | - The app uses `codex app-server` over stdio; see `src-tauri/src/lib.rs`. |
90 | 94 | - Worktree agents live in `.codex-worktrees/` and are removed on delete; the root repo gets a `.gitignore` entry. |
| 95 | +- UI state (panel sizes, reduced transparency toggle, recent thread activity) is stored in `localStorage`. |
| 96 | +- Custom prompts load from `$CODEX_HOME/prompts` (or `~/.codex/prompts`) with optional frontmatter description/argument hints. |
91 | 97 |
|
92 | 98 | ## Tauri IPC Surface |
93 | 99 |
|
|
0 commit comments