@jakerdy/agentica 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +291 -0
- package/dist/cli.js +64 -0
- package/dist/cli.js.map +27 -0
- package/globals/anti-spaghetti.md +65 -0
- package/globals/lang-python.md +105 -0
- package/globals/lang-typescript.md +61 -0
- package/globals/use-agentica.md +127 -0
- package/package.json +55 -0
- package/prompts/architect.prompt.md +302 -0
- package/prompts/change.prompt.md +915 -0
- package/prompts/create.prompt.md +953 -0
- package/prompts/implement.prompt.md +389 -0
- package/prompts/init.prompt.md +123 -0
- package/prompts/readme.prompt.md +355 -0
- package/prompts/refactor.prompt.md +712 -0
- package/prompts/reverse.prompt.md +777 -0
- package/prompts/tasks.prompt.md +1041 -0
- package/prompts/validate.prompt.md +480 -0
- package/stacks/python/cli/product.md +41 -0
- package/stacks/python/cli/structure.md +40 -0
- package/stacks/python/cli/tech.md +29 -0
- package/stacks/python/gui/product.md +41 -0
- package/stacks/python/gui/structure.md +41 -0
- package/stacks/python/gui/tech.md +29 -0
- package/stacks/python/lib/product.md +41 -0
- package/stacks/python/lib/structure.md +34 -0
- package/stacks/python/lib/tech.md +30 -0
- package/stacks/python/monorepo/product.md +41 -0
- package/stacks/python/monorepo/structure.md +29 -0
- package/stacks/python/monorepo/tech.md +30 -0
- package/stacks/typescript/cli/product.md +41 -0
- package/stacks/typescript/cli/structure.md +34 -0
- package/stacks/typescript/cli/tech.md +31 -0
- package/stacks/typescript/lib/product.md +41 -0
- package/stacks/typescript/lib/structure.md +33 -0
- package/stacks/typescript/lib/tech.md +31 -0
- package/stacks/typescript/monorepo/product.md +41 -0
- package/stacks/typescript/monorepo/structure.md +34 -0
- package/stacks/typescript/monorepo/tech.md +47 -0
- package/stacks/typescript/server/product.md +41 -0
- package/stacks/typescript/server/structure.md +35 -0
- package/stacks/typescript/server/tech.md +30 -0
- package/stacks/typescript/spa/product.md +41 -0
- package/stacks/typescript/spa/structure.md +36 -0
- package/stacks/typescript/spa/tech.md +29 -0
- package/templates/architecture/AR-0000 - /320/220/321/200/321/205/320/270/321/202/320/265/320/272/321/202/321/203/321/200/320/260 /321/204/320/270/321/207/320/270 /320/270/320/273/320/270 /320/274/320/276/320/264/321/203/320/273/321/217 XXX.md" +136 -0
- package/templates/change/CH-0000 - /320/230/320/267/320/274/320/265/320/275/320/265/320/275/320/270/320/265 /320/262 /321/204/320/270/321/207/320/265 /320/270/320/273/320/270 /320/274/320/276/320/264/321/203/320/273/320/265 XXX.md" +33 -0
- package/templates/feature/FT-0000 - /320/235/320/260/320/267/320/262/320/260/320/275/320/270/320/265 /321/204/320/270/321/207/320/270 /320/270/320/273/320/270 /320/274/320/276/320/264/321/203/320/273/321/217 XXX/product.md" +121 -0
- package/templates/feature/FT-0000 - /320/235/320/260/320/267/320/262/320/260/320/275/320/270/320/265 /321/204/320/270/321/207/320/270 /320/270/320/273/320/270 /320/274/320/276/320/264/321/203/320/273/321/217 XXX/tasks.md" +38 -0
- package/templates/feature/FT-0000 - /320/235/320/260/320/267/320/262/320/260/320/275/320/270/320/265 /321/204/320/270/321/207/320/270 /320/270/320/273/320/270 /320/274/320/276/320/264/321/203/320/273/321/217 XXX/tech.md" +155 -0
- package/templates/feature/FT-0000 - /320/235/320/260/320/267/320/262/320/260/320/275/320/270/320/265 /321/204/320/270/321/207/320/270 /320/270/320/273/320/270 /320/274/320/276/320/264/321/203/320/273/321/217 XXX/validation.md" +31 -0
|
@@ -0,0 +1,355 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: agentica.readme
|
|
3
|
+
description: Генерация пользовательской документации для реализованной спецификации
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## Ввод пользователя
|
|
7
|
+
|
|
8
|
+
```text
|
|
9
|
+
$ARGUMENTS
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Ты **ОБЯЗАН** учесть ввод пользователя (аргументы и контекст) перед тем как продолжить.
|
|
13
|
+
|
|
14
|
+
## Цель и принципы работы
|
|
15
|
+
|
|
16
|
+
Твоя задача — создать краткую обзорную документацию для реализованной фичи (FT-XXXX), которая поможет разработчику **быстро восстановить контекст**.
|
|
17
|
+
Работай линейно: **Валидация контекста → Чтение спецификации → Анализ реализации → Генерация README**.
|
|
18
|
+
|
|
19
|
+
Хороший README — это не пересказ всей спецификации, а **сжатый обзор** с ключевой информацией и ссылками на детали.
|
|
20
|
+
|
|
21
|
+
**Ключевые принципы:**
|
|
22
|
+
1. **Краткость:** 1-2 экрана текста, без избыточных деталей.
|
|
23
|
+
2. **Ориентация на читателя:** Незнакомый разработчик должен быстро понять ЧТО, ЗАЧЕМ, КАК.
|
|
24
|
+
3. **Ссылки, а не копипаста:** Не дублируй содержимое других документов — давай ссылки.
|
|
25
|
+
4. **Практичность:** Примеры использования, точки входа в код.
|
|
26
|
+
5. **Memory как контекст:** Используй факты из `memory` для понимания архитектуры.
|
|
27
|
+
|
|
28
|
+
### Глобальные запреты (Safety Guards)
|
|
29
|
+
|
|
30
|
+
Останови выполнение и не продолжай работу, если:
|
|
31
|
+
1. Спецификация FT-XXXX **не существует** (остановись и предложи пользователю воспользоваться агентом: `agentica.create`).
|
|
32
|
+
2. Реализация **не завершена** — tasks.md показывает незакрытые задачи (остановись и предложи пользователю воспользоваться агентом: `agentica.implement`).
|
|
33
|
+
3. Запрос требует **создания технической документации** (это brief, не tech-doc).
|
|
34
|
+
|
|
35
|
+
В случае остановки: объясни причину и предложи корректную команду.
|
|
36
|
+
|
|
37
|
+
## Топология и размещение файлов
|
|
38
|
+
|
|
39
|
+
**Структура спецификации:**
|
|
40
|
+
```
|
|
41
|
+
FT-XXXX - <Название фичи>/
|
|
42
|
+
├── product.md # Продуктовое описание
|
|
43
|
+
├── tech.md # Техническое решение
|
|
44
|
+
├── research.md # Исследование библиотек (опционально)
|
|
45
|
+
├── tasks.md # Задачи для реализации
|
|
46
|
+
├── validation.md # Критерии приемки
|
|
47
|
+
├── validation-report.md # Отчёт валидации (если была)
|
|
48
|
+
└── README.md # СОЗДАЁТСЯ ЭТОЙ КОМАНДОЙ
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Фаза 1: Валидация контекста
|
|
52
|
+
|
|
53
|
+
### Шаг 1.1: Поиск спецификации FT-XXXX
|
|
54
|
+
|
|
55
|
+
Определи номер целевой спецификации:
|
|
56
|
+
|
|
57
|
+
**Вариант A: Явное указание**
|
|
58
|
+
```text
|
|
59
|
+
/agentica.readme --id FT-0012
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
**Вариант B: Из контекста git ветки**
|
|
63
|
+
```bash
|
|
64
|
+
git branch --show-current
|
|
65
|
+
# Извлеки FT-XXXX из паттерна: <scope-id>/FT-XXXX-<slug>
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
**Вариант C: Из открытого файла**
|
|
69
|
+
Проверь путь открытого файла — если содержит `.agentica/features/FT-XXXX`, извлеки номер.
|
|
70
|
+
|
|
71
|
+
**Вариант D: Интерактивный выбор**
|
|
72
|
+
Если контекста недостаточно — просканируй `.agentica/features/` и задай вопрос через интсрумент `ask_questions`.
|
|
73
|
+
|
|
74
|
+
### Шаг 1.2: Проверка готовности
|
|
75
|
+
|
|
76
|
+
Проверь наличие обязательных файлов:
|
|
77
|
+
1. `product.md` — **ОБЯЗАТЕЛЬНО**
|
|
78
|
+
2. `tech.md` — **ОБЯЗАТЕЛЬНО**
|
|
79
|
+
3. `tasks.md` — **ОБЯЗАТЕЛЬНО** (должен быть заполнен)
|
|
80
|
+
|
|
81
|
+
Если tasks.md показывает незакрытые задачи — предупреди пользователя, что реализация не завершена.
|
|
82
|
+
|
|
83
|
+
## Фаза 2: Сбор информации
|
|
84
|
+
|
|
85
|
+
### Шаг 2.1: Чтение спецификации
|
|
86
|
+
|
|
87
|
+
Прочитай (используй параллельное чтение):
|
|
88
|
+
1. `product.md` — продуктовый контекст, мотивация, user stories
|
|
89
|
+
2. `tech.md` — архитектурные решения, структура
|
|
90
|
+
3. `research.md` — если есть, библиотеки
|
|
91
|
+
4. `tasks.md` — список реализованных компонентов
|
|
92
|
+
5. `validation-report.md` — если есть, итоги валидации
|
|
93
|
+
|
|
94
|
+
### Шаг 2.2: Анализ реализации
|
|
95
|
+
|
|
96
|
+
На основе `tasks.md` определи:
|
|
97
|
+
1. Какие компоненты были созданы (список файлов)
|
|
98
|
+
2. Какие модули были интегрированы
|
|
99
|
+
3. Точки входа (CLI команды, API endpoints, UI компоненты)
|
|
100
|
+
|
|
101
|
+
Используй `semantic_search` или `grep_search` для поиска:
|
|
102
|
+
- Публичных API (exported функции/классы)
|
|
103
|
+
- Entry points (main.ts, cli.ts, routes.ts)
|
|
104
|
+
- Примеров использования в тестах
|
|
105
|
+
|
|
106
|
+
### Шаг 2.3: Извлечение контекста из Memory
|
|
107
|
+
|
|
108
|
+
IDE автоматически предоставит доступ к релевантным фактам из `memory`, собранным на этапах `create`, `tasks`, `implement`.
|
|
109
|
+
|
|
110
|
+
**Релевантные subject'ы для поиска:**
|
|
111
|
+
- `@<scope>/FT-XXXX--existing-modules` — существующие модули, с которыми интегрируется фича
|
|
112
|
+
- `@<scope>/FT-XXXX--patterns` — использованные паттерны проектирования
|
|
113
|
+
- `@<scope>/FT-XXXX--libraries` — подключённые библиотеки и их назначение
|
|
114
|
+
- `@<scope>/FT-XXXX--integration-points` — точки интеграции с существующим кодом
|
|
115
|
+
- `@<scope>/FT-XXXX--dependencies` — граф зависимостей между компонентами
|
|
116
|
+
- `@<scope>/FT-XXXX--structure` — структура файлов и модулей
|
|
117
|
+
|
|
118
|
+
Используй эти факты для:
|
|
119
|
+
- Раздела "Архитектура" — понимание структуры и зависимостей
|
|
120
|
+
- Раздела "Технический стек" — библиотеки и паттерны
|
|
121
|
+
- Раздела "Связанные модули" — интеграции с существующим кодом
|
|
122
|
+
|
|
123
|
+
## Фаза 3: Генерация README.md
|
|
124
|
+
|
|
125
|
+
### Шаг 3.1: Структура документа
|
|
126
|
+
|
|
127
|
+
README должен следовать этой структуре:
|
|
128
|
+
|
|
129
|
+
````markdown
|
|
130
|
+
# FT-XXXX: <Название фичи>
|
|
131
|
+
|
|
132
|
+
> <Однострочное описание: что делает фича>
|
|
133
|
+
|
|
134
|
+
**Статус:** ✅ Реализовано | 🚧 В разработке | ⚠️ Частично реализовано
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## 📋 Обзор
|
|
139
|
+
|
|
140
|
+
<2-3 абзаца: ЧТО это, ЗАЧЕМ нужно, основной use case>
|
|
141
|
+
|
|
142
|
+
**Ключевые возможности:**
|
|
143
|
+
- <Функция 1>
|
|
144
|
+
- <Функция 2>
|
|
145
|
+
- <Функция 3>
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## 🏗️ Архитектура
|
|
150
|
+
|
|
151
|
+
<Краткое описание структуры: какие модули, как связаны>
|
|
152
|
+
|
|
153
|
+
**Основные компоненты:**
|
|
154
|
+
- `src/path/component.ts` — <Назначение>
|
|
155
|
+
- `src/path/service.ts` — <Назначение>
|
|
156
|
+
...
|
|
157
|
+
|
|
158
|
+
**Диаграмма зависимостей:** (опционально, если есть в tech.md)
|
|
159
|
+
```mermaid
|
|
160
|
+
graph TD
|
|
161
|
+
A --> B
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
## 🚀 Использование
|
|
167
|
+
|
|
168
|
+
<Примеры для разработчиков: как использовать фичу>
|
|
169
|
+
|
|
170
|
+
### Пример 1: <Сценарий>
|
|
171
|
+
```typescript
|
|
172
|
+
// Код примера
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
### Пример 2: <Сценарий>
|
|
176
|
+
```bash
|
|
177
|
+
# CLI команда или другой способ использования
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## 🔧 Технический стек
|
|
183
|
+
|
|
184
|
+
**Библиотеки:**
|
|
185
|
+
- `library-name` — <Зачем используется>
|
|
186
|
+
|
|
187
|
+
**Паттерны:**
|
|
188
|
+
- <Паттерн> — <Где применён>
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## 📚 Документация
|
|
193
|
+
|
|
194
|
+
- [Продуктовое описание](./product.md) — Подробный контекст и user stories
|
|
195
|
+
- [Техническое решение](./tech.md) — Архитектура и дизайн
|
|
196
|
+
- [Задачи реализации](./tasks.md) — План работ и статус
|
|
197
|
+
- [Критерии приемки](./validation.md) — Требования к реализации
|
|
198
|
+
- [Отчёт валидации](./validation-report.md) — Результаты проверки (если есть)
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
## 🧪 Тестирование
|
|
203
|
+
|
|
204
|
+
**Запуск тестов:**
|
|
205
|
+
```bash
|
|
206
|
+
bun test -- <путь к тестам фичи>
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
**Покрытие:** <X%> (если известно из validation-report.md)
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
## 🔗 Связанные модули
|
|
214
|
+
|
|
215
|
+
<Список существующих модулей, с которыми интегрируется фича>
|
|
216
|
+
|
|
217
|
+
- `src/existing/module.ts` — <Как связано>
|
|
218
|
+
|
|
219
|
+
---
|
|
220
|
+
|
|
221
|
+
## ⚠️ Известные ограничения
|
|
222
|
+
|
|
223
|
+
<Если есть ограничения из tech.md или validation-report.md>
|
|
224
|
+
|
|
225
|
+
- <Ограничение 1>
|
|
226
|
+
- <Ограничение 2>
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
## 🔄 Будущие улучшения
|
|
231
|
+
|
|
232
|
+
<Если есть упоминания в product.md о "Nice to have" или "Future work">
|
|
233
|
+
|
|
234
|
+
- [ ] <Улучшение 1>
|
|
235
|
+
- [ ] <Улучшение 2>
|
|
236
|
+
````
|
|
237
|
+
|
|
238
|
+
### Шаг 3.2: Адаптация структуры
|
|
239
|
+
|
|
240
|
+
Адаптируй структуру под тип фичи:
|
|
241
|
+
|
|
242
|
+
**Для CLI фичи:**
|
|
243
|
+
- Раздел "Использование" должен содержать примеры команд
|
|
244
|
+
- Добавь список доступных команд и флагов
|
|
245
|
+
|
|
246
|
+
**Для API/Backend фичи:**
|
|
247
|
+
- Раздел "Использование" должен содержать примеры API запросов
|
|
248
|
+
- Добавь список endpoints
|
|
249
|
+
|
|
250
|
+
**Для UI/Frontend фичи:**
|
|
251
|
+
- Раздел "Использование" должен описывать UI flow
|
|
252
|
+
- Добавь скриншоты или wireframes (если есть)
|
|
253
|
+
|
|
254
|
+
**Для библиотечной фичи:**
|
|
255
|
+
- Раздел "Использование" должен содержать примеры импорта и API
|
|
256
|
+
- Добавь типы/интерфейсы
|
|
257
|
+
|
|
258
|
+
### Шаг 3.3: Принципы написания
|
|
259
|
+
|
|
260
|
+
**Краткость:**
|
|
261
|
+
- Одно предложение для описания компонента
|
|
262
|
+
- 2-3 предложения для секции
|
|
263
|
+
- Избегай повторения того, что есть в других документах
|
|
264
|
+
|
|
265
|
+
**Ссылки:**
|
|
266
|
+
- На другие документы спеки (product.md, tech.md)
|
|
267
|
+
- На ключевые файлы реализации (с относительными путями от корня проекта)
|
|
268
|
+
- На связанные модули
|
|
269
|
+
|
|
270
|
+
**Примеры:**
|
|
271
|
+
- Должны быть реальными (взяты из тестов или реализации)
|
|
272
|
+
- Должны быть минимальными (показывать суть, не всё API)
|
|
273
|
+
- Должны быть runnable (если это код)
|
|
274
|
+
|
|
275
|
+
**Статус:**
|
|
276
|
+
- ✅ Реализовано — все задачи закрыты, валидация прошла
|
|
277
|
+
- 🚧 В разработке — есть незакрытые задачи
|
|
278
|
+
- ⚠️ Частично реализовано — основное работает, но есть замечания из validation-report.md
|
|
279
|
+
|
|
280
|
+
### Шаг 3.4: Извлечение примеров
|
|
281
|
+
|
|
282
|
+
Для раздела "Использование" ищи примеры в:
|
|
283
|
+
1. **Тестах** — часто содержат best practices использования
|
|
284
|
+
2. **Существующем коде** — где фича уже интегрирована
|
|
285
|
+
3. **tech.md** — могут быть примеры API
|
|
286
|
+
4. **Собственное понимание** — на основе анализа кода
|
|
287
|
+
|
|
288
|
+
Примеры должны быть **простыми и понятными**, без лишнего boilerplate.
|
|
289
|
+
|
|
290
|
+
## Фаза 4: Финализация
|
|
291
|
+
|
|
292
|
+
### Шаг 4.1: Создание файла
|
|
293
|
+
|
|
294
|
+
Создай `README.md` в директории спецификации:
|
|
295
|
+
```
|
|
296
|
+
.agentica/features/FT-XXXX - <Название>/README.md
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
### Шаг 4.2: Проверка качества
|
|
300
|
+
|
|
301
|
+
Убедись что README:
|
|
302
|
+
- ✅ Помещается на 1-2 экрана (не слишком длинный)
|
|
303
|
+
- ✅ Содержит все ключевые секции
|
|
304
|
+
- ✅ Имеет работающие ссылки
|
|
305
|
+
- ✅ Содержит реальные примеры (не placeholder'ы)
|
|
306
|
+
- ✅ Написан понятным языком
|
|
307
|
+
|
|
308
|
+
### Шаг 4.3: Уведомление пользователя
|
|
309
|
+
|
|
310
|
+
Сообщи пользователю:
|
|
311
|
+
|
|
312
|
+
```
|
|
313
|
+
✅ README создан: .agentica/features/FT-XXXX/README.md
|
|
314
|
+
|
|
315
|
+
📄 Документация включает:
|
|
316
|
+
- Обзор фичи и её назначение
|
|
317
|
+
- Архитектуру и основные компоненты
|
|
318
|
+
- Примеры использования
|
|
319
|
+
- Ссылки на детальную документацию
|
|
320
|
+
|
|
321
|
+
🔍 Рекомендую проверить:
|
|
322
|
+
- Корректность примеров
|
|
323
|
+
- Полноту описания ключевых компонентов
|
|
324
|
+
- Актуальность ссылок
|
|
325
|
+
|
|
326
|
+
Документация готова для включения в репозиторий.
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
## Дополнительные рекомендации
|
|
330
|
+
|
|
331
|
+
### Тон и стиль
|
|
332
|
+
|
|
333
|
+
- **Пиши для коллег:** Не пиши "пользователь делает X", пиши "разработчик может использовать X"
|
|
334
|
+
- **Будь конкретным:** Не "модуль обрабатывает данные", а "CSVParser парсит CSV в массив объектов"
|
|
335
|
+
- **Избегай очевидного:** Не пиши "этот файл содержит код", пиши назначение компонента
|
|
336
|
+
|
|
337
|
+
### Что НЕ включать
|
|
338
|
+
|
|
339
|
+
- ❌ Историю изменений (это для CHANGELOG)
|
|
340
|
+
- ❌ Детали реализации (это в tech.md)
|
|
341
|
+
- ❌ Полный список задач (это в tasks.md)
|
|
342
|
+
- ❌ Результаты всех тестов (это в validation-report.md)
|
|
343
|
+
- ❌ Пошаговые инструкции по разработке
|
|
344
|
+
|
|
345
|
+
### Что ОБЯЗАТЕЛЬНО включить
|
|
346
|
+
|
|
347
|
+
- ✅ Что делает фича (одним предложением)
|
|
348
|
+
- ✅ Основные компоненты (с путями)
|
|
349
|
+
- ✅ Примеры использования (хотя бы один)
|
|
350
|
+
- ✅ Ссылки на детальную документацию
|
|
351
|
+
|
|
352
|
+
---
|
|
353
|
+
|
|
354
|
+
**Помни:** README — это точка входа для разработчика. Он должен за 2 минуты понять суть фичи и найти нужную информацию для дальнейшего погружения.
|
|
355
|
+
|