Manage CARL domains and rules. Auto-activates when user says "make this a rule", "add this to CARL", "create a domain for X", mentions modifying .carl files, or asks which domain something belongs in.
Help users create and manage CARL domains and rules through natural conversation.
Parse user intent first:
| User says | Action |
|---|---|
| "make this a rule" | Suggest domain -> add rule |
| "add rule to X" | Add rule to domain X |
| "create domain" | Create domain + manifest |
| "what domain for X" | Read SUGGEST-DOMAIN.md |
| "edit rule" | Find and edit rule |
| "toggle X" | Update manifest state |
| "add a star-command" | Add to COMMANDS domain |
./.carl/ (current workspace)~/.carl/ (user home).carl/manifest# {DOMAIN} Domain Rules
{DOMAIN}_RULE_0=First rule
{DOMAIN}_RULE_1=Second rule
{DOMAIN}_STATE=active
{DOMAIN}_RECALL=keyword1, keyword2
{DOMAIN}_EXCLUDE=
{DOMAIN}_ALWAYS_ON=false
.carl/{domain} (lowercase filename)See SUGGEST-DOMAIN.md for domain categorization logic.
.carl/commandsBe direct. Show exact changes:
Adding to DEVELOPMENT domain:
.carl/development:
+ DEVELOPMENT_RULE_5=Always use TypeScript strict mode
Done. Rule added at index 5.
| File | Purpose |
|---|---|
| DOMAIN-GUIDE.md | Domain structure, naming conventions |
| MANIFEST-REFERENCE.md | All manifest fields explained |
| CONTEXT-RULES.md | CONTEXT bracket system (FRESH/MODERATE/DEPLETED) |
| COMMANDS-GUIDE.md | Star-command format and examples |
| SUGGEST-DOMAIN.md | Logic for suggesting domain placement |
.carl files= with no spaces