I’ve been very frustrated with meta-rules (rules for modifying Cursor rules), the lack of visibility into what rules are used, and the inability to share rules between projects in a way that I wanted to (I don’t like symlinks).
The idea started off relatively simply, a cursor rule with a “find + grep” statement to provide a list of file-paths + descriptions so Cursor could load more details from markdown files. Then I wrapped that up in a script, then I used that to help me build a tool which I then used to help me build this tool: GitHub - ofthemachine/gydnc: CLI tool for using and maintaining LLM guidance for dynamic prompt stuffing
I’ve been keeping my rules outside of my repository except this one:
# gydnc-interaction-framework
# Guidance Agent Interaction Framework
## Intent
Ensure effective guidance retrieval and creation through the gydnc CLI tool, adapting to evolving user requests throughout a session.
## Rules
### 1. Guidance Retrieval Workflow
ALWAYS follow this sequence to ensure you have comprehensive guidance:
1. **BEGIN WITH OVERVIEW:** Start EVERY session by getting a complete overview of available guidance:
```bash
# CRITICAL: Get overview of ALL available guidance entities
gydnc list
```
This step is NON-OPTIONAL. You must begin by understanding what guidance is available.
2. **FETCH DETAILED GUIDANCE:** After identifying relevant guidance from the overview, retrieve full details:
```bash
# Get complete guidance content for multiple entities in one command
gydnc get <entity1> <entity2> <entity3>
```
3. **PREFER BATCH RETRIEVAL:** Always fetch multiple relevant guidance entities in a single command rather than separate commands.
4. **RE-FETCH AS REQUESTS EVOLVE:** When the user's request changes direction or introduces new requirements, IMMEDIATELY fetch additional relevant guidance:
```bash
# Example: When user asks about a new topic (e.g., "write a blog post")
gydnc list
gydnc get <relevant-blog-writing-guidance>
```
It is CRITICAL to adapt and fetch new guidance as the conversation progresses.
And then my CLI tool handles everything else for me, once I had this going – I created this bit of gydnc first (gydnc/.gydnc/gydnc/process/cursor-rules-to-gydnc.g6e at main · ofthemachine/gydnc · GitHub) which I then used to convert all my cursor rules and other formats to a single home.
This allows me to bounce between different projects, and update my core LLM guidance centrally without worrying about “sharing rules”. Would love for some feedback, or to know if this is useful to others!
Happy for PRs or Issues/Feature-requests!