Project Hub - Configuration
The Project Hub configuration file ~/.project-hub/config.yaml: paths for database, project documents and knowledge documents, team use via network share and which settings take effect.
Project Hub - Configuration
The configuration lives in ~/.project-hub/config.yaml (on Windows %USERPROFILE%\.project-hub\config.yaml). /project-hub:setup copies the template there, and /project-hub:configure changes values interactively.
The MCP server reads the configuration once at startup. After a change, restart Claude Code.
Keys the server evaluates
| Key | Default | Meaning |
|---|---|---|
docs_root |
see below | Base folder for project documents. Every project gets {docs_root}/{slug}/docs/. |
db_path |
~/.project-hub/project-hub.db |
Path of the SQLite database. |
knowledge_root |
~/.project-hub/knowledge |
Base folder for knowledge documents, one subfolder per project type. |
project_types_root |
~/.project-hub/project-types |
Folder for custom project types. |
~ is expanded for all four paths. knowledge_root and project_types_root are not in the example file, but the server reads them if you add them.
Default of docs_root
- With the example configuration that
/project-hub:setupcopies, the value is~/Documents/project-hub. - If the key or the whole configuration file is missing, the server uses
~/.project-hub/projects.
A project stores the path of its documents folder in the database. Changing docs_root later does not move existing project folders.
Other keys in the example file
The example file also contains these entries, which /project-hub:configure displays and writes:
| Key | Values |
|---|---|
user.name, user.email, user.organization |
free text |
default_language |
de or en |
communication.default_tone |
professional, friendly or formal |
communication.email_signature |
multi-line text |
The MCP server does not evaluate these keys, and the skill workflows do not read them either, with one exception:
add-contactmentionsdefault_languagefor the language of a duplicate follow-up question.composederives the tone of a draft from project type and audience, not fromcommunication.default_tone.
Changing settings interactively
/project-hub:configure shows the current values, asks what you want to change, validates the new value and rewrites the file. Validation:
user.emailmust contain an@.default_languageaccepts onlydeoren.communication.default_toneaccepts onlyprofessional,friendlyorformal.- A new
db_pathis checked against cloud-sync folders and network paths (see below).
The "Manage project types" menu item lists project types, starts /project-hub:type-creator or deletes custom types.
When writing,
configurereformats the file. Comments from the example file are lost in the process.
Team use and database path
Several people can use the same database if db_path points to a real network share (NFS or Samba) and everyone enters the same path.
- The database runs in WAL mode, so several readers are possible.
- If the database is locked, the server makes up to five attempts in total (four retries).
- The timeout is 5 seconds, or 30 seconds for paths containing
/mnt/,/media/,/net/,/Volumes/or the names Dropbox, OneDrive, Google Drive and iCloud. - Concurrent writes should stay rare. There is no real-time conflict detection.
Do not use a cloud-sync folder (Dropbox, OneDrive, Google Drive, iCloud) for
db_path. These services copy files on a delay, the.db,-waland-shmfiles can drift apart, and the database is silently corrupted. Setup and configure warn about such paths.
The active project selection is stored in the database, not in the individual Claude session. With a shared database, everyone shares the same "active" selection and overwrites each other's.
Documents folder per project
{docs_root}/{project-slug}/docs/
├── emails/
├── meeting-notes/
├── misc/
└── attachments/ created on the first attachment
More in Technical details.