К основному содержанию
правило

python-github-setup-cursorrules-prompt-file — правило для Cursor

Задаёт Cursor единый стиль Python-кода, тесты, ревью через GitHub Pull Requests и CI на GitHub Actions. Пригодится, когда в команде нет общего свода правил.

Установить в Cursor · Вручную: положить файлы Все способы и платформы ↓
.cursor/rules/python-github-setup-cursorrules-prompt-file.mdc
Открыть на GitHub

Что делает python-github-setup-cursorrules-prompt-file

Правило описывает, как Cursor должен писать и проверять Python-код в вашем проекте. Внутри — набор требований: отступ в 4 пробела, длина строки до 120 знаков, обязательные комментарии и докстринги в стиле Google Python Style Guide. Имена переменных и функций — snake_case, классов — PascalCase.

Отдельно прописаны процессы. Тесты обязательны, целевое покрытие — 80%, типы — unit и integration, фреймворк pytest. Ревью идёт через GitHub Pull Requests, ветвление — GitHub Flow, сообщения коммитов — Conventional Commits. Форматирование на Black, линтинг на Pylint по PEP 8. CI настроен на GitHub Actions с конфигом .github/workflows/main.yml.

Есть и привязка к конкретному проекту: правило описывает Python-инструмент для организации файлов с анализом содержимого через ИИ. Среди библиотек названы watchdog, spacy, PyPDF2, python-docx, pandas, transformers, torch и scikit-learn. Если ваш проект устроен иначе, эти пункты придётся переписать — иначе Cursor будет тянуть чужие зависимости в подсказки. Секреты хранятся в переменных окружения, конфиг — в .env через python-dotenv.

Какие задачи решает

  • задать единый стиль Python-кода для всей команды
  • прописать обязательные тесты и целевое покрытие
  • настроить ревью через GitHub Pull Requests
  • зафиксировать формат коммитов и стратегию ветвления
  • описать работу с секретами через переменные окружения

Примеры запросов агенту

  • Добавь новый модуль для классификации документов по правилам проекта
  • Проверь этот файл на соответствие PEP 8 и нашим правилам именования
  • Настрой GitHub Actions workflow по нашему конфигу

Как установить python-github-setup-cursorrules-prompt-file

Вручную: положить файлы

.cursor/rules/python-github-setup-cursorrules-prompt-file.mdc

Во frontmatter: description, globs, alwaysApply

По шагам, с командами для каждой платформы: Cursor rules: файлы .mdc, четыре режима и замена .cursorrules

Из того же набора68

react-native-expo-cursorrules-prompt-file Правило для Cursor, которое задаёт агенту стек и структуру проекта на React Native с Expo. Пригодится, когда нужно, чтобы код в проекте писался единообразно. ★ 41 011звёзд репо rails-cursorrules-prompt-file Правило для Cursor, которое задаёт агенту стиль разработки на Rails 8: генераторы, bin/dev, Solid-стек, Minitest и Hotwire. ★ 41 011звёзд репо qwik-basic-cursorrules-prompt-file Правило Cursor, которое задаёт агенту соглашения Qwik: ленивые функции с суффиксом $, сигналы, задачи и структура проекта на TypeScript и Vite. ★ 41 011звёзд репо python Правило Cursor задаёт структуру проекта, стиль кода и типовые решения для Python с Flask и SQLite. Пригодится, когда агент пишет код в вашем репозитории. ★ 41 011звёзд репо python-fastapi-best-practices-cursorrules-prompt-f Правило Cursor, которое задаёт агенту стиль кода для Python и FastAPI: функциональный подход, Pydantic v2, async-операции. ★ 41 011звёзд репо python-cursorrules-prompt-file-best-practices Правило Cursor, которое заставляет ИИ писать Python с аннотациями типов, докстрингами и тестами на pytest. ★ 41 011звёзд репо pyspark-etl-best-practices-cursorrules-prompt-file Правило для Cursor, которое задаёт стиль PySpark-кода: F.col(), явные joins, select вместо withColumn и работа с Iceberg. ★ 41 011звёзд репо project-epic-template-cursorrules-prompt-file Правило превращает Cursor в продакт-менеджера: агент пишет эпики и пользовательские истории по шаблону с критериями приёмки и метриками. ★ 41 011звёзд репо

Похожие

cyrus-setup-github cyrusagents Скилл настраивает gh CLI и git, чтобы Cyrus создавал ветки, коммиты и пул-реквесты, а по желанию — отвечал на @упоминания в комментариях. CX Codex +1 1 000установок github openclaw Скилл учит агента работать с GitHub через gh: смотреть пул-реквесты, читать логи CI, писать комментарии и запрашивать API. CX Codex +1 6 100установок github-workflow-automation sickn33 Скилл с шаблонами для GitHub: ИИ-ревью пул-реквестов, triage ишью, GitHub Actions и git-операции. Пригодится, когда workflow только предстоит написать. CX Codex +1 1 500установок github-workflow Mindrally Набор правил по работе с GitHub: как оформлять пул-реквесты, вести ревью, писать workflow для Actions и настраивать защиту веток. Пригодится, когда агент правит репозиторий. CX Codex +1 780установок github-research lingzhi227 Скилл анализирует репозитории на GitHub под научную или техническую тему, изучает код и готовит план его переиспользования. Пригодится при поиске готовых реализаций алгоритмов. CX Codex +1 1 800установок read-github am-will Даёт агенту доступ к документации и коду любого GitHub-репозитория через MCP-сервис gitmcp.io. Пригодится, когда нужно разобраться в чужом проекте, не клонируя его. CX Codex +1 1 200установок

Рядом в теме «Языки программирования»

Все правила IDE по теме «Языки программирования» →

Вопросы о python-github-setup-cursorrules-prompt-file

Как установить python-github-setup-cursorrules-prompt-file в Cursor?

Создайте файл .cursor/rules/python-github-setup-cursorrules-prompt-file.mdc в корне проекта и вставьте в него содержимое правила.

Что делает это правило?

Описывает стандарты Python-разработки для Cursor: стиль кода, именование, тесты, ревью, CI и работу с секретами.

Какие инструменты предполагает правило?

Black для форматирования, Pylint для линтинга, pytest для тестов, GitHub Actions для CI и python-dotenv для конфигурации.

Исходный текст

python-github-setup-cursorrules-prompt-file.mdc · CC0-1.0
---
description: "Cursor rules for Python development with GitHub setup integration."
globs: **/*
alwaysApply: false
---
{
    "general": {
        "coding_style": {
            "language": "Python",
            "use_strict": true,
            "indentation": "4 spaces",
            "max_line_length": 120,
            "comments": {
                "style": "# for single-line, ''' for multi-line",
                "require_comments": true
            }
        },
        
        "naming_conventions": {
            "variables": "snake_case",
            "functions": "snake_case",
            "classes": "PascalCase",
            "interfaces": "PascalCase",
            "files": "snake_case"
        },
        
        "error_handling": {
            "prefer_try_catch": true,
            "log_errors": true
        },
        
        "testing": {
            "require_tests": true,
            "test_coverage": "80%",
            "test_types": ["unit", "integration"]
        },
        
        "documentation": {
            "require_docs": true,
            "doc_tool": "docstrings",
            "style_guide": "Google Python Style Guide"
        },
        
        "security": {
            "require_https": true,
            "sanitize_inputs": true,
            "validate_inputs": true,
            "use_env_vars": true
        },
        
        "configuration_management": {
            "config_files": [".env"],
            "env_management": "python-dotenv",
            "secrets_management": "environment variables"
        },
        
        "code_review": {
            "require_reviews": true,
            "review_tool": "GitHub Pull Requests",
            "review_criteria": ["functionality", "code quality", "security"]
        },
        
        "version_control": {
            "system": "Git",
            "branching_strategy": "GitHub Flow",
            "commit_message_format": "Conventional Commits"
        },
        
        "logging": {
            "logging_tool": "Python logging module",
            "log_levels": ["debug", "info", "warn", "error"],
            "log_retention_policy": "7 days"
        },
        
        "monitoring": {
            "monitoring_tool": "Not specified",
            "metrics": ["file processing time", "classification accuracy", "error rate"]
        },
        
        "dependency_management": {
            "package_manager": "pip",
            "versioning_strategy": "Semantic Versioning"
        },
        
        "accessibility": {
            "standards": ["Not applicable"],
            "testing_tools": ["Not applicable"]
        },
        
        "internationalization": {
            "i18n_tool": "Not applicable",
            "supported_languages": ["English"],
            "default_language": "English"
        },
        
        "ci_cd": {
            "ci_tool": "GitHub Actions",
            "cd_tool": "Not specified",
            "pipeline_configuration": ".github/workflows/main.yml"
        },
        
        "code_formatting": {
            "formatter": "Black",
            "linting_tool": "Pylint",
            "rules": ["PEP 8", "project-specific rules"]
        },
        
        "architecture": {
            "patterns": ["Modular design"],
            "principles": ["Single Responsibility", "DRY"]
        }
    },
    
    "project_specific": {
        "use_framework": "None",
        "styling": "Not applicable",
        "testing_framework": "pytest",
        "build_tool": "setuptools",
        
        "deployment": {
            "environment": "Local machine",
            "automation": "Not specified",
            "strategy": "Manual deployment"
        },
        
        "performance": {
            "benchmarking_tool": "Not specified",
            "performance_goals": {
                "response_time": "< 5 seconds per file",
                "throughput": "Not specified",
                "error_rate": "< 1%"
            }
        }
    },
    
    "context": {
        "codebase_overview": "Python-based file organization tool using AI for content analysis and classification",
        "libraries": [
            "watchdog", "spacy", "PyPDF2", "python-docx", "pandas", "beautifulsoup4", 
            "transformers", "scikit-learn", "joblib", "python-dotenv", "torch", "pytest", 
            "shutil", "logging", "pytest-mock"
        ],
        
        "coding_practices": {
            "modularity": true,
            "DRY_principle": true,
            "performance_optimization": true
        }
    },
    
    "behavior": {
        "verbosity": {
            "level": 2,
            "range": [0, 3]
        },
        "handle_incomplete_tasks": "Provide partial solution and explain limitations",
        "ask_for_clarification": true,
        "communication_tone": "Professional and concise"
    }
}

© PatrickJS · CC0-1.0 · PatrickJS/awesome-cursorrules

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой