Руководство по внесению вклада: Как внести конфигурации, агентов и навыки в проект
Что вы сможете делать после изучения
- Понимать процесс и стандарты внесения вклада в проект
- Правильно отправлять конфигурации Agents, Skills, Commands, Hooks, Rules и MCP
- Следовать стилю кода и соглашениям об именовании
- Избегать распространенных ошибок при внесении вклада
- Эффективно сотрудничать с сообществом через Pull Request
Ваша текущая ситуация
Вы хотите внести вклад в Everything Claude Code, но сталкиваетесь с этими проблемами:
- "Не знаю, какой контент будет ценным"
- "Не знаю, как начать свой первый PR"
- "Не понимаю форматы файлов и соглашения об именовании"
- "Беспокоюсь, что отправленный контент не соответствует требованиям"
Это руководство даст вам полное руководство по внесению вклада, от концепции до практики.
Основная идея
Everything Claude Code — это ресурс сообщества, а не проект одного человека. Ценность этого репозитория заключается в:
- Проверка на практике - Все конфигурации использовались в производственной среде более 10 месяцев
- Модульный дизайн - Каждый Agent, Skill, Command — это независимый многоразовый компонент
- Приоритет качества - Проверка кода и аудит безопасности обеспечивают качество вклада
- Открытое сотрудничество - Лицензия MIT, поощряется вклад и настройка
Почему вклад ценен
- Обмен знаниями: Ваш опыт может помочь другим разработчикам
- Влияние: Конфигурации, используемые сотнями/тысячами людей
- Развитие навыков: Изучение структуры проекта и сотрудничества в сообществе
- Построение сети: Связь с сообществом Anthropic и Claude Code
Что мы ищем
Agents
Специализированные субагенты, обрабатывающие сложные задачи в конкретных областях:
| Тип | Примеры |
|---|---|
| Языковые эксперты | Проверка кода Python, Go, Rust |
| Эксперты по фреймворкам | Django, Rails, Laravel, Spring |
| DevOps эксперты | Kubernetes, Terraform, CI/CD |
| Доменные эксперты | ML pipelines, data engineering, mobile |
Skills
Определения рабочих процессов и базы знаний предметной области:
| Тип | Примеры |
|---|---|
| Лучшие практики языков | Стандарты кодирования Python, Go, Rust |
| Паттерны фреймворков | Архитектурные паттерны Django, Rails, Laravel |
| Стратегии тестирования | Модульное тестирование, интеграционное тестирование, E2E тестирование |
| Архитектурные руководства | Микросервисы, событийно-ориентированная архитектура, CQRS |
| Доменные знания | ML, анализ данных, мобильная разработка |
Commands
Slash-команды, обеспечивающие быстрый доступ к рабочим процессам:
| Тип | Примеры |
|---|---|
| Команды развертывания | Развертывание на Vercel, Railway, AWS |
| Команды тестирования | Запуск модульных тестов, E2E тестов, анализ покрытия |
| Команды документации | Генерация API документации, обновление README |
| Команды генерации кода | Генерация типов, генерация CRUD шаблонов |
Hooks
Автоматические хуки, срабатывающие при определенных событиях:
| Тип | Примеры |
|---|---|
| Linting/formatting | Форматирование кода, проверка lint |
| Проверки безопасности | Обнаружение конфиденциальных данных, сканирование уязвимостей |
| Хуки валидации | Валидация Git commit, проверка PR |
| Хуки уведомлений | Уведомления Slack/Email |
Rules
Обязательные правила, обеспечивающие качество кода и стандарты безопасности:
| Тип | Примеры |
|---|---|
| Правила безопасности | Запрет жестко закодированных ключей, проверки OWASP |
| Стиль кода | Неизменяемые паттерны, ограничения размера файлов |
| Требования к тестированию | Покрытие 80%+, процесс TDD |
| Соглашения об именовании | Именование переменных, именование файлов |
MCP Configurations
Конфигурации MCP-серверов, расширяющие интеграцию с внешними сервисами:
| Тип | Примеры |
|---|---|
| Интеграция баз данных | PostgreSQL, MongoDB, ClickHouse |
| Облачные провайдеры | AWS, GCP, Azure |
| Инструменты мониторинга | Datadog, New Relic, Sentry |
| Инструменты коммуникации | Slack, Discord, Email |
Как внести вклад
Шаг 1: Форк проекта
Зачем: Вам нужна собственная копия для внесения изменений, не затрагивая оригинальный репозиторий.
# 1. Перейдите на https://github.com/affaan-m/everything-claude-code
# 2. Нажмите кнопку "Fork" в правом верхнем углу
# 3. Клонируйте свой форк
git clone https://github.com/YOUR_USERNAME/everything-claude-code.git
cd everything-claude-code
# 4. Добавьте upstream репозиторий (для последующей синхронизации)
git remote add upstream https://github.com/affaan-m/everything-claude-code.gitВы должны увидеть: Локальную директорию everything-claude-code с полными файлами проекта.
Шаг 2: Создание функциональной ветки
Зачем: Ветка изолирует ваши изменения, упрощая управление и слияние.
# Создайте описательное имя ветки
git checkout -b add-python-reviewer
# Или используйте более конкретное именование
git checkout -b feature/django-pattern-skill
git checkout -b fix/hook-tmux-reminderСоглашения об именовании веток:
feature/- Новая функциональностьfix/- Исправление ошибокdocs/- Обновление документацииrefactor/- Рефакторинг кода
Шаг 3: Добавление вашего вклада
Зачем: Размещение файлов в правильной директории обеспечивает корректную загрузку Claude Code.
# Выберите директорию в зависимости от типа вклада
agents/ # Новый Agent
skills/ # Новый Skill (может быть одним .md или директорией)
commands/ # Новая slash-команда
rules/ # Новый файл правил
hooks/ # Конфигурация Hook (изменение hooks/hooks.json)
mcp-configs/ # Конфигурация MCP-сервера (изменение mcp-configs/mcp-servers.json)Структура директорий
- Один файл: Размещайте непосредственно в директории, например
agents/python-reviewer.md - Сложный компонент: Создайте поддиректорию, например
skills/coding-standards/(содержит несколько файлов)
Шаг 4: Соблюдение стандартов форматирования
Формат Agent
Зачем: Front Matter определяет метаданные Agent, Claude Code полагается на эту информацию для загрузки Agent.
---
name: python-reviewer
description: Reviews Python code for PEP 8 compliance, type hints, and best practices
tools: Read, Grep, Glob, Bash, Write, Edit
model: sonnet
---
You are a senior Python code reviewer...
Your review should cover:
- PEP 8 style compliance
- Type hints usage
- Docstring completeness
- Security best practices
- Performance optimizationsОбязательные поля:
name: Идентификатор Agent (строчные буквы с дефисами)description: Описание функциональностиtools: Список разрешенных инструментов (через запятую)model: Предпочтительная модель (opusилиsonnet)
Формат Skill
Зачем: Четкое определение Skill упрощает повторное использование и понимание.
# Python Best Practices
## When to Use
Use this skill when:
- Writing new Python code
- Reviewing Python code
- Refactoring Python modules
## How It Works
Follow these principles:
1. **Type Hints**: Always include type hints for function parameters and return values
2. **Docstrings**: Use Google style docstrings for all public functions
3. **PEP 8**: Follow PEP 8 style guide
4. **Immutability**: Prefer immutable data structures
## Examples
### Good
```python
def process_user_data(user_id: str) -> dict:
"""Process user data and return result.
Args:
user_id: The user ID to process
Returns:
A dictionary with processed data
"""
user_data = fetch_user(user_id)
return transform_data(user_data)Bad
def process_user_data(user_id):
user_data = fetch_user(user_id)
return transform_data(user_data)
**Рекомендуемые разделы**:
- `When to Use`: Сценарии использования
- `How It Works`: Принцип работы
- `Examples`: Примеры (Good vs Bad)
- `References`: Связанные ресурсы (опционально)
#### Формат Command
**Зачем**: Четкое описание команды помогает пользователям понять функциональность.
Front Matter (обязательно):
```markdown
---
description: Run Python tests with coverage report
---Основное содержание (опционально):
# Test
Run tests for the current project:
Coverage requirements:
- Minimum 80% line coverage
- 100% coverage for critical pathsПримеры команд (опционально):
# Run all tests
pytest
# Run with coverage
pytest --cov=. --cov-report=html
# Run specific test file
pytest tests/test_user.pyОбязательные поля:
description: Краткое описание функциональности
Формат Hook
Зачем: Hook требует четких правил сопоставления и действий выполнения.
{
"matcher": "tool == \"Edit\" && tool_input.file_path matches \"\\\\.(py)$\"",
"hooks": [
{
"type": "command",
"command": "node -e \"console.log('Python file edited')\""
}
],
"description": "Triggered when Python files are edited"
}Обязательные поля:
matcher: Выражение условия срабатыванияhooks: Массив выполняемых действийdescription: Описание функциональности Hook
Шаг 5: Тестирование вашего вклада
Зачем: Убедиться, что конфигурация работает корректно в реальном использовании.
Важно
Перед отправкой PR обязательно протестируйте конфигурацию в вашей локальной среде.
Шаги тестирования:
# 1. Скопируйте в вашу конфигурацию Claude Code
cp agents/python-reviewer.md ~/.claude/agents/
cp skills/python-patterns/* ~/.claude/skills/
# 2. Протестируйте в Claude Code
# Запустите Claude Code и используйте новую конфигурацию
# 3. Проверьте функциональность
# - Может ли Agent быть корректно вызван?
# - Может ли Command выполниться корректно?
# - Срабатывает ли Hook в правильный момент?Вы должны увидеть: Конфигурация работает нормально в Claude Code, без ошибок или исключений.
Шаг 6: Отправка PR
Зачем: Pull Request — это стандартный способ сотрудничества в сообществе.
# Добавьте все изменения
git add .
# Коммит (используйте четкое сообщение коммита)
git commit -m "Add Python code reviewer agent
- Implements PEP 8 compliance checks
- Adds type hints validation
- Includes security best practices
- Tested on real Python projects"
# Отправьте в свой форк
git push origin add-python-reviewerЗатем создайте PR на GitHub:
- Перейдите в ваш форк репозитория
- Нажмите "Compare & pull request"
- Заполните шаблон PR:
## What you added
- [ ] Description of what you added
## Why it's useful
- [ ] Why this contribution is valuable
## How you tested it
- [ ] Testing steps you performed
## Related issues
- [ ] Link to any related issuesВы должны увидеть: PR успешно создан, ожидает проверки мейнтейнеров.
Руководящие принципы
Do (Следует делать)
✅ Сохраняйте конфигурации сфокусированными и модульными
- Каждый Agent/Skill делает только одну вещь
- Избегайте смешивания функциональности
✅ Включайте четкие описания
- Точное описание в Front Matter
- Полезные комментарии в коде
✅ Тестируйте перед отправкой
- Проверяйте конфигурацию локально
- Убедитесь в отсутствии ошибок
✅ Следуйте существующим паттернам
- Ссылайтесь на формат существующих файлов
- Поддерживайте согласованность стиля кода
✅ Документируйте зависимости
- Перечислите внешние зависимости
- Объясните требования к установке
Don't (Не следует делать)
❌ Включать конфиденциальные данные
- API keys, tokens
- Жестко закодированные пути
- Личные учетные данные
❌ Добавлять слишком сложные или нишевые конфигурации
- Приоритет универсальности
- Избегайте чрезмерного проектирования
❌ Отправлять непротестированные конфигурации
- Тестирование обязательно
- Предоставьте шаги тестирования
❌ Создавать дублирующую функциональность
- Ищите существующие конфигурации
- Избегайте изобретения велосипеда
❌ Добавлять конфигурации, зависящие от конкретных платных сервисов
- Предоставьте бесплатные альтернативы
- Или используйте инструменты с открытым исходным кодом
Соглашения об именовании файлов
Зачем: Единые соглашения об именовании делают проект более удобным в обслуживании.
Правила именования
| Правило | Пример |
|---|---|
| Используйте строчные буквы | python-reviewer.md |
| Используйте дефисы для разделения | tdd-workflow.md |
| Описательное именование | django-pattern-skill.md |
| Избегайте неясных имен | ❌ workflow.md → ✅ tdd-workflow.md |
Принципы соответствия
Имя файла должно соответствовать имени Agent/Skill/Command:
# Agent
agents/python-reviewer.md # name: python-reviewer
# Skill
skills/django-patterns/SKILL.md # # Django Patterns
# Command
commands/test.md # # TestСоветы по именованию
- Используйте отраслевую терминологию (например, "PEP 8", "TDD", "REST")
- Избегайте сокращений (если только это не стандартные сокращения)
- Сохраняйте краткость, но описательность
Контрольный список процесса внесения вклада
Перед отправкой PR убедитесь, что выполнены следующие условия:
Качество кода
- [ ] Соблюдается существующий стиль кода
- [ ] Включен необходимый Front Matter
- [ ] Есть четкие описания и документация
- [ ] Локальное тестирование пройдено
Стандарты файлов
- [ ] Имя файла соответствует соглашениям об именовании
- [ ] Файл размещен в правильной директории
- [ ] Формат JSON корректен (если применимо)
- [ ] Нет конфиденциальных данных
Качество PR
- [ ] Заголовок PR четко описывает изменения
- [ ] Описание PR включает "What", "Why", "How"
- [ ] Связаны соответствующие issue (если есть)
- [ ] Предоставлены шаги тестирования
Стандарты сообщества
- [ ] Убедитесь в отсутствии дублирующей функциональности
- [ ] Предоставьте альтернативные решения (если касается платных сервисов)
- [ ] Отвечайте на комментарии при проверке
- [ ] Поддерживайте дружелюбное и конструктивное обсуждение
Часто задаваемые вопросы
Q: Как узнать, какой вклад будет ценным?
A: Начните с ваших собственных потребностей:
- С какими проблемами вы недавно столкнулись?
- Какое решение вы использовали?
- Можно ли это решение использовать повторно?
Также можно проверить Issues проекта:
- Нерешенные feature requests
- Предложения по улучшению
- Отчеты об ошибках
Q: Может ли вклад быть отклонен?
A: Возможно, но это нормально. Распространенные причины:
- Функциональность уже существует
- Конфигурация не соответствует стандартам
- Отсутствует тестирование
- Проблемы безопасности или конфиденциальности
Мейнтейнеры предоставят подробную обратную связь, вы можете внести изменения на основе отзывов и повторно отправить.
Q: Как отслеживать статус PR?
A:
- Проверяйте статус на странице PR в GitHub
- Следите за комментариями при проверке
- Отвечайте на отзывы мейнтейнеров
- При необходимости обновляйте PR
Q: Можно ли вносить исправления ошибок?
A: Конечно! Исправления ошибок — один из самых ценных вкладов:
- Найдите или создайте новый issue в Issues
- Форкните проект и исправьте ошибку
- Добавьте тесты (если необходимо)
- Отправьте PR, ссылаясь на issue в описании
Q: Как синхронизировать форк с upstream?
A:
# 1. Добавьте upstream репозиторий (если еще не добавлен)
git remote add upstream https://github.com/affaan-m/everything-claude-code.git
# 2. Получите обновления upstream
git fetch upstream
# 3. Слейте обновления upstream в вашу ветку main
git checkout main
git merge upstream/main
# 4. Отправьте обновления в ваш форк
git push origin main
# 5. Перебазируйте на основе последней ветки main
git checkout your-feature-branch
git rebase mainКонтактная информация
Если у вас есть вопросы или нужна помощь:
- Open an Issue: GitHub Issues
- Twitter: @affaanmustafa
- Email: Свяжитесь через GitHub
Рекомендации по вопросам
- Сначала поищите в существующих Issues и Discussions
- Предоставьте четкий контекст и шаги воспроизведения
- Сохраняйте вежливость и конструктивность
Резюме урока
Этот урок систематически объяснил процесс и стандарты внесения вклада в Everything Claude Code:
Основные концепции:
- Ресурс сообщества, совместное строительство
- Проверка на практике, приоритет качества
- Модульный дизайн, легкое повторное использование
- Открытое сотрудничество, обмен знаниями
Типы вкладов:
- Agents: Специализированные субагенты (языковые, фреймворки, DevOps, доменные эксперты)
- Skills: Определения рабочих процессов и базы знаний предметной области
- Commands: Slash-команды (развертывание, тестирование, документация, генерация кода)
- Hooks: Автоматические хуки (linting, проверки безопасности, валидация, уведомления)
- Rules: Обязательные правила (безопасность, стиль кода, тестирование, именование)
- MCP Configurations: Конфигурации MCP-серверов (базы данных, облако, мониторинг, коммуникация)
Процесс внесения вклада:
- Форк проекта
- Создание функциональной ветки
- Добавление контента вклада
- Соблюдение стандартов форматирования
- Локальное тестирование
- Отправка PR
Стандарты форматирования:
- Agent: Front Matter + Описание + Инструкции
- Skill: When to Use + How It Works + Examples
- Command: Description + Примеры использования
- Hook: Matcher + Hooks + Description
Руководящие принципы:
- Do: Сфокусированность, четкость, тестирование, следование паттернам, документирование
- Don't: Конфиденциальные данные, сложность/нишевость, отсутствие тестов, дублирование, платные зависимости
Именование файлов:
- Строчные буквы + дефисы
- Описательное именование
- Соответствие имени Agent/Skill/Command
Контрольный список:
- Качество кода, стандарты файлов, качество PR, стандарты сообщества
Анонс следующего урока
В следующем уроке мы изучим Примеры конфигураций: Конфигурации уровня проекта и пользователя.
Вы узнаете:
- Лучшие практики конфигураций уровня проекта
- Персонализированные настройки конфигураций уровня пользователя
- Как настроить конфигурации для конкретных проектов
- Примеры конфигураций реальных проектов
Приложение: Ссылки на исходный код
Нажмите, чтобы развернуть ссылки на исходный код
Последнее обновление: 2026-01-25
| Функция | Путь к файлу | Строки |
|---|---|---|
| Руководство по внесению вклада | CONTRIBUTING.md | 1-192 |
| Пример Agent | agents/code-reviewer.md | - |
| Пример Skill | skills/coding-standards/SKILL.md | - |
| Пример Command | commands/tdd.md | - |
| Конфигурация Hook | hooks/hooks.json | 1-158 |
| Пример Rule | rules/coding-style.md | - |
| Пример конфигурации MCP | mcp-configs/mcp-servers.json | 1-92 |
| Примеры конфигураций | examples/CLAUDE.md | - |
Ключевые поля Front Matter:
name: Идентификатор Agent/Skill/Commanddescription: Описание функциональностиtools: Разрешенные инструменты (Agent)model: Предпочтительная модель (Agent, опционально)
Ключевая структура директорий:
agents/: 9 специализированных субагентовskills/: 11 определений рабочих процессовcommands/: 14 slash-командrules/: 8 наборов правилhooks/: Конфигурация автоматических хуковmcp-configs/: Конфигурация MCP-серверовexamples/: Примеры конфигурационных файлов
Ссылки, связанные с вкладом:
- GitHub Issues: https://github.com/affaan-m/everything-claude-code/issues
- Twitter: https://x.com/affaanmustafa