The Floor
The Monday Morning desktop app is a native application built with Tauri 2.x and Svelte 5. It is local-first project management for developers — it runs your agents, whoever sells the model. You track tasks, specs, issues, and notes across repos, and you dispatch, watch, and record agent work from one screen: the Floor.
Project data lives in .mm/ directories inside your repositories. The app reads and writes these files directly — there is no separate database or server process. Sign-in is optional: signed out, everything works locally (“Local only — team sharing off”); signing in enables cloud team visibility.
Five rows, one screen
Section titled “Five rows, one screen”The Floor is a fixed five-row layout. It never rearranges, and there is no page navigation — what changes is what occupies the middle.
┌────────────────────────────────────────────────┐│ Title bar logo · project · settings · team │ 34px├────────────────────────────────────────────────┤│ Command bar › ask · CODE/PLAN · model · Dispatch │├────────────────────────────────────────────────┤│ Roster one card per running agent │├────────────────────────────────────────────────┤│ ││ Stage one occupant at a time │ flexes│ │├────────────────────────────────────────────────┤│ Doors bar Roadmap · Artifacts · Review · │ 34px│ Git · Activity Usage · sync · v │└────────────────────────────────────────────────┘| Row | What it is |
|---|---|
| Title bar | The app logo, the project cell and its switcher menu, the Settings toggle, the team cell (avatar stack), and the account cell. Settings is a mode you toggle, not a page you navigate to. |
| Command bar | The one front door: type an ask, pick Code or Plan and a model, and dispatch an agent. |
| Roster | One card per running agent in the active project. Cards page rather than scroll, and selecting a card puts that agent’s session on the stage. |
| Stage | The only row that flexes. It hosts exactly one occupant at a time — a live session, the settings takeover, an artifact’s detail view, the roadmap board, and so on. |
| Doors bar | Five project doors that open drawers over the stage — Roadmap, Artifacts, Review, Git, Activity — plus the account-scope Usage cell, the machine-scope sync cell, and the version string. |
The layout is fluid down to a 1024px-wide floor with no horizontal window scrolling; below an 880px height the window scrolls vertically.
Design invariants
Section titled “Design invariants”The Floor holds a few rules everywhere, so once you learn them they apply on every surface:
- One screen. There is no navigation stack. The stage swaps occupants; the other four rows stay put.
- No toasts. Transient pop-ups do not exist — conditions appear as inline notice regions in the row they concern, and they stay until resolved or dismissed.
- Almost no modals. Settings, entity detail, team views — everything that used to be a dialog is a stage occupant or an inline row. A single confirmation modal remains (removing a project).
- One filled button per region. Each region has at most one filled “commit” button — the thing that actually commits work. When the app knows a commit would refuse (nothing typed, no provider connected), the fill is withheld rather than a fake-disabled control invented.
- Exact counts, never summaries. Faces and meters show real figures —
6 · 2,+4037 / −1642,3/8— never rounded percentages or “a few”. - Warmth means a person is blocking. The warm highlight appears only when something genuinely needs you. It is never used for emphasis.
- One black theme. There is no light mode and no skin system; the whole app is built on one semantic token set.