Files
APAW/README.md
¨NW¨ b46a1a20a8 feat: add PHP development stack, atomic tasks, modular code rules, agent monitoring, fix target project detection
7 evolutionary tasks implemented:

1. PHP web development: php-developer agent + 6 skills (Laravel, Symfony, WordPress, security, testing, modular architecture) + 2 pipeline commands (/laravel, /wordpress)

2. Atomic task decomposition: 1 action = 1 task rule, task sizing guide, decomposition protocol for orchestrator, token budgets per complexity

3. Modular code rules: max 100 lines/file, max 30 lines/function, service/repository patterns, cross-module communication via events only

4. Gitea-centric workflow: mandatory issue creation before work, research with links, progress checkboxes, screenshots on test, git history as knowledge base

5. Fix: target project auto-detection — removed all hardcoded UniqueSoft/APAW from API calls, added get_target_repo() via git remote, GITEA_TARGET_REPO env override

6. Agent execution monitoring: agent-executions.jsonl logging, agent-stats.ts statistics script, required fields per invocation, Gitea comment includes duration/tokens

7. Token optimization: 1 action = 1 task principle, token budgets by task type, routing matrix, no scope creep, skip unnecessary pipeline steps
2026-04-18 23:43:04 +01:00

360 lines
13 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
**Self-Improving Agent Pipeline** — автономная система из 29+ специализированных ИИ-агентов с автоматической эволюцией промптов, мониторингом выполнения и модульной архитектурой.
---
## Архитектура
```
APAW/
├── .kilo/ # KiloCode конфигурация
│ ├── agents/ # 29 агентов (YAML frontmatter)
│ ├── commands/ # Workflow команды (/pipeline, /laravel, /wordpress, etc.)
│ ├── rules/ # Правила кодирования (атомарные задачи, модульность, токены)
│ ├── skills/ # Специализированные навыки (PHP, Go, Node, Docker, Gitea)
│ ├── shared/ # Общие модули (gitea-api, gitea-commenting, self-evolution)
│ ├── logs/ # Логи выполнения агентов и fitness-метрики
│ ├── capability-index.yaml # Индекс возможностей и маршрутизация
│ ├── kilo.jsonc # Конфигурация primary агентов
│ └── KILO_SPEC.md # Спецификация агентов
├── agent-evolution/ # Dashboard эволюции агентов
│ ├── index.standalone.html # Standalone dashboard
│ ├── scripts/ # Scripts синхронизации
│ ├── data/ # История изменений
│ └── docker-compose.yml # Docker запуск
├── scripts/ # Utility scripts
│ └── agent-stats.ts # Статистика выполнения агентов
├── AGENTS.md # Справка по агентам
├── STRUCTURE.md # Структура проекта
└── README.md # Этот документ
```
---
## Быстрый старт
### Использование с KiloCode
```bash
# Клонировать репозиторий
git clone https://git.softuniq.eu/UniqueSoft/APAW.git
# Скопировать конфигурацию в проект
cp -r APAW/.kilo /your-project/
```
KiloCode автоматически обнаружит `.kilo/` и загрузит всех агентов.
### Запуск Dashboard эволюции
```bash
# Standalone (без Docker)
bun run sync:evolution
open agent-evolution/index.standalone.html
# Или через Docker
cd agent-evolution
docker-compose up -d
# Dashboard доступен на http://localhost:3001
```
### Мониторинг агентов
```bash
# Статистика выполнения за 30 дней
bun run agent:stats
# За последнюю неделю
bun run agent:stats:week
# По конкретному проекту
bun run agent:stats --project UniqueSoft/my-shop
```
---
## Команда агентов (29+)
### Планирование и Анализ
| Агент | Модель | Назначение |
|-------|--------|------------|
| `@orchestrator` | GLM-5 | Главный диспетчер, маршрутизация задач |
| `@requirement-refiner` | GLM-5 | Идеи → User Stories |
| `@history-miner` | Nemotron-3-Super | Поиск дублей в git |
| `@system-analyst` | GLM-5 | Схемы БД, API контракты |
| `@planner` | Nemotron-3-Super | Декомпозиция задач (CoT/ToT) |
| `@capability-analyst` | GLM-5 | Gap analysis |
### Разработка
| Агент | Модель | Назначение |
|-------|--------|------------|
| `@lead-developer` | Qwen3-Coder 480B | Основной код по TDD |
| `@frontend-developer` | Qwen3-Coder 480B | UI компоненты |
| `@backend-developer` | Qwen3-Coder 480B | Node.js/Express APIs |
| `@php-developer` | Qwen3-Coder 480B | PHP/Laravel/Symfony/WordPress |
| `@go-developer` | Qwen3-Coder 480B | Go/Gin/Echo APIs |
| `@flutter-developer` | Qwen3-Coder 480B | Flutter mobile apps |
| `@devops-engineer` | Nemotron-3-Super | Docker, K8s, CI/CD |
### Качество
| Агент | Модель | Назначение |
|-------|--------|------------|
| `@sdet-engineer` | Qwen3-Coder 480B | TDD Red Phase |
| `@code-skeptic` | MiniMax-m2.5 | Adversarial ревью |
| `@the-fixer` | MiniMax-m2.5 | Исправление багов |
| `@performance-engineer` | Nemotron-3-Super | N+1, утечки памяти |
| `@security-auditor` | Nemotron-3-Super | OWASP Top 10, CVE |
### Релиз и Метрики
| Агент | Модель | Назначение |
|-------|--------|------------|
| `@release-manager` | GLM-5 | Git Flow, SemVer |
| `@evaluator` | GLM-5 | Оценка агентов 1-10 |
| `@pipeline-judge` | GLM-5 | Объективный fitness score |
| `@prompt-optimizer` | GLM-5 | Улучшение промптов |
| `@product-owner` | GLM-5 | Управление Issues |
### Когнитивное усиление
| Агент | Паттерн | Назначение |
|-------|---------|------------|
| `@reflector` | Reflexion | Анализ ошибок |
| `@memory-manager` | Memory Arch | Управление контекстом |
---
## Pipeline Workflow
```
[Issue в целевом проекте]
[@requirement-refiner] → User Story + Acceptance Criteria
[@history-miner] → Проверка дублей
[@system-analyst] → Схемы БД, API контракты
[@sdet-engineer] → TDD Red Phase (тесты падают)
[@lead-developer] / [@php-developer] → TDD Green Phase
[@code-skeptic] → Adversarial review
↓ (fail) ↓ (pass)
[@the-fixer] [@performance-engineer]
↓ ↓
─────────────────→ [@security-auditor]
[@release-manager]
[@evaluator] → Score 1-10
↓ (score ≥ 7)
[@pipeline-judge] → Fitness 0.0-1.0
fitness ≥ 0.85 → COMPLETED
fitness < 0.85 → [@prompt-optimizer] → evolving
```
---
## Критические правила
### Целевой проект (НЕ APAW!)
**Issues создаются в целевом проекте, а НЕ в APAW.** APAW — фреймворк агентов, а не проект по умолчанию.
```bash
# Автоопределение проекта из git remote
TARGET_REPO=$(git remote get-url origin | sed -E 's|.*[:/]([^/]+/[^/]+?)(\.git)?$|\1|')
```
### Атомарные задачи (1 действие = 1 задача)
Каждый вызов агента решает ровно ОДНУ атомарную задачу:
- ❌ "Реализуй весь бэкенд интернет-магазина"
- ✅ "Создай модель Product с миграцией"
- ✅ "Добавь POST /api/products endpoint"
### Модульный код
- Максимум 100 строк на файл
- Максимум 30 строк на функцию
- Фичи организованы как независимые модули
- Коммуникация между модулями — только через events/interfaces
### Бюджет токенов
| Размер задачи | Макс. токенов | Пример |
|-------------|-------------|---------|
| Tiny | 2,000 | Исправить опечатку |
| Small | 5,000 | Модель + миграция |
| Medium | 10,000 | API endpoint + тест |
| Large | 20,000 | Сервис с 3 методами |
---
## Конфигурация
### Models (kilo.jsonc)
Primary агенты для UI:
- `orchestrator` — GLM-5 (главный диспетчер)
- `code` — Qwen3-Coder 480B (быстрый код)
- `ask` — GLM-5 (вопросы по коду)
- `plan` — Nemotron-3-Super (планирование)
- `debug` — GLM-5 (диагностика)
Subagent модели определены в `.md` файлах агентов.
### Capability Index (capability-index.yaml)
Карта возможностей для маршрутизации:
- `code_writing``lead-developer`
- `code_review``code-skeptic`
- `test_writing``sdet-engineer`
- `php_web_development``php-developer`
- `laravel_development``php-developer`
- `wordpress_development``php-developer`
- `security``security-auditor`
- и т.д.
---
## Эволюция агентов
Система автоматически отслеживает:
- Изменения моделей
- Оценки производительности
- Fitness score (объективные метрики)
- Рекомендации по улучшению
- Логи выполнения каждого агента
```bash
# Синхронизировать данные
bun run sync:evolution
# Открыть dashboard
bun run evolution:open
# Статистика агентов
bun run agent:stats
```
---
## Skills System
Навыки в `.kilo/skills/`:
### PHP
- `php-laravel-patterns` — Laravel routing, Eloquent, middleware, queues
- `php-symfony-patterns` — Symfony controllers, services, Doctrine
- `php-wordpress-patterns` — WordPress plugins, themes, REST API
- `php-security` — OWASP, CSRF, XSS, SQL injection
- `php-testing` — PHPUnit, Pest, Dusk
- `php-modular-architecture` — Modules, packages, service separation
### Инфраструктура
- `gitea-workflow` — Gitea интеграция (автодетекция проекта)
- `gitea-commenting` — Автоматические комментарии
- `agent-logging` — Логирование выполнения агентов
### Docker / БД
- `docker-compose`, `docker-swarm`, `docker-security`, `docker-monitoring`
- `postgresql-patterns`, `sqlite-patterns`, `clickhouse-patterns`
### Go / Node
- `go-web-patterns`, `go-middleware`, `go-testing`, `go-security`
- `nodejs-express-patterns`, `nodejs-auth-jwt`, `nodejs-security-owasp`
### Тестирование / Анализ
- `web-testing`, `visual-testing`, `playwright`
- `research-cycle`, `planning-patterns`, `task-analysis`
- `quality-controller`, `scoped-labels`
---
## Workflow Commands
| Команда | Назначение |
|---------|------------|
| `/pipeline <issue>` | Полный пайплайн для issue |
| `/laravel` | Laravel приложение |
| `/wordpress` | WordPress сайт/плагин |
| `/feature` | Разработка фичи |
| `/commerce` | E-commerce сайт |
| `/booking` | Бронирование |
| `/blog` | Блог |
| `/hotfix` | Срочное исправление |
| `/status <issue>` | Статус пайплайна |
| `/evolve` | Цикл эволюции |
| `/plan` | Планирование задач |
| `/debug` | Диагностика багов |
| `/ask` | Вопросы по коду |
| `/code` | Быстрый код |
| `/research` | Исследование |
---
## Переменные окружения
```bash
GITEA_API_URL=https://git.softuniq.eu/api/v1
GITEA_TOKEN=your-token-here
GITEA_TARGET_REPO=UniqueSoft/my-project # Переопределение проекта
```
---
## Мониторинг выполнения
Каждый вызов агента логируется в `.kilo/logs/agent-executions.jsonl`:
```jsonl
{"ts":"2026-04-18T14:00:00Z","agent":"php-developer","issue":42,"project":"UniqueSoft/my-shop","task":"Create Product model","subtask_type":"model_creation","duration_ms":45000,"tokens_used":8500,"status":"success","files":["app/Models/Product.php"],"score":8,"next_agent":"code-skeptic"}
```
```bash
# Статистика агентов
bun run agent:stats
# За неделю
bun run agent:stats:week
# По проекту
bun run agent:stats:project --project UniqueSoft/my-shop
```
---
## Технический стек
| Layer | Technology |
|-------|------------|
| Runtime | TypeScript / Node.js / Bun |
| Agent Runtime | KiloCode VS Code Extension |
| Version Control | Gitea + Git Flow |
| Languages | TypeScript / PHP / Go / Dart |
| Testing | TDD (Red-Green-Refactor), PHPUnit, Pest |
| Containerization | Docker / Docker Compose |
---
## Статус проекта
✅ Production Ready
✅ 29 агентов
✅ Self-improving pipeline с fitness scoring
✅ Gitea интеграция с автодетекцией проекта
✅ Agent Evolution Dashboard
✅ Мониторинг выполнения агентов
✅ PHP/Laravel/Symfony/WordPress поддержка
✅ Атомарные задачи и модульная архитектура
---
*APAW (Automatic Programmers Agent Workflow) — 2026*