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/: Примеры конфигурационных файлов

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