Initialize a Project
Monday Morning stores all project state inside a .mm/ directory at the root of your repository. The desktop app sets this up when you add a project from the command bar; mm init does the same from the terminal.
Initialize
Section titled “Initialize”Navigate to your project root and run:
cd /path/to/your/projectmm initThe command is idempotent — it never overwrites existing files. You can run it multiple times safely.
What gets created
Section titled “What gets created”mm init generates the following structure:
Directory.mm/
- config.json — Project configuration
Directoryspecs/ — Feature specifications (the primary unit of work)
- …
Directorytasks/ — Standalone quick tasks
- tasks.md — Tasks dashboard
Directoryissues/ — Bug and problem tracking
- issues.md — Issues dashboard
Directorynotes/ — Decisions, meeting notes, context
- notes.md — Notes dashboard
Directoryfeatures/ — Optional feature groupings
- …
Directorydocs/ — Living reference documents
- …
Directoryproduct/ — Mission, roadmap, tech stack
- …
Directoryproposals/ — Legacy (see below)
- …
Directorysession/ — Session context for agents
- …
Directorystandards/ — Coding standards and conventions
- …
Directory.claude/
- settings.json — Enables the bundled MCP servers
Directorycommands/mm/ — Monday Morning workflow commands
- …
Directoryagents/mm/ — Agent definitions
- …
Directoryskills/ — Reusable skill definitions
- …
Other directories appear on demand as you use the product rather than at init time: .mm/ideas/ (captured ideas), .mm/index/ (the specs index and the ledger/ embedding index built by mm_index), .mm/reviews/ (project reviews), .mm/conversations/ (archived conversations), and .mm/specs/order.json (the build order written by /mm:order-specs).
mm init also registers the project in ~/.claude/projects-registry.json so the desktop app and cross-project commands can find it.
config.json
Section titled “config.json”The project configuration file stores metadata and feature flags:
{ "project_name": "my-project", "project_path": "/path/to/my-project", "created": "2026-08-08 10:00", "version": "1.4.1", "features": { "project_management": true, "tasks_as_source_of_truth": true }, "hooks": { "auto_context": { "enabled": true, "include_mission": true, "include_session": true, "include_active_tasks": true, "include_issues": true, "include_notes": false } }}| Field | Description |
|---|---|
project_name | The project name, derived from the directory name. |
project_path | Absolute path to the project root. |
version | The Monday Morning version that initialized this project. |
created | Timestamp when the project was initialized. |
features / hooks | Feature flags and automatic-context settings for agent sessions. |
Machine-local overrides live in config.local.json alongside it.
.claude/settings.json
Section titled “.claude/settings.json”Init writes (or updates) .claude/settings.json with "enableAllProjectMcpServers": true, so the project’s bundled MCP servers are auto-approved and agents can use the mm_* tools without a per-machine approval step. If the file already exists, only that key is added — nothing else is touched.
Dashboard Files
Section titled “Dashboard Files”Each tracking directory gets a dashboard file (tasks.md, issues.md, notes.md). These dashboards act as indexes — they link to individual entity files and organize them by status. For example, tasks/tasks.md contains Active, Backlog, and Completed sections.
Version Control
Section titled “Version Control”.mm/ is gitignored by default — this is by design, not something to fix. Your project context stays local-first and out of your commit history:
- Everything is plain Markdown and JSON you can read and edit with any tool.
- Team sharing happens through the cloud lane: turn on team visibility in the app’s Settings, and teammates see the shared artifacts without
.mm/ever entering git. - A legacy git-mirror sharing toggle exists in Settings → Git sharing, default off. Use the cloud lane unless you have a specific reason not to.
Re-running init
Section titled “Re-running init”If Monday Morning ships new directories or dashboard files in a future version, run mm init again to add them. Existing files are never modified or overwritten.
Next Steps
Section titled “Next Steps”- The .mm/ Data Model — Understand each entity type and file format.
- Your First Workflow — Create a spec and start tracking work.