swp 97bc4902ea feat: add review-watcher and fix-workflow automation
- 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
2026-04-04 01:44:53 +01:00

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 Оценка агентов 110
/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

  1. Откройте проект в VS Code с плагином KiloCode
  2. Создайте Issue в Gitea
  3. Введите /pipeline <номер-issue> в чате KiloCode
  4. Пайплайн автоматически:
    • Получит контекст 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:

  1. Pipeline Runner запускается для каждой задачи
  2. Каждый агент логирует свой прогресс в комментарии Issue
  3. Evaluator оценивает эффективность агентов (1-10)
  4. Prompt Optimizer получает агентов с низкими оценками (<7)
  5. Промпты автоматически улучшаются на основе анализа

Журнал эффективности сохраняется в .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

Description
No description provided
Readme 1.5 MiB
Languages
TypeScript 32.1%
HTML 25.5%
Shell 20.9%
JavaScript 15.6%
Batchfile 3.8%
Other 2.1%