Files
claude-howto/uk/CONTRIBUTING.md
T
Luong NGUYEN 2230a6ef10 fix(i18n): correct logo image paths in translated root-level files (#124)
Follow-up to #123 — that PR fixed module README logo paths but missed
root-level translated files (README, INDEX, CATALOG, CONTRIBUTING,
STYLE_GUIDE, etc.) which had the same broken-path pattern: they used
`resources/logos/...` (root-relative) but live one directory deep, so
they resolved to `{lang}/resources/logos/...` and 404'd.

Fix: `resources/logos/...` → `../resources/logos/...` in the top
`<picture>` block of each translated root-level file.

For STYLE_GUIDE files, the in-code-fence `<picture>` example was left
as `resources/logos/...` to mirror the English source — it documents
the canonical pattern, not the path the file itself uses.

Files: zh/ (×9), uk/ (×4), vi/ (×2). ja/STYLE_GUIDE.md was already
correct.
2026-05-20 11:15:36 +02:00

386 lines
17 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!-- i18n-source: CONTRIBUTING.md -->
<!-- i18n-source-sha: 63a1416 -->
<!-- i18n-date: 2026-04-09 -->
<picture>
<source media="(prefers-color-scheme: dark)" srcset="../resources/logos/claude-howto-logo-dark.svg">
<img alt="Claude How To" src="../resources/logos/claude-howto-logo.svg">
</picture>
# Внесок у Claude How To
Дякуємо за ваш інтерес до участі в цьому проєкті! Цей довідник допоможе вам зрозуміти, як ефективно зробити внесок.
## Про цей проєкт
Claude How To — це візуальний, заснований на прикладах довідник з Claude Code. Ми надаємо:
- **Mermaid-діаграми**, що пояснюють як працюють функції
- **Готові до продакшену шаблони**, які можна використовувати одразу
- **Реальні приклади** з контекстом та найкращими практиками
- **Прогресивні шляхи навчання** від початківця до просунутого
## Типи внесків
### 1. Нові приклади або шаблони
Додавайте приклади для існуючих функцій (слеш-команди, навички, хуки тощо):
- Код, готовий до копіювання та вставки
- Чіткі пояснення як це працює
- Сценарії використання та переваги
- Поради з усунення проблем
### 2. Покращення документації
- Уточнення заплутаних розділів
- Виправлення помилок та граматики
- Додавання відсутньої інформації
- Покращення прикладів коду
### 3. Гайди з функцій
Створюйте гайди для нових функцій Claude Code:
- Покрокові туторіали
- Архітектурні діаграми
- Поширені патерни та анти-патерни
- Реальні робочі процеси
### 4. Звіти про помилки
Повідомляйте про проблеми:
- Опишіть, що ви очікували
- Опишіть, що сталося насправді
- Вкажіть кроки для відтворення
- Додайте версію Claude Code та ОС
### 5. Відгуки та пропозиції
Допоможіть покращити довідник:
- Запропонуйте кращі пояснення
- Вкажіть на прогалини в покритті
- Порекомендуйте нові розділи або реорганізацію
## Початок роботи
### 1. Форк та клонування
```bash
git clone https://github.com/luongnv89/claude-howto.git
cd claude-howto
```
### 2. Створення гілки
Використовуйте описову назву гілки:
```bash
git checkout -b add/feature-name
git checkout -b fix/issue-description
git checkout -b docs/improvement-area
```
### 3. Налаштування середовища
Pre-commit хуки запускають ті ж перевірки, що й CI, локально перед кожним комітом. Усі чотири перевірки повинні пройти перед прийняттям PR.
**Необхідні залежності:**
```bash
# Python tooling (uv is the package manager for this project)
pip install uv
uv venv
source .venv/bin/activate
uv pip install -r scripts/requirements-dev.txt
# Markdown linter (Node.js)
npm install -g markdownlint-cli
# Mermaid diagram validator (Node.js)
npm install -g @mermaid-js/mermaid-cli
# Install pre-commit and activate hooks
uv pip install pre-commit
pre-commit install
```
**Перевірка налаштування:**
```bash
pre-commit run --all-files
```
Хуки, що запускаються при кожному коміті:
| Хук | Що перевіряє |
|-----|-------------|
| `markdown-lint` | Форматування та структуру Markdown |
| `cross-references` | Відносні посилання, якорі, блоки коду |
| `mermaid-syntax` | Усі блоки ` ```mermaid ` коректно парсяться |
| `link-check` | Зовнішні URL-адреси доступні |
| `build-epub` | EPUB генерується без помилок (при змінах `.md`) |
## Структура каталогів
```
├── 01-slash-commands/ # Ярлики, ініційовані користувачем
├── 02-memory/ # Приклади постійного контексту
├── 03-skills/ # Повторно використовувані можливості
├── 04-subagents/ # Спеціалізовані AI-асистенти
├── 05-mcp/ # Приклади Model Context Protocol
├── 06-hooks/ # Автоматизація на основі подій
├── 07-plugins/ # Пакетні функції
├── 08-checkpoints/ # Знімки сесій
├── 09-advanced-features/ # Планування, мислення, фони
├── 10-cli/ # Довідник CLI
├── scripts/ # Скрипти збірки та утиліт
└── README.md # Основний довідник
```
## Як зробити внесок прикладів
### Додавання слеш-команди
1. Створіть файл `.md` в `01-slash-commands/`
2. Включіть:
- Чіткий опис що вона робить
- Сценарії використання
- Інструкції з встановлення
- Приклади використання
- Поради з налаштування
3. Оновіть `01-slash-commands/README.md`
### Додавання навички
1. Створіть каталог в `03-skills/`
2. Включіть:
- `SKILL.md` — основна документація
- `scripts/` — допоміжні скрипти за потреби
- `templates/` — шаблони промптів
- Приклади використання в README
3. Оновіть `03-skills/README.md`
### Додавання субагента
1. Створіть файл `.md` в `04-subagents/`
2. Включіть:
- Призначення та можливості агента
- Структуру системного промпту
- Приклади використання
- Приклади інтеграції
3. Оновіть `04-subagents/README.md`
### Додавання конфігурації MCP
1. Створіть файл `.json` в `05-mcp/`
2. Включіть:
- Пояснення конфігурації
- Необхідні змінні оточення
- Інструкції з налаштування
- Приклади використання
3. Оновіть `05-mcp/README.md`
### Додавання хука
1. Створіть файл `.sh` в `06-hooks/`
2. Включіть:
- Shebang та опис
- Чіткі коментарі, що пояснюють логіку
- Обробку помилок
- Міркування безпеки
3. Оновіть `06-hooks/README.md`
## Настанови з написання
### Стиль Markdown
- Використовуйте чіткі заголовки (H2 для секцій, H3 для підсекцій)
- Тримайте абзаци короткими та зосередженими
- Використовуйте маркеровані списки
- Включайте блоки коду з вказівкою мови
- Додавайте порожні рядки між секціями
### Приклади коду
- Робіть приклади готовими до копіювання та вставки
- Коментуйте неочевидну логіку
- Включайте і прості, і просунуті версії
- Показуйте реальні сценарії використання
- Виділяйте потенційні проблеми
### Документація
- Пояснюйте «чому», а не тільки «що»
- Вказуйте передумови
- Додавайте розділи з усунення проблем
- Посилайтесь на пов'язані теми
- Зберігайте дружність до початківців
### JSON/YAML
- Використовуйте правильні відступи (2 або 4 пробіли послідовно)
- Додавайте коментарі, що пояснюють конфігурацію
- Включайте приклади валідації
### Діаграми
- Використовуйте Mermaid коли можливо
- Тримайте діаграми простими та читабельними
- Додавайте текстовий опис під діаграмами для доступності
- Посилайтесь на відповідні розділи
## Настанови для комітів
Дотримуйтесь формату conventional commits:
```
type(scope): description
[optional body]
```
Типи:
- `feat`: Нова функція або приклад
- `fix`: Виправлення помилки
- `docs`: Зміни документації
- `refactor`: Реструктуризація коду
- `style`: Зміни форматування
- `test`: Додавання або зміни тестів
- `chore`: Збірка, залежності тощо
Приклади:
```
feat(slash-commands): Add API documentation generator
docs(memory): Improve personal preferences example
fix(README): Correct table of contents link
docs(skills): Add comprehensive code review skill
```
## Перед відправкою
### Чеклист
- [ ] Код відповідає стилю та конвенціям проєкту
- [ ] Нові приклади включають чітку документацію
- [ ] README файли оновлені (локальний та кореневий)
- [ ] Немає чутливої інформації (API-ключі, облікові дані)
- [ ] Приклади протестовані та працюють
- [ ] Посилання перевірені та коректні
- [ ] Файли мають правильні дозволи (скрипти виконувані)
- [ ] Повідомлення коміту чітке та описове
### Локальне тестування
```bash
# Run all pre-commit checks (same checks as CI)
pre-commit run --all-files
# Review your changes
git diff
```
## Процес Pull Request
1. **Створіть PR з чітким описом**:
- Що додає/виправляє?
- Чому це потрібно?
- Пов'язані issues (якщо є)
2. **Включіть відповідні деталі**:
- Нова функція? Включіть сценарії використання
- Документація? Поясніть покращення
- Приклади? Покажіть до/після
3. **Посилайтесь на issues**:
- Використовуйте `Closes #123` для автоматичного закриття пов'язаних issues
4. **Будьте терплячими з рев'ю**:
- Мейнтейнери можуть запропонувати покращення
- Ітеруйте на основі зворотного зв'язку
- Остаточне рішення за мейнтейнерами
## Процес код-рев'ю
Рецензенти перевірять:
- **Точність**: Чи працює як описано?
- **Якість**: Чи готово до продакшену?
- **Консистентність**: Чи відповідає патернам проєкту?
- **Документація**: Чи чітко та повно?
- **Безпека**: Чи є вразливості?
## Повідомлення про проблеми
### Звіти про помилки
Включіть:
- Версію Claude Code
- Операційну систему
- Кроки для відтворення
- Очікувану поведінку
- Фактичну поведінку
- Скріншоти (за потреби)
### Запити на функції
Включіть:
- Сценарій використання або проблему, що вирішується
- Запропоноване рішення
- Альтернативи, які ви розглядали
- Додатковий контекст
### Проблеми з документацією
Включіть:
- Що незрозуміло або відсутнє
- Запропоновані покращення
- Приклади або посилання
## Політики проєкту
### Чутлива інформація
- Ніколи не комітьте API-ключі, токени або облікові дані
- Використовуйте значення-заповнювачі в прикладах
- Включайте `.env.example` для конфігураційних файлів
- Документуйте необхідні змінні оточення
### Якість коду
- Тримайте приклади зосередженими та читабельними
- Уникайте надмірного ускладнення рішень
- Включайте коментарі для неочевидної логіки
- Тестуйте ретельно перед відправкою
### Інтелектуальна власність
- Оригінальний контент належить автору
- Проєкт використовує освітню ліцензію
- Поважайте існуючі авторські права
- Вказуйте атрибуцію за потреби
## Отримання допомоги
- **Запитання**: Відкрийте обговорення в GitHub Issues
- **Загальна допомога**: Перевірте існуючу документацію
- **Допомога з розробки**: Перегляньте подібні приклади
- **Код-рев'ю**: Позначте мейнтейнерів у PR
## Визнання
Контриб'юторів відзначають у:
- Секції контриб'юторів README.md
- Сторінці контриб'юторів GitHub
- Історії комітів
## Безпека
При внесенні прикладів та документації, будь ласка, дотримуйтесь безпечних практик кодування:
- **Ніколи не захардкоджуйте секрети або API-ключі** — використовуйте змінні оточення
- **Попереджайте про наслідки безпеки** — виділяйте потенційні ризики
- **Використовуйте безпечні значення за замовчуванням** — увімкніть функції безпеки за замовчуванням
- **Валідуйте введення** — показуйте правильну валідацію та санітизацію введення
- **Включайте нотатки безпеки** — документуйте міркування безпеки
Щодо проблем безпеки, див. [SECURITY.md](SECURITY.md) для нашого процесу повідомлення про вразливості.
## Кодекс поведінки
Ми зобов'язуємося забезпечити привітну та інклюзивну спільноту. Будь ласка, прочитайте [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) для повних стандартів спільноти.
Коротко:
- Будьте поважними та інклюзивними
- Приймайте зворотний зв'язок з гідністю
- Допомагайте іншим вчитися та зростати
- Уникайте переслідувань або дискримінації
- Повідомляйте про проблеми мейнтейнерам
Усі контриб'ютори повинні дотримуватися цього кодексу та ставитися одне до одного з добротою та повагою.
## Ліцензія
Роблячи внесок у цей проєкт, ви погоджуєтесь, що ваші внески будуть ліцензовані за ліцензією MIT. Деталі див. у файлі [LICENSE](LICENSE).
## Запитання?
- Перевірте [README](README.md)
- Перегляньте [LEARNING-ROADMAP.md](LEARNING-ROADMAP.md)
- Подивіться існуючі приклади
- Відкрийте issue для обговорення
Дякуємо за ваш внесок! 🙏
---
**Останнє оновлення**: Квітень 2026