MDC Rules Generator

更新:2026-07-14

说明

# MDC Rules Generator

> **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.

[![Star History Chart](https://api.star-history.com/svg?repos=sanjeed5/awesome-cursor-rules-mdc&type=Date)](https://www.star-history.com/#sanjeed5/awesome-cursor-rules-mdc&Date)

## Features

- Generates comprehensive MDC rule files for libraries - Uses Exa for semantic web search to gather best practices - Leverages LLM to create detailed, structured content - Supports parallel processing for efficiency - Tracks progress to allow resuming interrupted runs - Smart retry system that focuses on failed libraries by default

## Prerequisites

- Python 3.8+ - [uv](https://github.com/astral-sh/uv) for dependency management - API keys for: - Exa (for semantic search) - LLM provider (Gemini, OpenAI, or Anthropic)

## Installation

1. Clone this repository: ```bash git clone https://github.com/sanjeed5/awesome-cursor-rules-mdc.git cd awesome-cursor-rules-mdc ```

2. Install dependencies using uv: ```bash uv sync ```

3. 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 ```

## Usage

Run the generator script with:

```bash uv run src/generate_mdc_files.py ```

By default, the script will only process libraries that failed in previous runs.

### Command-line Options

- `--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

### Examples

```bash # 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 New Rules

Adding support for new libraries is simple:

1. **Edit the rules.json file**: - Add a new entry to the `libraries` array: ```json { "name": "your-library-name", "tags": ["relevant-tag1", "relevant-tag2"] } ```

2. **Generate the MDC files**: - Run the generator script: ```bash uv run src/generate_mdc_files.py ``` - The script automatically detects and processes new libraries

3. **Contribute back**: - Test your new rules with real projects - Consider raising a PR to contribute your additions back to the community

## Configuration

The script uses a `config.yaml` file for configuration. You can modify this file to adjust:

- API rate limits - Output directories - LLM model selection - Processing parameters

## Project Structure

``` . ├── 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 ```

## License

[MIT License](LICENSE)

来源

https://github.com/sanjeed5/awesome-cursor-rules-mdc/blob/main/README.md

← 返回全部 Skill