Projects
A project is ThreadMind's top-level workspace. It groups together a thread tree, a system context, and configuration.
Creating a Project
project_create(title: "My App", systemContext: "...", mode: "solo")Or using the shortcut: tm:project My App
This will:
- Generate a project ID from the title (
"My App"→"my-app") - Create the project configuration file
- Create a root
mainthread - Initialize the thread tree
- Generate your unique author ID (from
git config user.name+ short UUID) - Set this project as active
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
title | string | required | Human-readable project name |
systemContext | string | "" | System prompt included at the top of every context assembly |
mode | "solo" | "team" | "solo" | Collaboration mode |
System Context
The systemContext is a global instruction that appears at the top of every assembled context, regardless of which thread is active. Use it for:
- Project-wide technical decisions ("We use TypeScript strict mode")
- Architecture overview ("Monorepo with Next.js frontend and Express backend")
- Coding conventions ("Use functional components, no classes")
TIP
After creating a project, run tm:init (or threadmind_init) to generate instruction files that teach your AI client to use ThreadMind automatically.
Listing Projects
project_listOr using the shortcut: tm:projects
Returns all projects with their mode and highlights the active one:
- My App (my-app) [solo] ← active
- Side Project (side-project) [solo]
- Team Project (team-project) [team]Switching Projects
project_switch(projectId: "side-project")Switches the active project and resets the active thread to main.
Project Modes
Solo Mode
Default mode. No ownership restrictions — you can edit any thread's summary.
Team Mode
Enables collaborative workflows via git. See Team Mode for details.
Key difference: in team mode, you can only update summaries of threads you created. You can always create child threads from anyone's threads.
Storage
Each project creates:
.threadmind/
projects/
my-app.json # Project configuration
threads/
my-app/
main.md # Root thread
... # Other threads
trees/
my-app.json # Tree structure
stats/
my-app.json # Token savings statisticsID Generation
Project IDs are auto-generated by slugifying the title:
| Title | Generated ID |
|---|---|
"My App" | my-app |
"E-Commerce Platform" | e-commerce-platform |
"API v2" | api-v2 |
If the ID already exists, a numeric suffix is added: my-app-2, my-app-3, etc.