Disclaimer: This project is not officially associated with or endorsed by Cursor. It is a community-driven initiative to enhance the Cursor experience.
This project generates Cursor MDC (Markdown Cursor) rule files from a structured JSON file containing library information. It uses Exa for semantic search and LLM (Gemini) for content generation.
Clone this repository:
bash
git clone https://github.com/sanjeed5/awesome-cursor-rules-mdc.git
cd awesome-cursor-rules-mdc
Install dependencies using uv:
bash
uv sync
Set up environment variables:
Create a .env file in the project root with your API keys (see .env.example):
EXA_API_KEY=your_exa_api_key
GEMINI_API_KEY=your_google_gemini_api_key # For Gemini
# Or use one of these depending on your LLM choice:
# OPENAI_API_KEY=your_openai_api_key
# ANTHROPIC_API_KEY=your_anthropic_api_key
Run the generator script with:
uv run src/generate_mdc_files.py
By default, the script will only process libraries that failed in previous runs.
--test: Run in test mode (process only one library)--tag TAG: Process only libraries with a specific tag--library LIBRARY: Process only a specific library--output OUTPUT_DIR: Specify output directory for MDC files--verbose: Enable verbose logging--workers N: Set number of parallel workers--rate-limit N: Set API rate limit calls per minute--regenerate-all: Process all libraries, including previously completed ones# Process failed libraries (default behavior)
uv run src/generate_mdc_files.py
# Regenerate all libraries
uv run src/generate_mdc_files.py --regenerate-all
# Process only Python libraries
uv run src/generate_mdc_files.py --tag python
# Process a specific library
uv run src/generate_mdc_files.py --library react
Adding support for new libraries is simple:
Add a new entry to the libraries array:
json
{
"name": "your-library-name",
"tags": ["relevant-tag1", "relevant-tag2"]
}
Generate the MDC files:
bash
uv run src/generate_mdc_files.pyThe script automatically detects and processes new libraries
Contribute back:
The script uses a config.yaml file for configuration. You can modify this file to adjust:
.
├── src/ # Main source code directory
│ ├── generate_mdc_files.py # Main generator script
│ ├── config.yaml # Configuration file
│ ├── mdc-instructions.txt # Instructions for MDC generation
│ ├── logs/ # Log files directory
│ └── exa_results/ # Directory for Exa search results
├── rules-mdc/ # Output directory for generated MDC files
├── rules.json # Input file with library information
├── pyproject.toml # Project dependencies and metadata
├── .env.example # Example environment variables
└── LICENSE # MIT License
$ claude mcp add awesome-cursor-rules-mdc \
-- python -m otcore.mcp_server <graph>