Skip to content

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:

  1. Generate a project ID from the title ("My App""my-app")
  2. Create the project configuration file
  3. Create a root main thread
  4. Initialize the thread tree
  5. Generate your unique author ID (from git config user.name + short UUID)
  6. Set this project as active

Parameters

ParameterTypeDefaultDescription
titlestringrequiredHuman-readable project name
systemContextstring""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_list

Or 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 statistics

ID Generation

Project IDs are auto-generated by slugifying the title:

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

Released under the MIT License.