- Add review-watcher command that detects completion markers - Add fix-workflow skill for automatic fix task creation - Add review-watcher.sh script for monitoring issues - Automatic task creation based on issue severity - Integration with scoped labels (priority::, status::) Workflow: 1. Watcher detects /done, /completed, 'выполнено', 'готово' in comments 2. Runs validation (markdown, code, security, performance) 3. Creates fix tasks for issues found 4. Assigns tasks based on issue type 5. Updates parent issue with fix task links 6. Sets appropriate labels (status::fixing, status::blocked) Fix task priority: - Critical: Block merge, assign to @the-fixer - High: Fix before merge, assign to @lead-developer - Medium: Current sprint, add to backlog - Low: Optional, comment only
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 # История оценок
├── src/
│ └── kilocode/
│ ├── index.ts # Точка входа модуля
│ └── agent-manager/ # TypeScript-интеграция с KiloCode
│ ├── index.ts # Загрузчик конфигурации агентов
│ ├── workflow.ts # State Machine пайплайна
│ ├── router.ts # Маршрутизатор между агентами
│ ├── prompt-loader.ts # Динамическая загрузка промптов
│ ├── git-ops.ts # Git-операции (история, коммиты)
│ ├── evaluator.ts # Логика оценки эффективности
│ ├── gitea-client.ts # Gitea API для логирования
│ ├── pipeline-runner.ts # Оркестратор пайплайна
│ └── types.ts # TypeScript-типы системы
Состав команды (14 агентов)
Блок А: Вход и Планирование
| # | Роль | Модель | Специализация |
|---|---|---|---|
| 1 | Requirement Refiner | Kimi-k2-thinking | Транслирует задачи в строгие технические чек-листы |
| 2 | Orchestrator | GLM-5 | Главный диспетчер, управляет State Machine |
| 3 | History Miner | GPT-OSS 20B | Сканирует git log, предотвращает дублирование работы |
Блок Б: Проектирование
| # | Роль | Модель | Специализация |
|---|---|---|---|
| 4 | System Analyst | Qwen3.6-Plus (Free) | Создаёт схемы БД, TypeScript-интерфейсы и API-контракты |
| 5 | Product Owner | Qwen3.6-Plus (Free) | Управляет чек-листами в Issues и статусными лейблами |
Блок В: Производство
| # | Роль | Модель | Специализация |
|---|---|---|---|
| 6 | Lead Developer | Qwen3-Coder 480B | Пишет основной код (Go / Node.js) по TDD-спецификации |
| 7 | Frontend Dev | Kimi-k2.5 | UI-компоненты, мультимодальный анализ скриншотов |
| 8 | The Fixer | MiniMax-m2.5 | Итеративно исправляет баги после тестов и ревью |
Блок Г: Контроль Качества
| # | Роль | Модель | Специализация |
|---|---|---|---|
| 9 | SDET Engineer | Qwen3-Coder 480B | Пишет падающие тесты до реализации (TDD Red Phase) |
| 10 | Code Skeptic | MiniMax-m2.5 | Ищет race conditions, уязвимости, логические дыры |
| 11 | Performance Engineer | Nemotron-3-Super | Проверяет на N+1, утечки памяти, блокировки event loop |
| 12 | Security Auditor | Kimi-k2.5 | OWASP Top 10, SQL-инъекции, XSS, CVE в зависимостях |
Блок Д: Релиз и Самообучение
| # | Роль | Модель | Специализация |
|---|---|---|---|
| 13 | Release Manager | Qwen3-Coder 480B | SemVer, Git Flow, мердж только при Green Build |
| 14 | Performance Evaluator | GPT-OSS 120B | Оценивает эффективность каждого агента по шкале 1-10 |
| 15 | Prompt Optimizer | Qwen3.6-Plus (Free) | Анализирует ошибки и переписывает системные промпты |
Жизненный цикл задачи (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 (рекомендуется)
Глобальная установка — команды работают во ВСЕХ проектах
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 и т.д.
Установка в конкретный проект
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 | Оценка агентов 1–10 |
/project:optimize-prompts |
Prompt Optimizer | Opus | PromptOps авто-улучшение |
Haiku = быстро и дёшево. Opus = максимальное качество. Sonnet = баланс.
KiloCode Commands (Quick Actions)
| Command | Description | Model |
|---|---|---|
/plan |
Creates detailed task plans | ollama-cloud/qwen3-coder:480b |
/ask |
Answers codebase questions | openai/qwen3-32b |
/debug |
Analyzes and fixes bugs | ollama-cloud/gpt-oss:20b |
/code |
Quick code generation | ollama-cloud/qwen3-coder:480b |
KiloCode Pipeline Agents
| Agent | Role | Model |
|---|---|---|
@RequirementRefiner |
Converts vague ideas to strict User Stories | ollama-cloud/kimi-k2-thinking |
@HistoryMiner |
Finds duplicates and past solutions in git | ollama-cloud/gpt-oss:20b |
@SystemAnalyst |
Designs technical specifications | qwen/qwen3.6-plus:free |
@SDETEngineer |
Writes tests following TDD | ollama-cloud/qwen3-coder:480b |
@LeadDeveloper |
Primary code writer | ollama-cloud/qwen3-coder:480b |
@FrontendDeveloper |
UI implementation with multimodal | ollama-cloud/kimi-k2.5 |
@CodeSkeptic |
Adversarial code reviewer | ollama-cloud/minimax-m2.5 |
@TheFixer |
Iteratively fixes bugs | ollama-cloud/minimax-m2.5 |
@PerformanceEngineer |
Reviews for performance issues | ollama-cloud/nemotron-3-super |
@SecurityAuditor |
Scans for vulnerabilities | ollama-cloud/kimi-k2.5 |
@ReleaseManager |
Git operations and deployments | ollama-cloud/qwen3-coder:480b |
@Evaluator |
Scores agent effectiveness | ollama-cloud/gpt-oss:120b |
@PromptOptimizer |
Improves agent prompts | qwen/qwen3.6-plus:free |
@ProductOwner |
Manages issue checklists | qwen/qwen3.6-plus:free |
@Orchestrator |
Routes tasks between agents | ollama-cloud/glm-5 |
@AgentArchitect |
Manages agent network per Kilo.ai spec | qwen/qwen3.6-plus:free |
Note: For AgentArchitect, use
subagent_type: "system-analyst"with prompt "You are Agent Architect..." (workaround for unsupported agent-architect type).
Конфигурация разрешений агентов
Все агенты настроены для автономной работы без запросов разрешений на каждое действие:
| Агент | read | edit | write | bash | glob | grep | task |
|---|---|---|---|---|---|---|---|
| orchestrator | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | 15 subagents |
| lead-developer | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | code-skeptic |
| frontend-developer | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | deny |
| sdet-engineer | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | lead-developer |
| the-fixer | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | code-skeptic, orchestrator |
| code-skeptic | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | the-fixer, performance-eng |
| performance-engineer | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | the-fixer, security-auditor |
| security-auditor | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | the-fixer, release-manager |
| evaluator | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ | prompt-optimizer, product-owner |
| requirement-refiner | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | history-miner, system-analyst |
| history-miner | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | deny |
| system-analyst | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | deny |
| product-owner | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | deny |
| release-manager | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | evaluator |
| prompt-optimizer | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | deny |
| agent-architect | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | deny |
Категории разрешений:
- Code Writers (lead-developer, frontend-developer, sdet-engineer, the-fixer) — полный доступ для написания кода
- Reviewers (code-skeptic, performance-engineer, security-auditor, evaluator) — только чтение, без редактирования
- Analysts (requirement-refiner, history-miner, system-analyst, product-owner) — чтение + создание спецификаций
- Release Manager — полный доступ для git-операций
- Configurators (prompt-optimizer, agent-architect) — полный доступ для редактирования конфигураций
Вариант B: KiloCode (VS Code плагин)
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:
{
"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
}
]
}
KiloCode Workflows Integration
Проект интегрирован с KiloCode Workflows (slash commands):
Доступные команды
| Команда | Описание | Пример |
|---|---|---|
/pipeline <issue> |
Запуск полного пайплайна | /pipeline 42 |
/status <issue> |
Проверка статуса пайплайна | /status 42 |
/evaluate <issue> |
Генерация отчёта эффективности | /evaluate 42 |
/plan |
Создание детального плана | /plan feature X |
/ask |
Вопросы по кодовой базе | /ask how does auth work |
/debug |
Анализ и исправление багов | /debug error in login |
/code |
Быстрая генерация кода | /code add validation |
Как использовать Pipeline
- Откройте проект в VS Code с плагином KiloCode
- Создайте Issue в Gitea
- Введите
/pipeline <номер-issue>в чате KiloCode - Пайплайн автоматически:
- Получит контекст Issue
- Проверит дубликаты в git
- Маршрутизирует через агентов по статусу
- Логирует прогресс в комментарии Gitea
- Сгенерирует итоговый отчёт
Workflow файлы
| Файл | Назначение |
|---|---|
.kilo/commands/pipeline.md |
Основной workflow пайплайна |
.kilo/commands/status.md |
Проверка статуса |
.kilo/commands/evaluate.md |
Оценка эффективности |
.kilo/agents/*.md |
Определения агентов (subagents) |
.kilo/rules/*.md |
Правила кодирования |
.kilo/skills/gitea/ |
Gitea integration skill |
Прямой вызов агентов
Агентов можно вызывать напрямую через @mention:
@lead-developer implement authentication flow
@code-skeptic review the auth module
@security-auditor check for vulnerabilities
Технический стек
- Оркестрация: Node.js / TypeScript (Agent Manager)
- Интеграция: KiloCode VS Code Extension / Claude Code
- Версионирование: Gitea + Git Flow
- Язык разработки: TypeScript / Node.js / Go
- Тестирование: TDD (Red-Green-Refactor)
Agent Manager API
Новый модуль src/kilocode/ предоставляет программный API для работы с пайплайном:
Установка
bun install
bun run build
Использование
import {
PipelineRunner,
GiteaClient,
decideRouting,
WORKFLOW_GRAPH,
type AgentRole,
type IssueStatus
} from './src/kilocode/index.js'
// Инициализация пайплайна
const runner = await createPipelineRunner({
giteaToken: process.env.GITEA_TOKEN,
giteaApiUrl: 'https://git.softuniq.eu/api/v1',
efficiencyThreshold: 7,
autoLog: true
})
// Запуск пайплайна для Issue
const result = await runner.run({
issueNumber: 42,
files: ['src/auth.ts', 'src/user.ts'],
testResults: { passed: 5, failed: 0 }
})
// Определение следующего агента
const decision = decideRouting({
status: 'implementing',
labels: ['status: implemented'],
checklists: { completed: 3, total: 5 },
comments: [],
files: ['src/auth.ts']
})
console.log(decision.nextAgent) // 'code-skeptic'
Gitea интеграция
const client = new GiteaClient({
apiUrl: 'https://git.softuniq.eu/api/v1',
token: process.env.GITEA_TOKEN
})
client.setRepository('UniqueSoft', 'APAW')
// Получить Issue
const issue = await client.getIssue(42)
// Установить статус
await client.setStatus(42, 'implementing')
// Добавить комментарий
await client.createComment(42, {
body: '## ✅ Implementation Complete\n\nAll tests passed.'
})
// Закрыть Issue
await client.closeIssue(42)
Логирование эффективности
await runner.logEvaluation(42, [
{ agent: 'lead-developer', score: 8, notes: 'Clean implementation' },
{ agent: 'code-skeptic', score: 7, notes: 'Found 2 minor issues' },
{ agent: 'the-fixer', score: 9, notes: 'Fixed issues quickly', iterations: 1 }
], 2, 1.5)
Self-Improving Pipeline
Система автоматически логирует эффективность каждого агента в Gitea Issues:
- Pipeline Runner запускается для каждой задачи
- Каждый агент логирует свой прогресс в комментарии Issue
- Evaluator оценивает эффективность агентов (1-10)
- Prompt Optimizer получает агентов с низкими оценками (<7)
- Промпты автоматически улучшаются на основе анализа
Журнал эффективности сохраняется в .kilo/logs/efficiency_score.json для аналитики.
Переменные окружения
# Gitea API
GITEA_API_URL=https://git.softuniq.eu/api/v1
GITEA_TOKEN=your-token-here
Удаление дубликатов
Если в проекте есть старые файлы в packages/opencode/, выполните:
sudo rm -rf packages/opencode/src/kilocode/
Код интегрирован в src/kilocode/.
Разработано в рамках проекта APAW (Automatic Programmers Agent Workflow) — 2026