Multi-Project Setup
Catalyst supports completely isolated contexts for different clients and projects using HumanLayer profiles.
Overview
Section titled “Overview”Each profile points to a different thoughts repository, keeping contexts completely isolated:
- Personal work — Your own projects
- Client A — One client’s projects
- Client B — Another client’s projects
- Open source — Community projects
Quick Reference
Section titled “Quick Reference”# List profileshumanlayer thoughts profile list
# Create new profilehumanlayer thoughts profile create acme --repo ~/clients/acme/thoughts
# Initialize project with profilecd /path/to/acme-projecthumanlayer thoughts init --profile acme
# Check current statushumanlayer thoughts statusAdding a New Client
Section titled “Adding a New Client”# Create profilehumanlayer thoughts profile create acme --repo ~/clients/acme/thoughts
# Initialize a project with this profilecd /path/to/acme-projecthumanlayer thoughts init --profile acmeHow Auto-Detection Works
Section titled “How Auto-Detection Works”HumanLayer maintains repoMappings that map working directories to profiles:
- Run
humanlayer thoughts init --profile acmein/path/to/project - HumanLayer records the mapping:
/path/to/project→acmeprofile - Future
humanlayer thoughtscommands in that directory auto-detect the profile - No need to specify
--profileon every command
Repository Layout
Section titled “Repository Layout”Each profile gets its own isolated repository:
~/thoughts/ # Personal (default)~/clients/acme/thoughts/ # ACME client~/clients/megacorp/thoughts/ # MegaCorp clientEach repository has the same internal structure:
thoughts/├── repos/ # Project-specific│ ├── project-a/│ │ ├── ryan/│ │ └── shared/│ └── project-b/│ ├── ryan/│ └── shared/└── global/ # Cross-project ├── ryan/ └── shared/Daily Workflow
Section titled “Daily Workflow”Starting Work on a Personal Project
Section titled “Starting Work on a Personal Project”cd ~/code-repos/my-projecthumanlayer thoughts init --profile coalesce-labs/create-plan # Works as normalStarting Work on a Client Project
Section titled “Starting Work on a Client Project”cd ~/code-repos/github/acme/projecthumanlayer thoughts init --profile acme/create-plan # Uses client-specific contextBackup Strategy
Section titled “Backup Strategy”Personal thoughts: Push to GitHub as a private repo — it’s your IP.
Client thoughts: Check your contract/NDA. Options:
- Keep local only (good for sensitive work)
- Push to your private repo
- Push to the client’s organization (if allowed)
cd ~/clients/acme/thoughtsgh repo create ryan/acme-thoughts --private --source=. --pushBest Practices
Section titled “Best Practices”Use descriptive profile names (acme, coalesce-labs, google-consulting) rather than vague ones (client1, work, temp).
Initialize projects immediately when starting work in a new directory.