What is a Family?
A family in CareSupport is:- A care recipient (the person receiving care)
- A care team (family members, caregivers, providers)
- Routing configuration (phone numbers → members → roles → access levels)
- Operational data (schedules, medications, notes)
- Conversation history
$CARESUPPORT_ROOT/families/.
Family Directory Structure
Step-by-Step Setup
Create family directory
Choose a unique family ID (lowercase, no spaces). This becomes the directory name:
Family IDs should be memorable but not personally identifiable. Use nicknames, initials, or codes — not full names.
Create routing.json
This file maps phone numbers to family members and defines their access levels:
routing.json
Phone Number Format
Access Levels
| Level | Can See | Use For |
|---|---|---|
full | Everything | Primary caregivers, coordinators |
schedule+meds | Schedule, medications, urgent notes | Secondary caregivers, family |
schedule | Schedule and urgent notes only | Community helpers, drivers |
provider | Medical info, meds, care team | Healthcare providers |
limited | Minimal context | Extended family, occasional helpers |
Roles
primary_caregiver— Main coordinator, approves care changesfamily_caregiver— Family member involved in carepaid_caregiver— Professional caregiver or aidecommunity_supporter— Volunteer, neighbor, friendprovider— Doctor, nurse, therapistagency— Home care agency, case manager
Create family.md
This is the primary context file loaded for every message. Use the template from Then edit with your family’s information:
fork/workspace/families/template/family.md:family.md
The
family.md file uses markdown for human readability. The agent reads this file on every message to understand the current care context.Optional: Create member profiles
For families with complex relationships or specific member context:Create individual profiles:
members/liban.md
Test phone resolution
Verify CareSupport can resolve phone numbers to family members:You should see:
Understanding Access Control
Access levels determine what each member can see fromfamily.md:
- full
- schedule+meds
- schedule
- limited
Sees everything:
- Care recipient details
- Full care team
- Schedule, medications
- Insurance, financial notes
- All conversations
- Emergency protocols
- Medication changes
- New member additions
- Care plan updates
Real-World Example: The Kano Family
Here’s a complete working example from the CareSupport codebase:Scenario
- Care Recipient: Degitu (66, post-surgery recovery)
- Primary Caregiver: Liban (nephew, works full-time)
- Secondary: Roman (sister), Solan and Yada (brothers), Amanti (community helper)
- Challenge: Coordinating daily rides to/from work while Degitu can’t drive
Files
Usage
Liban sends:“Can Amanti take auntie to work tomorrow morning?”CareSupport:
- Resolves +16517037981 → Liban (full access)
- Loads family.md context
- Sees Amanti in care team with schedule access
- Generates response:
“I’ll check with Amanti about tomorrow morning’s ride to work. Degitu needs to be there by 8am, so pickup around 7:30am.”Then messages Amanti (+19522157878) with schedule-filtered context.
Next Steps
Add Team Members
Add or remove care team members
Set Up Schedules
Create weekly schedules and routines
Configure Medications
Track active medications and refills
Start Coordinating
Begin coordinating with your care team
Common Questions
Can one phone number be in multiple families?
Can one phone number be in multiple families?
Yes. A caregiver can be part of multiple families (e.g., caring for both parents). The system resolves to the correct family based on conversation context or explicit family ID.
What happens if someone texts from an unknown number?
What happens if someone texts from an unknown number?
Unknown numbers are not routed to any family. You can either:
- Add them to
routing.jsonwith appropriate access level - Create a new family for them
- Ignore (no response sent)
Can I change access levels later?
Can I change access levels later?
Yes. Edit
routing.json and update the access_level field. Changes take effect immediately on the next message.What's the difference between routing.json and family.md?
What's the difference between routing.json and family.md?
- routing.json — WHO can message (phone → member mapping, access control)
- family.md — WHAT they’re coordinating (care context, schedules, notes)
routing.json is for authentication/authorization. family.md is operational data.Do I need to create schedule.md and medications.md?
Do I need to create schedule.md and medications.md?
No. These are optional. You can put everything in
family.md initially. As the family grows, you can split into separate files:schedule.md— Weekly schedules, recurring appointmentsmedications.md— Active medications, refill trackingmembers/— Individual member profiles
What is 'cold start'?
What is 'cold start'?
Cold start means the family file starts nearly empty — just names and phone numbers. The CareSupport agent learns everything through conversation:
- Schedules are added when someone mentions them
- Medications are recorded when discussed
- Relationships emerge from context