Managing separate AI rule files for different systems? mq
can generate them from one master file.
The Problem
Each AI system needs its own rule file. Managing multiple separate Markdown files gets messy quickly.
Simple Solution
Keep all AI rules in one master file, then generate individual files:
$ mq 'nodes | sections(2) | filter(fn(section): let head = first(section) | contains(head, "Claude Rules");) | first() | map(decrease_header_level) | to_markdown_string()' master-ai-rules.md > claude-rules.md
Generate Multiple AI Rule Files
# Extract different AI system rules from one master file
$ mq 'nodes | sections(2) | filter(fn(s): contains(first(s), "GPT Rules")) | first() | map(decrease_header_level) | to_markdown_string()' master-ai-rules.md > gpt-rules.md
$ mq 'nodes | sections(2) | filter(fn(s): contains(first(s), "Gemini Rules")) | first() | map(decrease_header_level) | to_markdown_string()' master-ai-rules.md > gemini-rules.md
$ mq 'nodes | sections(2) | filter(fn(s): contains(first(s), "Claude Rules")) | first() | map(decrease_header_level) | to_markdown_string()' master-ai-rules.md > claude-rules.md
Why This Approach Works
- Single source of truth: All AI rules in one master file
- Easy maintenance: Update rules in one place
- Automatic generation: Create individual files with one script
- Version control friendly: Track changes in one file
- No vendor lock-in: Generated files are plain Markdown, work anywhere
Try It
$ brew install harehare/tap/mq
$ mq 'nodes | sections(2) | filter(fn(s): contains(first(s), "Claude Rules")) | first() | map(decrease_header_level) | to_markdown_string()' master-ai-rules.md > claude-rules.md
Now you can manage all AI rules in one file and generate individual rule files as needed!
Support
- 🐛 Report bugs
- 💡 Request features
- ⭐ Star the project if you find it useful!
Top comments (0)