type: standard
aspect: format
title: "Стандарт документов платформы"
status: active
version: 2.0.0
date: 2026-02-19
owner: architect
supersedes: v1.0.0 (2025-11-28)
Типы документов и правила работы с ними в платформе.
Документация = код. Хранится в git, версионируется, проходит review.
Формат: Markdown (.md) — основной формат всей документации.
Расположение: $WORKSPACE (git), НЕ в $DATASPACE.
Основной формат для всей документации платформы.
Почему Markdown:
- ✅ Читабелен в сыром виде
- ✅ Git-friendly (diff, merge)
- ✅ Рендерится в docs.0kt.ru
- ✅ Универсальный (GitHub, GitLab, любой редактор)
- ✅ Конвертируется в HTML, PDF
Синтаксис: CommonMark + GitHub Flavored Markdown
Расширения:
.md - обычный документ
.ai.md - AI-агент (промпт для Claude)
.credentials.md - секреты (НЕ в git)
Для структурированных данных и метаданных.
Использование:
- Индексы (index.yaml)
- Конфигурация (config.yaml)
- Frontmatter в .md файлах
- Схемы данных
Пример:
---
type: project
title: "Pirotehnika"
status: active
owner: business
---
Для конфигурации инструментов и приложений.
Использование:
- package.json
- tsconfig.json
- .vscode/settings.json
- Схемы данных
Правило: YAML для людей, JSON для программ.
Назначение: Промпт для Claude агента, описание роли и контекста.
Расположение:
$WORKSPACE/CLAUDE.md ← корневой (главный)
architect/CLAUDE.md ← роль Архитектора
projects/{name}/CLAUDE.md ← контекст проекта
library/{module}/CLAUDE.md ← контекст модуля
Структура:
# {Название контекста}
**Версия:** X.Y.Z
**Дата:** YYYY-MM-DD
**Тип:** {role|context|prompt}
## РОЛЬ
Кто ты в этом контексте.
## ЧТО ДЕЛАЕШЬ
Основные функции.
## ЧТО НЕ ДЕЛАЕШЬ
Ограничения.
## ССЫЛКИ
Связанные документы.
Примеры:
- $WORKSPACE/CLAUDE.md - главный промпт
- architect/CLAUDE.md - роль Архитектора
- projects/org/pirotehnika/CLAUDE.md - контекст проекта
Назначение: Полное описание бизнес-проекта или IT-решения.
Расположение:
projects/{org}/{project}/PROJECT.md
Структура:
---
type: project
status: active|development|archived
owner: {team}
---
# {Название проекта}
## ОПИСАНИЕ
Что это за проект, для чего.
## СТРУКТУРА
Как организован.
## ТЕХНОЛОГИИ
Стек технологий.
## ДАННЫЕ
Источники данных, БД.
## DEPLOYMENT
Как разворачивается.
## ССЫЛКИ
Связанные ресурсы.
Пример:
- projects/org/pirotehnika/PROJECT.md
Назначение: Краткое описание содержимого папки или модуля.
Расположение: В корне папки/модуля.
Структура:
# {Название модуля}
Краткое описание (1-2 предложения).
## Содержание
Что находится в этой папке.
## Использование
Как использовать (если код).
## Ссылки
Связанные документы.
Правило именования:
- README.md (UPPERCASE) - для важных модулей
- readme.md (lowercase) - для вспомогательных
Примеры:
- library/connectors/api/telegram/README.md
- system/agents/README.md
Назначение: Правила и требования платформы.
Расположение:
architect/standards/{category}/{NAME}.md
Категории:
standards/
├── 5-format/ - форматы (файлы, документы, данные)
├── structure/ - структуры (папки, проекты)
├── processes/ - процессы (как делать)
├── 7-typology/ - типы систем
└── roles/ - роли агентов
Структура:
---
type: standard
status: active|draft|deprecated
version: X.Y.Z
---
# Стандарт {название}
## ЗАЧЕМ
Проблема которую решает.
## ПРАВИЛА
Жесткие требования.
## ПРИМЕРЫ
Как применять.
## ИСКЛЮЧЕНИЯ
Когда можно нарушить (если есть).
Примеры:
- architect/standards/5-format/format-file-types.md
- architect/standards/AGENT_RULES.md
Назначение: Фиксация архитектурных решений с обоснованием.
Расположение:
architect/decisions/{NNN}-{slug}.md
Нумерация: 001, 002, 003 (сквозная)
Структура (ADR):
---
type: decision
id: ADR-{NNN}
status: accepted|proposed|deprecated|superseded
date: YYYY-MM-DD
---
# ADR-{NNN}: {Название решения}
## Контекст
Какая проблема, почему возникла.
## Решение
Что решили делать.
## Альтернативы
Что рассматривали, почему отказались.
## Последствия
Что изменится, плюсы/минусы.
## Связанные решения
Ссылки на другие ADR.
Примеры:
- architect/decisions/001-agents.md
- architect/decisions/002-platform-architecture.md
Назначение: Отслеживание задач, багов, технического долга.
Расположение:
architect/arh/operations/tickets/TICKET-{NNN}-{slug}.md
Нумерация: TICKET-001, TICKET-002 (сквозная)
Структура:
---
type: ticket
id: TICKET-{NNN}
status: TODO|IN_PROGRESS|DONE|CANCELLED
priority: LOW|MEDIUM|HIGH|CRITICAL
created: YYYY-MM-DD
owner: {team}
---
# TICKET-{NNN}: {Название}
## ПРОБЛЕМА
Что не так.
## РЕШЕНИЕ
Как исправить.
## ПЛАН
Шаги выполнения.
## КРИТЕРИИ ГОТОВНОСТИ
Когда считать выполненным.
Примеры:
- architect/arh/operations/tickets/TICKET-004-platform-restructure.md
- architect/arh/operations/tickets/TICKET-005-standards-structure-reform.md
Назначение: Заготовки для создания новых документов/проектов.
Расположение:
architect/templates/{TYPE}_TEMPLATE.md
Структура:
---
type: template
for: {project|document|agent}
---
# {Название шаблона}
[Инструкция по заполнению]
## Секция 1
[Что сюда писать]
## Секция 2
[Что сюда писать]
Примеры:
- architect/templates/PROJECT_TEMPLATE.md
- architect/templates/AGENT_TEMPLATE.md
Назначение: Навигация по большому разделу документации.
Расположение:
{section}/INDEX.md
{section}/index.yaml (машиночитаемый)
Формат: Markdown + YAML
Структура INDEX.md:
# Индекс {раздела}
## Категория 1
| Документ | Статус | Описание |
|----------|--------|----------|
| [NAME.md](path) | active | Краткое описание |
## Категория 2
...
Структура index.yaml:
section: architect
version: 1.0.0
documents:
- path: standards/format-file-types.md
type: standard
status: active
title: "Стандарт типов файлов"
Примеры:
- architect/INDEX.md
- architect/index.yaml
Обязательно для всех типовых документов:
---
type: standard|project|decision|ticket|template
title: "Название документа"
status: active|draft|archived
version: X.Y.Z # для standards
date: YYYY-MM-DD
owner: architect|team
---
Опциональные поля:
id: TICKET-001 # для tickets/decisions
priority: HIGH # для tickets
created: YYYY-MM-DD # для tickets
supersedes: ADR-005 # для decisions/standards
tags: [api, security] # для поиска
Правила:
- H1 (#) - ОДИН на документ (название)
- H2 (##) - основные секции
- H3 (###) - подсекции
- Не пропускать уровни (нельзя H1 → H3)
Стиль:
# Название документа (H1)
## Основная секция (H2)
Текст секции.
### Подсекция (H3)
Текст подсекции.
## Другая секция (H2)
Для STANDARDS:
## ЗАЧЕМ - проблема/цель
## ПРАВИЛА - требования
## ПРИМЕРЫ - как применять
## ИСКЛЮЧЕНИЯ - когда можно нарушить
## CHANGELOG - история изменений
Для PROJECT.md:
## ОПИСАНИЕ - что это
## СТРУКТУРА - как организовано
## ТЕХНОЛОГИИ - стек
## ДАННЫЕ - источники данных
## DEPLOYMENT - как разворачивать
## ССЫЛКИ - связанные ресурсы
Для CLAUDE.md:
## РОЛЬ - кто ты
## ЧТО ДЕЛАЕШЬ - функции
## ЧТО НЕ ДЕЛАЕШЬ - ограничения
## ССЫЛКИ - связанные документы
Внутренние (относительные):
[Другой документ](format-file-types.md)
[Секция в этом документе](#секция)
Внешние (абсолютные):
[Документация](http://docs.0kt.ru/architect/standards/format-file-types.md)
Правило: Внутри репозитория - относительные ссылки.
| Тип | Формат | Примеры |
|---|---|---|
| Главные | UPPERCASE.md | CLAUDE.md, PROJECT.md, README.md |
| Стандарты | UPPERCASE.md | format-file-types.md, AGENT_RULES.md |
| Решения | NNN-slug.md | 001-agents.md, 002-platform.md |
| Тикеты | TICKET-NNN-slug.md | TICKET-001-session-gap.md |
| Обычные | lowercase.md | index.md, readme.md |
Правило: Короткий, понятный, в kebab-case.
Хорошо:
001-agents.md
002-platform-architecture.md
TICKET-005-standards-reform.md
Плохо:
001_agents.md (underscore)
002platformarchitecture.md (без разделителя)
TICKET-005.md (нет описания)
1. Выбрать тип (стандарт/проект/решение/тикет)
2. Выбрать путь:
standards/ - стандарты
decisions/ - ADR
tickets/ - тикеты
projects/ - проекты
3. Создать из шаблона:
cp architect/templates/STANDARD_TEMPLATE.md \
architect/standards/5-format/NEW_STANDARD.md
4. Заполнить frontmatter
5. Написать содержимое
6. Добавить в INDEX.md
7. Коммит:
git add architect/standards/5-format/NEW_STANDARD.md
git commit -m "docs: Add NEW_STANDARD.md"
1. Прочитать текущую версию:
cat document.md | grep "^version:"
2. Внести изменения
3. Обновить версию (semver):
- Patch: 1.0.0 → 1.0.1 (исправления, мелкие правки)
- Minor: 1.0.1 → 1.1.0 (новые секции, расширение)
- Major: 1.1.0 → 2.0.0 (breaking changes, переписывание)
4. Обновить дату
5. Добавить в CHANGELOG:
## CHANGELOG
### 2026-02-19 — v2.0.0
- Полное переписывание
- Добавлено 8 типов документов
- Расширены правила
### 2025-11-28 — v1.0.0
- Первая версия
6. Коммит:
git add document.md
git commit -m "docs: Update DOCUMENT.md to v2.0.0
- Complete rewrite
- Add 8 document types
- Expand guidelines
"
Когда архивировать:
- Документ устарел
- Заменён новым
- Больше не актуален
Как:
1. Изменить статус:
status: archived
archived_date: YYYY-MM-DD
superseded_by: path/to/new-document.md # если есть замена
2. Переместить в arh/:
mv architect/standards/old.md \
architect/arh/standards/old_vX.Y.Z_YYYY-MM-DD.md
3. Обновить ссылки на новый документ
Назначение: Промпты для Claude агентов.
Расположение:
system/agents/{name}.ai.md
architect/architect.ai.md
Структура:
# {Имя агента}
**Роль:** {краткое описание}
**Модель:** haiku|sonnet|opus
## КОНТЕКСТ
Что ты знаешь.
## ЗАДАЧИ
Что ты делаешь.
## ИНСТРУМЕНТЫ
Какие инструменты используешь.
## ПРИМЕРЫ
Примеры работы.
Пример:
- system/agents/specialists/pim.ai.md
Назначение: Хранение паролей, токенов, API keys.
Расположение:
projects/{name}/.credentials.md
{module}/.credentials.md
ВАЖНО: ❌ НЕ в git! Должен быть в .gitignore.
Структура:
# Credentials: {Проект/Модуль}
## API Keys
| Сервис | Key | Описание |
|--------|-----|----------|
| OZON | 123456 | API ключ |
## Пароли
| Где | Логин | Пароль |
|-----|-------|--------|
| БД | admin | pass123 |
## SSH Keys
ssh-rsa AAAAB3...
Безопасность:
chmod 600 .credentials.md # только владелец может читать
Основной: Русский
Технические термины: Английский (в оригинале)
Код: Английский (комментарии на русском если нужно)
Пример:
Используй метод `fetch()` для запроса к API.
Заголовки:
- Короткие (< 60 символов)
- Понятные
- Без точки в конце
Абзацы:
- Один абзац = одна мысль
- Пустая строка между абзацами
Списки:
- Пункты начинаются с маленькой буквы (если не предложение)
- Точки в конце - только если полные предложения
Рекомендация: 80-100 символов
Почему:
- Удобно читать
- Хорошие diff в git
- Работает в терминале
Исключения:
- Таблицы
- Длинные ссылки
- Код
Используем Semantic Versioning (semver):
MAJOR.MINOR.PATCH
1.0.0 → первая стабильная версия
1.0.1 → исправления
1.1.0 → новые возможности (обратно совместимо)
2.0.0 → breaking changes
Правила:
- PATCH - исправления опечаток, уточнения, мелкие правки
- MINOR - новые секции, расширение функциональности, сохранение совместимости
- MAJOR - изменение структуры, удаление секций, несовместимые изменения
Версия: 2.0.0
Автор: Claude Opus (Architect)
Статус: ACTIVE