Add or update a rule with automatic placement (critical in CLAUDE.md or context file)
Adds rules with automatic placement to CLAUDE.md or domain-specific context files.
/plugin marketplace add FrancisVarga/coconut-claude-code-plugins/plugin install coconut-rules@coconut-claude-code-plugins[rule description or content]If the user passes --help as an argument, display this help and stop:
/coconut-rules:add-rule - Add Rule with Smart Placement
DESCRIPTION
Add or update a rule with intelligent placement. Critical rules
go in CLAUDE.md, domain-specific rules go in context files.
USAGE
/coconut-rules:add-rule [rule description]
/coconut-rules:add-rule --help
ARGUMENTS
[rule description] The rule to add. If omitted, prompts for input.
PLACEMENT LOGIC
Critical → CLAUDE.md:
- Security fundamentals (secrets, auth, input sanitization)
- Git workflow (branching, commits)
- Universal conventions (80%+ of tasks)
- Safety-critical "never do" rules
Context → .claude/rules/[domain].md:
- Language-specific (Python, TypeScript)
- Framework-specific (React, FastAPI)
- Tool-specific (Docker, Terraform)
- Patterns with examples
EXAMPLES
# Security rule → goes to CLAUDE.md
/coconut-rules:add-rule "Never log passwords or sensitive data"
# Python pattern → goes to .claude/rules/python.md
/coconut-rules:add-rule "Use Pydantic models for API validation"
# New domain → creates .claude/rules/terraform.md
/coconut-rules:add-rule "Use Terraform modules for reusable infra"
CONTEXT DOMAINS
python.md - Python, FastAPI, Pydantic
typescript.md - TypeScript, React, Next.js
docker.md - Docker, containers
security.md - Detailed auth patterns
database.md - SQL, migrations
[custom].md - Any custom domain
Add or update a rule with intelligent placement based on rule characteristics.
Rules that go directly in CLAUDE.md:
Rules that go in context files:
python.md - Python, FastAPI, Pydantictypescript.md - TypeScript, React, Next.jsdocker.md - Docker, containerssecurity.md - Detailed auth patternsdatabase.md - SQL, migrations[custom].md - User-specified domain.claude/rules/If provided in arguments, use that. Otherwise ask:
Ask yourself:
# Check existing structure
ls -la .claude/ 2>/dev/null || echo "No .claude directory"
ls -la .claude/rules/ 2>/dev/null || echo "No coconut rules directory"
Use Glob to find existing context files:
.claude/rules/*.mdIf placing in CLAUDE.md:
## Critical Rules section### Security - Security rules### Git Workflow - Git/version control rules### Conventions - General coding conventionsKeep it brief - no examples, just actionable statements.
If placing in context file:
.claude/rules/ if needed.claude/rules/[domain].md# [Domain] Context
Rules for [domain] development in this project.
## Key Patterns
- [The rule being added]
## Examples
### Recommended
```[language]
// Good example
```
### Avoid
```[language]
// What to avoid
```
If adding a new context file, update the context table in CLAUDE.md:
## Context (Read When Relevant)
| Working On | Read |
|------------|------|
| Python/FastAPI | `.claude/rules/python.md` |
| [New domain] | `.claude/rules/[new].md` | ← Add this row
User: /add-rule Never log sensitive user data or passwords
Classification: Critical (security, universal)
Action: Add to CLAUDE.md under ### Security
## Critical Rules
### Security
- Never commit secrets, API keys, or credentials
- Never log sensitive user data or passwords ← Added
User: /add-rule Always use Pydantic models for API request/response validation
Classification: Context (Python/FastAPI specific)
Action: Add to .claude/rules/python.md
# Python Context
## Key Patterns
- Always use Pydantic models for API request/response validation
## Examples
### Recommended
```python
from pydantic import BaseModel
class UserCreate(BaseModel):
email: str
password: str
```
User: /add-rule Use Terraform modules for reusable infrastructure
Classification: Context (Terraform/IaC specific)
Action:
.claude/rules/terraform.md.claude/rules/