Skip to content
⌘K

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.

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:

Terminal window
cd mcp-servers/monday-morning
npm install && npm run build
npm link

mmt is now on your PATH. Run it from anywhere inside a project, meaning any directory at or below the one that holds .mm/.

CommandWhat it shows
mmt specsOpen 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 issuesOpen issues. --all includes resolved ones.
mmt notesNotes, 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.

CommandWhat 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.

These commands open an interactive Claude Code session in the project root, already running the matching command:

CommandRuns
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.

Terminal window
mmt brief "Let people export their notes as PDF" --no-parent "small standalone ask"
mmt shape export-notes # Claude shapes it into requirements + tasks
mmt show export-notes # read what it produced
mmt start export-notes # build it
mmt verify export-notes # grade it

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.