An open API service indexing awesome lists of open source software.

https://github.com/core-euler/aidd

AI Driven Development
https://github.com/core-euler/aidd

ai documentation llm specification

Last synced: 26 days ago
JSON representation

AI Driven Development

Awesome Lists containing this project

README

          

# LLM-Driven Development

Методология разработки программного обеспечения, где главным артефактом является не код, а документация. Код генерируется нейросетью на основе спецификаций.

## Идея

**Традиционный подход:**
```
Разработчик → Код → Документация (если повезёт)
```

**LLM-Driven подход:**
```
Разработчик → Документация + Тесты → LLM → Код
```

Код становится производной от документации. Если код потерян — его можно воспроизвести. Если разработчик ушёл — знания остались.

## Главный принцип

**Контекст — главное оружие.**

LLM имеет ограниченное контекстное окно. Каждый символ на счету. Поэтому:
- Больше сути, меньше воды
- Никакого кода в документации
- Никакого псевдокода
- Только человеческий язык и схемы

## Для кого

Для инженеров, которые:
- Понимают архитектуру программных систем
- Умеют работать с LLM
- Хотят ускорить разработку в разы
- Готовы думать на уровне "что делаем", а не "как пишем"

**Важно:** LLM — усилитель, не замена. Методология требует технического понимания. Человек без навыков не воспроизведёт проект даже с идеальной документацией.

## Что в репозитории

```
├── method.md # Методичка LLM‑Driven разработки
├── spawn.md # Промпт для репродукции
├── reproducibility.md # Концепция воспроизводимости
├── demo/ # Демо‑проект (aiogram + PostgreSQL)
│ ├── docs/ # Полный набор артефактов воспроизводимости
│ ├── bot/ # Реализация бота
│ └── docker-compose.yml # Оркестрация окружения
└── .claude/ # Локальная инфраструктура промптов/стандартов
├── agents/ # Роли и системные агенты
├── commands/ # Шаблоны команд
├── standards/ # Стандарты и правила
├── PROCESS.md # Процесс разработки
├── RULES.md # Правила работы
└── README.md # Описание структуры .claude
```

## Демо‑проект

В `demo/` находится реальный проект GameTODO Bot, реализованный на aiogram. Документация в `demo/docs/` позволяет воспроизвести продукт без доступа к коду.

Ключевые артефакты воспроизводимости:
- `demo/docs/SPEC.md`
- `demo/docs/DNA.md`
- `demo/docs/DNA_MAP.md`
- `demo/docs/TEST_CONTRACT.md`
- `demo/docs/ANTIPATTERNS.md`

Запуск демо:
```
docker-compose up
```

## Быстрый старт

### 1. Создай спецификацию

Возьми ТЗ от заказчика. Загрузи в Claude Opus (или аналог). Потребуй задать уточняющие вопросы. Отвечай подробно. Получи спецификацию.

### 2. Разбей на этапы

Каждый этап должен:
- Давать видимый результат
- Быть тестируемым вручную
- Первый этап — всегда клиентская сторона

### 3. Документируй без кода

Описывай словами: что делает функция, какие данные на входе, какие на выходе, какие ошибки возможны. LLM сам решит, как это написать.

### 4. Пиши тесты до реализации

Тесты — второй источник истины после документации. TDD обязателен.

### 5. Фиксируй ошибки

- `issues.md` — проблемы логики и архитектуры
- `antipatterns.md` — ошибки выполнения с трейсбэками

### 6. Актуализируй документацию

Одна версия. Без spec-v1, spec-v2, spec-v3. Только актуальное состояние + changelog.

## Ключевые правила

| Правило | Почему |
|---------|--------|
| Никакого кода в документации | LLM воспринимает код как директиву и слепо следует |
| Одна версия документации | Множество версий = хаос и рассинхрон |
| Один чат = одна роль | Чистый контекст, фокус, качество |
| Не трогать работающий код | LLM любит "улучшать" то, что работает |
| Docker Compose обязателен | Воспроизводимость окружения |
| Частые коммиты | Git спасает, когда LLM ломает |

## Воспроизводимость

Цель методологии — **полная воспроизводимость**.

Проект считается воспроизводимым, если инженер с навыками LLM может получить работающий продукт из документации за 0-2 итерации.

**Уровни:**

| Уровень | Итерации | Описание |
|---------|----------|----------|
| 4 | 0 | Идеал. Работает с первого раза |
| 3 | 1-2 | Хорошо. Минорные уточнения |
| 2 | 3-4 | Средне. Есть пробелы |
| 1 | 5+ | Плохо. Требует автора |
| 0 | — | Невоспроизводимо |

Подробнее: [reproducibility.md](reproducibility.md)

## .claude

Папка `.claude/` содержит локальные агенты, правила и шаблоны команд для работы с LLM‑инструментами. Актуальная структура и назначение описаны в `.claude/README.md`.

## Роль человека

Человек управляет системой. Он обязан понимать:
- Архитектуру
- Инфраструктуру
- Бизнес-логику

Человеку НЕ нужно знать:
- Синтаксис языка
- Алгоритмы сортировки
- Как устроены декораторы

**Архитектурное мышление важнее навыков кодинга.**

## Лицензия

MIT