Terminal (mmt)
The board is one way to see a project. mmt is the other: a terminal command that shows the same specs, tasks, issues, and notes, and moves a brief through its lifecycle without opening the desktop app.
It reads the same .mm/ files the app does, through the same code, so what you see in the terminal matches the board.
Install
Section titled “Install”mmt ships with the Monday Morning MCP server. It isn’t bundled with the desktop app yet. From a checkout of the Monday Morning repo:
cd mcp-servers/monday-morningnpm install && npm run buildnpm linkmmt is now on your PATH. Run it from anywhere inside a project, meaning any directory at or below the one that holds .mm/.
| Command | What it shows |
|---|---|
mmt specs | Open specs, one per line: folder, status, task progress, title. --all includes done specs. --status <s> shows only one status (for example --status brief). |
mmt show <spec> | One spec: title, status, intent, summary, requirements, and tasks grouped by state. Long output opens in your $PAGER. |
mmt tasks [<spec>] | Open tasks across every unfinished spec, or every task in one spec. |
mmt issues | Open issues. --all includes resolved ones. |
mmt notes | Notes, newest first. |
mmt find <text> | A plain-text search across .mm/, printed as path:line snippet. |
<spec> is the spec’s folder name or any unique part of it. mmt show terminal works if only one folder contains “terminal”. If more than one matches, mmt lists them and exits with an error so you can be more specific.
The read commands don’t load any model and don’t touch the network. They typically finish in well under a third of a second.
Create
Section titled “Create”| Command | What it creates |
|---|---|
mmt brief "<intent>" --parent <milestone> | A brief under a roadmap milestone |
mmt brief "<intent>" --no-parent "<reason>" | A brief outside the roadmap, with the reason recorded |
mmt task "<title> (R1)" --spec <spec> | A task in a spec. The title must cite a requirement id, the same rule the board and /mm:spec follow. |
mmt task "<title>" | A quick task |
mmt issue "<title>" | An issue. Add --description and --severity if needed. |
Each command prints the file it wrote. --title on brief sets the title. Without it, the title comes from the first few words of the intent.
Move a spec forward
Section titled “Move a spec forward”These commands open an interactive Claude Code session in the project root, already running the matching command:
| Command | Runs |
|---|---|
mmt shape <spec> | /mm:spec --stage brief <spec>: turns a brief into a spec with requirements and tasks |
mmt start <spec> | /mm:spec-start <spec>: implements it |
mmt verify <spec> | /mm:verify-spec <spec>: grades it against its requirements |
They need the claude command on your PATH and the Monday Morning commands installed in the project (see Initialize a Project). If claude isn’t found, mmt prints the slash command so you can paste it into an open session.
A brief, end to end
Section titled “A brief, end to end”mmt brief "Let people export their notes as PDF" --no-parent "small standalone ask"mmt shape export-notes # Claude shapes it into requirements + tasksmmt show export-notes # read what it producedmmt start export-notes # build itmmt verify export-notes # grade itOutput
Section titled “Output”Colour and bold appear only when printing to a terminal. Set NO_COLOR=1 to turn them off. Piped output (mmt specs | grep brief) is always plain text.