| name | aif-rules |
| description | Add project-specific rules and conventions to .ai-factory/RULES.md. Each invocation appends new rules. These rules are automatically loaded by $aif-implement before execution. Use when user says "add rule", "remember this", "convention", or "always do X". |
| argument-hint | [rule text or topic] |
| allowed-tools | Read Write Edit Glob Grep AskUserQuestion Questions |
| disable-model-invocation | true |
AI Factory Rules - Project Conventions
Add short, actionable rules and conventions for the current project. Rules are saved to .ai-factory/RULES.md and automatically loaded by $aif-implement before task execution.
Workflow
Step 1: Determine Mode
Check $ARGUMENTS:
├── Has text? → Mode A: Direct add
└── No arguments? → Mode B: Interactive
Mode A: Direct Add
User provided rule text as argument:
$aif-rules Always use DTO classes instead of arrays
→ Skip to Step 2 with the provided text as the rule.
Mode B: Interactive
No arguments provided:
$aif-rules
→ Ask via AskUserQuestion:
What rule or convention would you like to add?
Examples:
- Always use DTO classes instead of arrays for data transfer
- Routes must use kebab-case
- All database queries go through repository classes
- Never use raw SQL, always use the query builder
- Log every external API call with request/response
> ___
Step 2: Read or Create RULES.md
Check if .ai-factory/RULES.md exists:
Glob: .ai-factory/RULES.md
If file does NOT exist → create it with the header and first rule:
# Project Rules
> Short, actionable rules and conventions for this project. Loaded automatically by $aif-implement.
## Rules
- [new rule here]
If file exists → read it, then append the new rule at the end of the rules list.
Step 3: Write Rule
Use Edit to append the new rule as a - list item at the end of the ## Rules section.
Formatting rules:
- Each rule is a single
- line
- Keep rules short and actionable (one sentence)
- No categories, headers, or sub-lists — flat list only
- No duplicates — if rule already exists (same meaning), tell user and skip
- If user provides multiple rules at once (separated by newlines or semicolons), add each as a separate line
Step 4: Confirm
✅ Rule added to .ai-factory/RULES.md:
- [the rule]
Total rules: [count]
Rules
- One rule per line — flat list, no nesting
- No categories — keep it simple, no headers inside the rules section
- No duplicates — check for existing rules with the same meaning before adding
- Actionable language — rules should be clear directives ("Always...", "Never...", "Use...", "Routes must...")
- RULES.md location — always
.ai-factory/RULES.md, create .ai-factory/ directory if needed