What Client Configuration Enables
With clients properly configured, Morning Brain Starter can:- Automatically identify client meetings from calendar event titles
- Display relevant client context (bitácoras, project notes) before meetings
- Map calendar events to client projects
- Organize meeting notes by client and project
- Track client work over time
Configuration Overview
Client configuration involves two main components:- Keyword Mapping (
config/clients.yaml) - Maps calendar event keywords to client names - Client Folder Structure (
context/clients/) - Stores client information, bitácoras, and project details
Step 1: Configure Client Keyword Mapping
Theconfig/clients.yaml file maps calendar event title keywords to client folder names.
Add your clients
For each client, define:
- Key: Client folder name (must match directory in
context/clients/) - Values: List of keywords that might appear in calendar event titles
Matching is case-insensitive: Keywords are matched without regard to case. “Acme”, “ACME”, and “acme” will all match.
Step 2: Create Client Folder Structure
Each client has a dedicated folder incontext/clients/ with specific files and structure.
Folder Structure
Create client directory
Create a folder for each client in The folder name must match the key in
context/clients/:config/clients.yaml.Create bitacora.md
Create
context/clients/your-client-name/bitacora.md for client notes:Use reverse chronological order (newest entries first) for easier reading during morning prep.
Step 3: Configure Client Projects
Each client can have multiple projects. Projects help organize work and meetings by specific engagements.Client Configuration Files Reference
config/clients.yaml
Location:config/clients.yaml
Maps calendar event keywords to client folder names.
Structure:
- Morning Brain Starter scans today’s calendar events
- For each event, it checks the title against all keywords
- If a keyword matches (case-insensitive), the event is associated with that client
- Client context (bitácora, project info) is loaded for that event
context/clients/[client]/client.yaml
Location:context/clients/<client-name>/client.yaml
Defines client metadata.
Unique identifier for the client. Must match the directory name.Example:
acmeDisplay name for the client.Example:
Acme CorporationBrief description of the client or engagement.Example:
E-commerce platform for industrial suppliesClient’s website URL.Example:
https://acme.example.comcontext/clients/[client]/bitacora.md
Location:context/clients/[client-name]/bitacora.md
Free-form markdown file for client notes, meeting summaries, and historical context.
Best practices:
- Use reverse chronological order (newest first)
- Include date headers:
## YYYY-MM-DD - Meeting Title - Keep entries concise but informative
- Include action items and next steps
- Reference project names when relevant
context/clients/[client]/projects/[project]/project.yaml
Location:context/clients/[client]/projects/[project]/project.yaml
Defines project metadata.
Unique identifier for the project. Must match the directory name.Example:
acme-comDisplay name for the project.Example:
Acme.com RedesignType of project.Common values:
website, app, api, consultation, maintenanceExample: websiteProject URL (production site, staging, repository, etc.).Example:
https://acme.comBrief project description.Example:
Complete redesign of corporate website with e-commerce integrationcontext/clients/[client]/projects/[project]/matches.yaml
Location:context/clients/[client]/projects/[project]/matches.yaml
Configures how calendar events and Asana tasks are matched to this project.
List of keywords to match in calendar event titles for this specific project.Note: This is in addition to the client-level keywords in
config/clients.yaml.Example:Whether to sync Asana tasks for this project.Example:
Asana project GID to sync tasks from (if
sync_enabled is true).Where to get it: Asana project URL contains the GIDExample: 1234567890Example: Complete Client Setup
Here’s a complete example for a fictional client “Initech”:Testing Your Client Configuration
After configuring clients:Verify folder structure
Check that all folders exist:You should see:
client.yamlbitacora.mdprojects/directory- At least one project with
project.yamlandmatches.yaml
Test keyword matching
Create a test calendar event with a client keyword in the title, then run:Verify that:
- The event is identified as a client meeting
- Client context (bitácora) is displayed
- Project information is shown
Troubleshooting
Calendar events not matching clients
Calendar events not matching clients
Possible causes:
- Keywords in
config/clients.yamldon’t match event titles - Client folder name doesn’t match the key in
clients.yaml - Event title uses abbreviation not listed in keywords
- Check event titles in your calendar
- Add more keyword variations to
config/clients.yaml - Verify folder names match exactly (case-sensitive for folders)
Client context not loading
Client context not loading
Possible causes:
client.yamlmissing or invalidbitacora.mddoesn’t exist- Folder structure incorrect
- Verify all required files exist:
context/clients/[client]/client.yamlcontext/clients/[client]/bitacora.md
- Check YAML syntax is valid
- Ensure folder names match configuration
YAML parsing errors
YAML parsing errors
Possible causes:
- Invalid YAML syntax (wrong indentation, missing colons, etc.)
- Special characters not quoted
- Use a YAML validator to check syntax
- Quote strings with special characters:
- Use consistent indentation (2 spaces recommended)
Project not appearing for client
Project not appearing for client
Possible causes:
- Project folder not in
context/clients/[client]/projects/ project.yamlmissing or invalid- Folder name mismatch with
idinproject.yaml
- Verify project folder location
- Check
project.yamlexists and has required fields (id,name) - Ensure folder name matches
idinproject.yaml
Best Practices
Naming Conventions
Naming Conventions
Client folder names:
- Use lowercase
- Use hyphens for spaces:
wayne-enterprises - Keep short but descriptive:
globex-corpnotthe-globex-corporation-inc
- Use lowercase
- Use hyphens for spaces:
tps-reports - Include client name if helpful:
acme-websitevs justwebsite
Keyword Strategy
Keyword Strategy
Include variations:
- Full name:
Wayne Enterprises - Shortened:
Wayne - Abbreviations:
WE - Common misspellings
- Avoid overly generic keywords that might match unrelated events
- Use multi-word phrases when needed:
acme projectnot justproject
Bitácora Maintenance
Bitácora Maintenance
Keep it current:
- Update after every client interaction
- Add entries before meetings as preparation notes
- Use consistent date format:
YYYY-MM-DD - Include meeting type in header:
## 2026-03-03 - Sprint Planning - Separate notes, decisions, and action items
- Focus on key points and decisions
- Link to detailed docs elsewhere if needed
- Archive old entries to a separate file yearly
Next Steps
Usage Guide
Learn how to run the morning routine
Meeting Tools
Prepare for and document meetings
Configuration Overview
Review all configuration options
Google Calendar Setup
Configure calendar integration