Skip to content

Руководство по внесению вклада: Как внести конфигурации, агентов и навыки в проект

Что вы сможете делать после изучения

  • Понимать процесс и стандарты внесения вклада в проект
  • Правильно отправлять конфигурации Agents, Skills, Commands, Hooks, Rules и MCP
  • Следовать стилю кода и соглашениям об именовании
  • Избегать распространенных ошибок при внесении вклада
  • Эффективно сотрудничать с сообществом через Pull Request

Ваша текущая ситуация

Вы хотите внести вклад в Everything Claude Code, но сталкиваетесь с этими проблемами:

  • "Не знаю, какой контент будет ценным"
  • "Не знаю, как начать свой первый PR"
  • "Не понимаю форматы файлов и соглашения об именовании"
  • "Беспокоюсь, что отправленный контент не соответствует требованиям"

Это руководство даст вам полное руководство по внесению вклада, от концепции до практики.

Основная идея

Everything Claude Code — это ресурс сообщества, а не проект одного человека. Ценность этого репозитория заключается в:

  1. Проверка на практике - Все конфигурации использовались в производственной среде более 10 месяцев
  2. Модульный дизайн - Каждый Agent, Skill, Command — это независимый многоразовый компонент
  3. Приоритет качества - Проверка кода и аудит безопасности обеспечивают качество вклада
  4. Открытое сотрудничество - Лицензия 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: Форк проекта

Зачем: Вам нужна собственная копия для внесения изменений, не затрагивая оригинальный репозиторий.

bash
# 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: Создание функциональной ветки

Зачем: Ветка изолирует ваши изменения, упрощая управление и слияние.

bash
# Создайте описательное имя ветки
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.

bash
# Выберите директорию в зависимости от типа вклада
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.

markdown
---
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 упрощает повторное использование и понимание.

markdown
# 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

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

Основное содержание (опционально):

markdown
# Test

Run tests for the current project:

Coverage requirements:
- Minimum 80% line coverage
- 100% coverage for critical paths

Примеры команд (опционально):

bash
# Run all tests
pytest

# Run with coverage
pytest --cov=. --cov-report=html

# Run specific test file
pytest tests/test_user.py

Обязательные поля:

  • description: Краткое описание функциональности

Формат Hook

Зачем: Hook требует четких правил сопоставления и действий выполнения.

json
{
  "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 обязательно протестируйте конфигурацию в вашей локальной среде.

Шаги тестирования:

bash
# 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 — это стандартный способ сотрудничества в сообществе.

bash
# Добавьте все изменения
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:

  1. Перейдите в ваш форк репозитория
  2. Нажмите "Compare & pull request"
  3. Заполните шаблон PR:
markdown
## 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:

bash
# 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:

  1. Проверяйте статус на странице PR в GitHub
  2. Следите за комментариями при проверке
  3. Отвечайте на отзывы мейнтейнеров
  4. При необходимости обновляйте PR

Q: Можно ли вносить исправления ошибок?

A: Конечно! Исправления ошибок — один из самых ценных вкладов:

  1. Найдите или создайте новый issue в Issues
  2. Форкните проект и исправьте ошибку
  3. Добавьте тесты (если необходимо)
  4. Отправьте PR, ссылаясь на issue в описании

Q: Как синхронизировать форк с upstream?

A:

bash
# 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

Контактная информация

Если у вас есть вопросы или нужна помощь:

Рекомендации по вопросам

  • Сначала поищите в существующих Issues и Discussions
  • Предоставьте четкий контекст и шаги воспроизведения
  • Сохраняйте вежливость и конструктивность

Резюме урока

Этот урок систематически объяснил процесс и стандарты внесения вклада в Everything Claude Code:

Основные концепции:

  • Ресурс сообщества, совместное строительство
  • Проверка на практике, приоритет качества
  • Модульный дизайн, легкое повторное использование
  • Открытое сотрудничество, обмен знаниями

Типы вкладов:

  • Agents: Специализированные субагенты (языковые, фреймворки, DevOps, доменные эксперты)
  • Skills: Определения рабочих процессов и базы знаний предметной области
  • Commands: Slash-команды (развертывание, тестирование, документация, генерация кода)
  • Hooks: Автоматические хуки (linting, проверки безопасности, валидация, уведомления)
  • Rules: Обязательные правила (безопасность, стиль кода, тестирование, именование)
  • MCP Configurations: Конфигурации MCP-серверов (базы данных, облако, мониторинг, коммуникация)

Процесс внесения вклада:

  1. Форк проекта
  2. Создание функциональной ветки
  3. Добавление контента вклада
  4. Соблюдение стандартов форматирования
  5. Локальное тестирование
  6. Отправка 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.md1-192
Пример Agentagents/code-reviewer.md-
Пример Skillskills/coding-standards/SKILL.md-
Пример Commandcommands/tdd.md-
Конфигурация Hookhooks/hooks.json1-158
Пример Rulerules/coding-style.md-
Пример конфигурации MCPmcp-configs/mcp-servers.json1-92
Примеры конфигурацийexamples/CLAUDE.md-

Ключевые поля Front Matter:

  • name: Идентификатор Agent/Skill/Command
  • description: Описание функциональности
  • tools: Разрешенные инструменты (Agent)
  • model: Предпочтительная модель (Agent, опционально)

Ключевая структура директорий:

  • agents/: 9 специализированных субагентов
  • skills/: 11 определений рабочих процессов
  • commands/: 14 slash-команд
  • rules/: 8 наборов правил
  • hooks/: Конфигурация автоматических хуков
  • mcp-configs/: Конфигурация MCP-серверов
  • examples/: Примеры конфигурационных файлов

Ссылки, связанные с вкладом: