# CONTRIBUTING — канон процесса проекта {{PROJECT_NAME}} Как ведётся этот репозиторий: где что лежит, как оформлять изменения, как вести документацию. Канон обязателен и для агентов конвейера, и для людей. ## Где что лежит | Путь | Содержимое | |------|-----------| | код проекта | по код-карте `docs/ARCHITECTURE.md` | | тесты | прогон: `{{TEST_CMD}}` | | `.openclaw/agents/` | промпты 6 агентов конвейера (канон структуры — см. ниже) | | `docs/` | документация (карта — `AGENTS.md`) | | `docs/work-items//` | артефакты задач конвейера | | `.env.example` | карта env-переменных (без секретов) | ## Процесс изменения 1. Задача рождается в Plane (проект `{{PROJECT_NAME}}`, префикс `{{WORK_ITEM_PREFIX}}`). 2. Конвейер ведёт её по стадиям (`docs/PIPELINE.md`); артефакты каждой стадии — в `docs/work-items//` по `docs/_standards/PIPELINE_DOCS.md`. 3. Код едет веткой `feature/{{WORK_ITEM_PREFIX}}-NNN-slug` → PR в `main` → merge только через PR-merge (никогда push в `main`). 4. Conventional Commits: `feat(scope):`, `fix(scope):`, `docs(scope):`, `refactor:`, `test:`; футер `Refs: {{WORK_ITEM_PREFIX}}-NNN`. 5. Документация обновляется **в том же PR**, что и код (reviewer-gate вернёт PR без неё). 6. `CHANGELOG.md` — запись под `## [Unreleased]` на каждый смысловой PR. ## Промпты агентов (`.openclaw/agents/`) - Структурный канон: 5 XML-секций в порядке `` → `` → `` → `` → ``; запреты в формате «❌ X → ✅ Y»; `` у developer/reviewer/tester; машинные verdict-ключи байт-в-байт. - **Языковая политика:** 5 промптов на русском + `deployer.md` на английском (самый safety-critical промпт; en-раскладка минимизирует регресс-поверхность verdict-ключей). Отступление от политики — только отдельным ADR этого проекта в `docs/architecture/adr/`. - Правка промптов = обычный PR с ревью; машинные ключи (`verdict:`, `result:`, `staging_status:`, `deploy_status:`, `security_status:`) не переименовывать. ## Документация - Стандарты (`docs/_standards/`) и скелеты (`docs/_templates/`) — копия живого канона оркестратора на момент онбординга; **локально не править** (обновления приходят отдельными PR). - Сквозные решения — `docs/architecture/adr/adr-NNNN-slug.md`; per-task — `docs/work-items//06-adr/ADR-NNN-slug.md`. - Маркеры трассировки `{{WORK_ITEM_PREFIX}}-NNN` в коде — по `docs/_standards/TRACEABILITY.md`. ## Секреты Секреты живут ТОЛЬКО в `.env` на хосте; в гит не коммитятся. Карта переменных — `.env.example` (дескрипторы без значений). Утечка секрета в коммит = инцидент: ротация ключа обязательна.