Skip to content
Get AI Business OS

Projects, Workspaces and Repositories

AI Business OS

These pages use three words with exact meanings. A repository holds your workspace’s history, a workspace is where you work, and a project is one body of work inside that workspace. Each word means one thing only, so the instructions on every page point to the right place.

Term What it is Example
Repository The git remote that stores your workspace’s files and history, such as a private repository on GitHub example-consulting/example-consulting-biz-os
Workspace The repository loaded on your computer and opened in Claude Code The example-consulting-biz-os folder open in VS Code
Project A folder of work with its own identifier, inside a workspace Domains/15 Education & Training/P012 Spring Workshop/

A workspace contains many projects, and a project is never called a workspace or a repository.

The repository is the git remote that your workspace pushes to and pulls from. It holds every committed file and the full history of changes, so it is your backup and the way you move work between computers. /night and /sync push your work to it, and /day pulls the latest changes from it.

Your work reaches the repository through git’s origin remote. Keep the repository private, because it holds your company context files, your project records and your client folders.

/update uses a second remote, called upstream, which points to the AI Business OS template that new engine versions come from. If PRIMA Project Management is installed, /update also uses a remote called prima-upstream. /update only reads from these two remotes, so your work never goes to either of them.

A workspace is the repository loaded on your computer and opened in Claude Code. It is the folder you open in VS Code each morning, with .claude/ at the top and your domains beneath it. Claude Code reads the workspace’s instructions when the session starts, and every file Claude writes lands somewhere inside it.

One workspace serves one organisation. If you also manage a workspace for someone else, such as a client or a colleague, that workspace has its own folder and its own repository. Open the folder for the organisation you are working for, because Claude follows the instructions of whichever workspace is open.

Every workspace records who it belongs to in the workspace block of .claude/state/state.json. /setup fills it in from your answers.

Field What it holds
name Your organisation’s name
id A short identifier in lower case with hyphens, such as example-consulting-biz-os
type client, personal or internal. /setup sets client by default, or personal if you set up the workspace for yourself
githubRepo The repository address you gave during /setup, or empty if you answered none

The same details appear in the Workspace Identity section at the top of .claude/CLAUDE.md.

The identity protects your pushes. Before /sync pushes, Claude compares githubRepo with the address of the origin remote. If they do not match, Claude stops and pushes nothing. The check stops one workspace’s files from reaching another workspace’s repository when you work with more than one. In the base AI Business OS, only /sync runs this check, and /night pushes to origin without it. PRIMA Project Management adds the check to its own /night.

A project is a body of work with an objective and an end, such as a campaign, an audit or a workshop. Each project has a folder inside a domain and an entry in the project register, .claude/state/state.json. You create projects with /newproject.

Every project has an identifier that never changes and is never reused. A new workspace numbers its projects P001, P002, P003 and so on. The sequence runs across the whole workspace, so the project after P011 in Marketing is P012, whatever domain it belongs to.

If the register already uses another format, such as PRJ-0012, /newproject continues that format and never changes an existing identifier. If it finds more than one format, it stops and asks you which one new projects should use.

The folder name is the identifier, a space and the project name in Title Case, such as P012 Spring Workshop. /newproject creates three files in it.

File Purpose
CLAUDE.md Instructions for Claude that apply to this project only
AGENTS.md A short pointer that sends other AI tools to the CLAUDE.md file
PRD.md The project’s requirements, built from the PRD template

The project’s entry in the register records its status, priority, category, due date and folder path. The status is one of in-progress, paused, overdue and archived, and the State Files and Validation page lists every field.

Not every folder is a project. Reference subfolders in a domain, such as 02.3 Budgets, hold standing material that never finishes, so they have no identifier and no entry in the register. A client folder created with /newclient, such as Domains/01 Clients/Harbour-Dental/, is not a project either. Work for that client that has an objective and an end becomes a project, created with /newproject and the client category.

Repository (git remote, for example on GitHub)
▲ push │ pull
│ ▼
Workspace (the folder open in Claude Code)
├── .claude/state/state.json The project register
└── Domains/
├── 07 Marketing/
│ └── P011 Autumn Newsletter/ Project
└── 15 Education & Training/
└── P012 Spring Workshop/ Project