Files
APAW/README.md
NW b8c7533a28 refactor: migrate KiloCode agents to .kilo/ plugin format
- Rename .kilos/ → .kilo/ (correct name for @kilocode/plugin discovery)
- 19 agents in .kilo/agent/ with proper YAML frontmatter:
  description, mode, model, color — all correctly set
- Fix ask.md: rename ## Response Format → ## Output Format
- Add ## Output Format section to code.md (Quick Coder)
- README: update structure to reflect .kilo/ as primary KiloCode runtime
- .kilocode/agents/ kept as legacy archive (root-owned, read-only)

Fixes: KiloCode losing agent settings when .kilo/ directory present.
Root cause was conflicting agent sources — now resolved by using
.kilo/agent/ as single source of truth for KiloCode plugin.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 18:35:13 +01:00

304 lines
16 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.
# APAW — Automatic Programmers Agent Workflow
**Dual-runtime Agent Pipeline** — полная конфигурация автономного ИТ-офиса из 13+ специализированных ИИ-агентов.
Поддерживает два runtime:
- **KiloCode** (VS Code плагин) — через `.kilo/agent/` (`@kilocode/plugin` формат)
- **Claude Code** (CLI / VS Code extension) — через `.claude/commands/`
Система спроектирована как **Self-Healing Repository**: агенты автоматически анализируют задачи, пишут код, тестируют, проводят ревью и деплоят, не переписывая одно и то же дважды благодаря встроенной памяти коммитов.
---
## Структура репозитория
```
.
├── install-apaw.sh # Установщик в любой проект (bash)
├── .claude/ # Claude Code runtime
│ ├── commands/ # 13 slash-команд (/project:*)
│ │ ├── pipeline.md # Полный цикл одной командой
│ │ ├── orchestrate.md # Диспетчер (Sonnet)
│ │ ├── refine.md # Уточнение требований (Sonnet)
│ │ ├── mine.md # Поиск дублей в git (Haiku)
│ │ ├── analyze.md # Системный дизайн (Opus)
│ │ ├── tests.md # TDD red phase (Sonnet)
│ │ ├── implement.md # TDD green phase (Opus)
│ │ ├── skeptic.md # Adversarial ревью (Sonnet)
│ │ ├── perf.md # Анализ производительности (Sonnet)
│ │ ├── fix.md # Исправление проблем (Sonnet)
│ │ ├── security.md # Аудит безопасности (Opus)
│ │ ├── release.md # Менеджер релизов (Sonnet)
│ │ ├── evaluate.md # Оценка агентов (Haiku)
│ │ └── optimize-prompts.md # PromptOps авто-улучшение (Opus)
│ ├── rules/
│ │ └── global.md # Глобальные правила кодирования
│ └── logs/
│ └── efficiency_score.json # История оценок агентов
├── .kilo/ # KiloCode plugin runtime (@kilocode/plugin)
│ ├── agent/ # 19 агентов в формате plugin (YAML frontmatter)
│ │ ├── orchestrator.md # Диспетчер (GLM-5)
│ │ ├── requirement-refiner.md # Уточнитель требований (Kimi-k2-thinking)
│ │ ├── history-miner.md # Архивариус Git (Gemini-3-Flash)
│ │ ├── system-analyst.md # Системный аналитик (GPT-OSS 120B)
│ │ ├── product-owner.md # Менеджер задач (Qwen3.5 122B)
│ │ ├── lead-developer.md # Ведущий разработчик (DeepSeek-v3.2)
│ │ ├── frontend-developer.md # Frontend (Kimi-k2.5)
│ │ ├── the-fixer.md # Исправитель (MiniMax-m2.7)
│ │ ├── sdet-engineer.md # Тестирование TDD (Qwen3-Coder-Next)
│ │ ├── code-skeptic.md # Критик кода (GPT-OSS 120B)
│ │ ├── performance-engineer.md # Производительность (Nemotron-3-Super)
│ │ ├── security-auditor.md # Безопасность (GLM-4.7)
│ │ ├── release-manager.md # Релизы (Devstral-2 123B)
│ │ ├── evaluator.md # Оценщик (GPT-o3)
│ │ ├── prompt-optimizer.md # PromptOps (Claude 4.5)
│ │ ├── ask.md # Knowledge agent (Gemini-3-Flash)
│ │ ├── code.md # Quick coder (DeepSeek-v3.2)
│ │ ├── debug.md # Диагностика (MiniMax-m2.7)
│ │ └── plan.md # Стратег (GPT-OSS 120B)
│ ├── package.json # @kilocode/plugin dependency
│ └── node_modules/ # Plugin runtime
├── .kilocode/
│ ├── agents/ # Устаревший формат (заменён .kilo/agent/)
│ ├── rules/
│ │ └── global.md # Глобальные правила
│ └── logs/
│ └── efficiency_score.json # История оценок
└── packages/
└── opencode/
└── src/
└── kilocode/
└── agent-manager/ # TypeScript-интеграция с KiloCode
├── index.ts # Загрузчик конфигурации агентов
├── workflow.ts # State Machine пайплайна
├── router.ts # Маршрутизатор между агентами
├── prompt-loader.ts # Динамическая загрузка промптов
├── git-ops.ts # Git-операции (история, коммиты)
├── evaluator.ts # Логика оценки эффективности
└── types.ts # TypeScript-типы системы
```
---
## Состав команды (14 агентов)
### Блок А: Вход и Планирование
| # | Роль | Модель | Специализация |
|---|------|--------|---------------|
| 1 | **Requirement Refiner** | Kimi-k2-thinking | Транслирует задачи в строгие технические чек-листы |
| 2 | **Orchestrator** | GLM-5 | Главный диспетчер, управляет State Machine |
| 3 | **History Miner** | Gemini-3-Flash | Сканирует git log, предотвращает дублирование работы |
### Блок Б: Проектирование
| # | Роль | Модель | Специализация |
|---|------|--------|---------------|
| 4 | **System Analyst** | GPT-OSS 120B | Создаёт схемы БД, TypeScript-интерфейсы и API-контракты |
| 5 | **Product Owner** | Qwen3.5 122B | Управляет чек-листами в Issues и статусными лейблами |
### Блок В: Производство
| # | Роль | Модель | Специализация |
|---|------|--------|---------------|
| 6 | **Lead Developer** | DeepSeek-v3.2 | Пишет основной код (Go / Node.js) по TDD-спецификации |
| 7 | **Frontend Dev** | Kimi-k2.5 | UI-компоненты, мультимодальный анализ скриншотов |
| 8 | **The Fixer** | MiniMax-m2.7 | Итеративно исправляет баги после тестов и ревью |
### Блок Г: Контроль Качества
| # | Роль | Модель | Специализация |
|---|------|--------|---------------|
| 9 | **SDET Engineer** | Qwen3-Coder-Next | Пишет падающие тесты до реализации (TDD Red Phase) |
| 10 | **Code Skeptic** | GPT-OSS 120B | Ищет race conditions, уязвимости, логические дыры |
| 11 | **Performance Engineer** | Nemotron-3-Super | Проверяет на N+1, утечки памяти, блокировки event loop |
| 12 | **Security Auditor** | GLM-4.7 | OWASP Top 10, SQL-инъекции, XSS, CVE в зависимостях |
### Блок Д: Релиз и Самообучение
| # | Роль | Модель | Специализация |
|---|------|--------|---------------|
| 13 | **Release Manager** | Devstral-2 123B | SemVer, Git Flow, мердж только при Green Build |
| 14 | **Performance Evaluator** | GPT-o3 | Оценивает эффективность каждого агента по шкале 1-10 |
| 15 | **Prompt Optimizer** | Claude 4.5 | Анализирует ошибки и переписывает системные промпты |
---
## Жизненный цикл задачи (State Machine)
```
[Пользователь] -> Requirement Refiner -> Orchestrator
|
+-------------------------+
v v
History Miner (если дубль -> закрыть)
|
v
System Analyst
|
v
SDET Engineer (Red Phase: тесты падают)
|
v
Lead Developer (Green Phase: тесты проходят)
|
v
Code Skeptic ---- замечания ---> The Fixer --+
| |
+--------------------------------------+
| (Approve)
v
Performance Engineer -- проблемы -> The Fixer
| (OK)
v
Security Auditor -- уязвимости -> The Fixer
| (OK)
v
Release Manager (SemVer + Merge)
|
v
Performance Evaluator (оценка 1-10)
|
v
Prompt Optimizer (если оценка < 7 -> улучшить промпт)
|
v
Product Owner (закрывает Issue)
```
---
## Установка и использование
### Вариант A: Claude Code (рекомендуется)
#### Глобальная установка — команды работают во ВСЕХ проектах
```bash
git clone https://git.softuniq.eu/UniqueSoft/APAW.git
mkdir -p ~/.claude/commands ~/.claude/rules
cp APAW/.claude/commands/*.md ~/.claude/commands/
cp APAW/.claude/rules/global.md ~/.claude/rules/
# Заменить /project: на /user: во внутренних ссылках:
sed -i 's|/project:|/user:|g' ~/.claude/commands/*.md
```
После этого в **любом проекте** доступны команды `/user:pipeline`, `/user:refine` и т.д.
#### Установка в конкретный проект
```bash
git clone https://git.softuniq.eu/UniqueSoft/APAW.git
./APAW/install-apaw.sh /path/to/your-project
```
Скрипт создаёт `.claude/` в целевом проекте. Команды доступны как `/project:*`.
#### Быстрый старт
```
# Полный цикл от идеи до релиза:
/project:pipeline добавить эндпоинт авторизации через JWT
# или глобально (после глобальной установки):
/user:pipeline добавить эндпоинт авторизации через JWT
# Или пошагово:
/project:refine хочу кнопку экспорта в PDF
/project:mine экспорт PDF
/project:analyze экспорт PDF — user story + acceptance criteria
/project:tests ...
/project:implement ...
```
#### Таблица команд
| Команда | Агент | Модель | Назначение |
|---------|-------|--------|-----------|
| `/project:pipeline` | Pipeline Runner | Sonnet | Весь цикл одной командой |
| `/project:orchestrate` | Orchestrator | Sonnet | Маршрутизация по состоянию |
| `/project:refine` | Requirement Refiner | Sonnet | Вагные идеи → чеклист |
| `/project:mine` | History Miner | **Haiku** | Поиск дублей в git |
| `/project:analyze` | System Analyst | **Opus** | Схемы БД, API-контракты |
| `/project:tests` | SDET Engineer | Sonnet | TDD — пишет падающие тесты |
| `/project:implement` | Lead Developer | **Opus** | TDD — делает тесты зелёными |
| `/project:skeptic` | Code Skeptic | Sonnet | Adversarial ревью кода |
| `/project:perf` | Performance Engineer | Sonnet | N+1, утечки, блокировки |
| `/project:fix` | The Fixer | Sonnet | Точечные исправления |
| `/project:security` | Security Auditor | **Opus** | OWASP Top 10, CVE |
| `/project:release` | Release Manager | Sonnet | SemVer, gate-check, тег |
| `/project:evaluate` | Evaluator | **Haiku** | Оценка агентов 110 |
| `/project:optimize-prompts` | Prompt Optimizer | **Opus** | PromptOps авто-улучшение |
> Haiku = быстро и дёшево. Opus = максимальное качество. Sonnet = баланс.
---
### Вариант B: KiloCode (VS Code плагин)
```bash
git clone https://git.softuniq.eu/UniqueSoft/APAW.git
cp -r APAW/.kilocode /your-project/
cp APAW/.kilocodemodes /your-project/
```
KiloCode автоматически обнаружит `.kilocodemodes` и загрузит все режимы агентов.
Начните с **Requirement Refiner**, введя описание задачи на естественном языке.
---
## PromptOps: Эволюция промптов через Git
Все системные промпты хранятся в `.kilocode/agents/` и версионируются через Git:
- **Отслеживать эволюцию** — `git diff` покажет изменения, сделанные Prompt Optimizer
- **Откатывать изменения** — `git checkout` вернёт предыдущую версию промпта
- **Анализировать обучение** — частые коммиты в промпт означают, что агент требует доработки
Пример коммита от Prompt Optimizer:
```
chore(ai-brain): optimize Lead Dev prompt based on Issue #142 failures
- Added: "Always check type compatibility in index.d.ts before implementation"
- Reason: 4 fix iterations due to TypeScript interface mismatches
```
---
## Оценка эффективности
Файл `.kilocode/logs/efficiency_score.json` хранит историю оценок по каждому Issue:
```json
{
"version": "1.0",
"history": [
{
"issue": 142,
"date": "2026-03-31T10:30:00Z",
"agents": {
"requirement-refiner": 8,
"lead-developer": 6,
"code-skeptic": 9
},
"iterations": 3,
"duration_hours": 2.5
}
]
}
```
---
## Технический стек
- **Оркестрация**: Node.js / TypeScript (Agent Manager)
- **Интеграция**: KiloCode VS Code Extension
- **Версионирование**: Gitea + Git Flow
- **Язык разработки**: Go / Node.js (основные проекты)
- **Тестирование**: TDD (Red-Green-Refactor)
---
*Разработано в рамках проекта APAW (Automatic Programmers Agent Workflow) — 2026*