@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,29 @@
|
|
|
1
|
+
# Technology Stack
|
|
2
|
+
|
|
3
|
+
В этом разделе описывается технологический стек, используемый в этом проекте, и принципы по подбору библиотек и инструментов.
|
|
4
|
+
|
|
5
|
+
## Базовые технологии
|
|
6
|
+
- Python 3.13+
|
|
7
|
+
- `pyproject.toml` + hatchling (или совместимый backend)
|
|
8
|
+
- Ruff — линтинг/форматирование
|
|
9
|
+
- MyPy — типизация
|
|
10
|
+
- Pytest — тестирование
|
|
11
|
+
|
|
12
|
+
## GUI
|
|
13
|
+
- PySide6 / Qt — основной UI toolkit (или другой выбранный фреймворк)
|
|
14
|
+
- Чёткое разделение UI и бизнес-логики
|
|
15
|
+
- Асинхронность (если нужно): asyncio + аккуратная интеграция с event loop UI
|
|
16
|
+
|
|
17
|
+
## Non-goals
|
|
18
|
+
- Не смешиваем UI-код и доменную логику в одном модуле.
|
|
19
|
+
- Не добавляем асинхронность "везде" без причины.
|
|
20
|
+
|
|
21
|
+
## Качество и проверки
|
|
22
|
+
- Format: `ruff format .`
|
|
23
|
+
- Lint: `ruff check .`
|
|
24
|
+
- Typecheck: `mypy .`
|
|
25
|
+
- Tests: `pytest`
|
|
26
|
+
|
|
27
|
+
## Зависимости
|
|
28
|
+
- UI toolkit выбираем один (Qt/PySide6 или альтернативу) и фиксируем решение.
|
|
29
|
+
- Зависимости для графики/медиа добавляем только при наличии сценариев и тестовых примеров.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Project Name
|
|
2
|
+
|
|
3
|
+
Библиотека на Pytohn для ...
|
|
4
|
+
|
|
5
|
+
## Цели проекта
|
|
6
|
+
|
|
7
|
+
- Цель 1: ...
|
|
8
|
+
- Цель 2: ...
|
|
9
|
+
- Цель 3: ...
|
|
10
|
+
|
|
11
|
+
## Портрет целевого пользователя
|
|
12
|
+
|
|
13
|
+
Идеальный пользователь — это:
|
|
14
|
+
|
|
15
|
+
- Профиль 1: ...
|
|
16
|
+
- Профиль 2: ...
|
|
17
|
+
- Профиль 3: ...
|
|
18
|
+
|
|
19
|
+
## Проблемы, которые решает проект
|
|
20
|
+
|
|
21
|
+
- Проблема 1: ...
|
|
22
|
+
- Проблема 2: ...
|
|
23
|
+
- Проблема 3: ...
|
|
24
|
+
|
|
25
|
+
## Ключевые функции
|
|
26
|
+
|
|
27
|
+
- Функция 1: ...
|
|
28
|
+
- Функция 2: ...
|
|
29
|
+
- Функция 3: ...
|
|
30
|
+
|
|
31
|
+
## Конкуренты и аналоги
|
|
32
|
+
|
|
33
|
+
- Конкурент 1: ...
|
|
34
|
+
- Конкурент 2: ...
|
|
35
|
+
- Конкурент 3: ...
|
|
36
|
+
|
|
37
|
+
## Ресурсы и ссылки
|
|
38
|
+
|
|
39
|
+
- Ресурс 1: ...
|
|
40
|
+
- Ресурс 2: ...
|
|
41
|
+
- Ресурс 3: ...
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Структура проекта
|
|
2
|
+
|
|
3
|
+
Проект организован следующим образом:
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
.
|
|
7
|
+
├── .agentica/ # Документы и артефакты Agentica для этого проекта
|
|
8
|
+
│ ├── templates/ # Шаблоны для фич/изменений/архитектурных решений
|
|
9
|
+
│ ├── features/ # Описания фич (контракты, примеры, UX)
|
|
10
|
+
│ ├── changes/ # Изменения, миграции, заметки по версиям
|
|
11
|
+
│ ├── architecture/ # Архитектурные решения (ADR)
|
|
12
|
+
│ ├── product.md # Описание проекта с продуктовой точки зрения
|
|
13
|
+
│ ├── structure.md # Этот файл: структура репозитория
|
|
14
|
+
│ └── tech.md # Технический стек, принципы и инструменты
|
|
15
|
+
├── .vscode/ # Настройки VS Code
|
|
16
|
+
├── src/ # Исходный код
|
|
17
|
+
│ ├── <package_name>/ # Основной Python пакет (библиотека)
|
|
18
|
+
│ │ ├── __init__.py # Точка входа пакета
|
|
19
|
+
│ │ ├── py.typed # Маркер типизированного пакета (если библиотека экспортирует типы)
|
|
20
|
+
│ │ ├── module1.py # Пример модуля
|
|
21
|
+
│ │ └── ... # Другие модули
|
|
22
|
+
│ └── main.py # Пример использования библиотеки рядом с пакетом
|
|
23
|
+
├── tests/ # Тесты (unit/integration), если есть
|
|
24
|
+
├── scripts/ # Автоматизация (генерация, публикация, утилиты)
|
|
25
|
+
├── README.md # Документация библиотеки
|
|
26
|
+
└── pyproject.toml # Зависимости и конфигурация инструментов
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Правила структуры
|
|
30
|
+
|
|
31
|
+
- Публичный API библиотеки экспортируется из `<package_name>/__init__.py`.
|
|
32
|
+
- `src/main.py` — короткий пример использования, без production-логики.
|
|
33
|
+
- `tests/` по структуре зеркалит `<package_name>/`.
|
|
34
|
+
- Архитектурные решения фиксируются в `.agentica/architecture/`.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Technology Stack
|
|
2
|
+
|
|
3
|
+
В этом разделе описывается технологический стек, используемый в этом проекте, и принципы по подбору библиотек и инструментов.
|
|
4
|
+
|
|
5
|
+
## Базовые технологии
|
|
6
|
+
- Python 3.13+
|
|
7
|
+
- Packaging: `pyproject.toml` + hatchling (или совместимый backend)
|
|
8
|
+
- Ruff — линтинг/форматирование
|
|
9
|
+
- MyPy — строгая типизация
|
|
10
|
+
- Pytest — тестирование
|
|
11
|
+
|
|
12
|
+
## Библиотеки (Python)
|
|
13
|
+
- Явная публичная API-поверхность
|
|
14
|
+
- Типы везде, где это оправдано
|
|
15
|
+
- Минимум runtime-зависимостей
|
|
16
|
+
- Чёткое разделение: core (логика) / adapters (I/O)
|
|
17
|
+
|
|
18
|
+
## Non-goals
|
|
19
|
+
- Не тащим тяжёлые зависимости ради удобства импорта/синтаксиса.
|
|
20
|
+
- Не экспортируем внутренние модули как часть публичного API.
|
|
21
|
+
|
|
22
|
+
## Качество и проверки
|
|
23
|
+
- Format: `ruff format .`
|
|
24
|
+
- Lint: `ruff check .`
|
|
25
|
+
- Typecheck: `mypy .`
|
|
26
|
+
- Tests: `pytest`
|
|
27
|
+
|
|
28
|
+
## Зависимости
|
|
29
|
+
- Runtime-зависимости минимальны; dev-зависимости — в optional group.
|
|
30
|
+
- Версии пинить/ограничивать осознанно, чтобы обновления были предсказуемы.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Project Name
|
|
2
|
+
|
|
3
|
+
Проект на Python для ...
|
|
4
|
+
|
|
5
|
+
## Цели проекта
|
|
6
|
+
|
|
7
|
+
- Цель 1: ...
|
|
8
|
+
- Цель 2: ...
|
|
9
|
+
- Цель 3: ...
|
|
10
|
+
|
|
11
|
+
## Портрет целевого пользователя
|
|
12
|
+
|
|
13
|
+
Идеальный пользователь — это:
|
|
14
|
+
|
|
15
|
+
- Профиль 1: ...
|
|
16
|
+
- Профиль 2: ...
|
|
17
|
+
- Профиль 3: ...
|
|
18
|
+
|
|
19
|
+
## Проблемы, которые решает проект
|
|
20
|
+
|
|
21
|
+
- Проблема 1: ...
|
|
22
|
+
- Проблема 2: ...
|
|
23
|
+
- Проблема 3: ...
|
|
24
|
+
|
|
25
|
+
## Ключевые функции
|
|
26
|
+
|
|
27
|
+
- Функция 1: ...
|
|
28
|
+
- Функция 2: ...
|
|
29
|
+
- Функция 3: ...
|
|
30
|
+
|
|
31
|
+
## Конкуренты и аналоги
|
|
32
|
+
|
|
33
|
+
- Конкурент 1: ...
|
|
34
|
+
- Конкурент 2: ...
|
|
35
|
+
- Конкурент 3: ...
|
|
36
|
+
|
|
37
|
+
## Ресурсы и ссылки
|
|
38
|
+
|
|
39
|
+
- Ресурс 1: ...
|
|
40
|
+
- Ресурс 2: ...
|
|
41
|
+
- Ресурс 3: ...
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Структура проекта
|
|
2
|
+
|
|
3
|
+
Проект организован следующим образом:
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
.
|
|
7
|
+
├── .agentica/ # Документы Agentica на уровне всей монорепы
|
|
8
|
+
│ ├── templates/ # Общие шаблоны
|
|
9
|
+
│ ├── product.md # Описание монорепы с продуктовой точки зрения
|
|
10
|
+
│ ├── structure.md # Этот файл: структура репозитория
|
|
11
|
+
│ └── tech.md # Общий технический стек и правила
|
|
12
|
+
├── .vscode/ # Настройки VS Code для монорепозитория
|
|
13
|
+
├── packages/ # Набор Python пакетов (каждый со своим `pyproject.toml`)
|
|
14
|
+
│ ├── package1/ # Пример пакета
|
|
15
|
+
│ │ ├── .agentica/ # Документы Agentica, относящиеся к этому пакету
|
|
16
|
+
│ │ ├── <package_name>/ # Исходный код пакета
|
|
17
|
+
│ │ ├── tests/ # Тесты пакета
|
|
18
|
+
│ │ └── pyproject.toml # Зависимости и конфигурация инструментов пакета
|
|
19
|
+
│ └── ... # Другие пакеты
|
|
20
|
+
├── notes/ # Заметки разработчиков (история, идеи, решения)
|
|
21
|
+
├── scripts/ # Скрипты автоматизации (качество, сборка, релизы)
|
|
22
|
+
├── README.md # Главная документация монорепы
|
|
23
|
+
└── pyproject.toml # (Опционально) общая конфигурация (ruff/mypy/pytest)
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Правила структуры
|
|
27
|
+
|
|
28
|
+
- Каждый пакет в `packages/` самодостаточен и может тестироваться/линтиться отдельно.
|
|
29
|
+
- Общие правила качества можно вынести в корневой `pyproject.toml`, но зависимости задаются на уровне пакета.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Technology Stack
|
|
2
|
+
|
|
3
|
+
В этом разделе описывается технологический стек, используемый в этом проекте, и принципы по подбору библиотек и инструментов.
|
|
4
|
+
|
|
5
|
+
## Базовые технологии
|
|
6
|
+
- Python 3.13+
|
|
7
|
+
- `pyproject.toml` для каждого пакета
|
|
8
|
+
- hatchling (или другой PEP 517 backend) для сборки
|
|
9
|
+
- Ruff — единые правила линта/формата
|
|
10
|
+
- MyPy — строгая типизация
|
|
11
|
+
- Pytest — тестирование
|
|
12
|
+
|
|
13
|
+
## Монорепа (Python)
|
|
14
|
+
- Общие правила качества кода на уровне репозитория
|
|
15
|
+
- Пакеты изолированы: зависимости и версии контролируются на уровне пакета
|
|
16
|
+
- CI запускает: ruff, mypy, pytest для всех пакетов
|
|
17
|
+
|
|
18
|
+
## Non-goals
|
|
19
|
+
- Не делаем общий "shared" пакет без явного API и версионирования.
|
|
20
|
+
- Не допускаем расхождение настроек ruff/mypy между пакетами без причины.
|
|
21
|
+
|
|
22
|
+
## Качество и проверки
|
|
23
|
+
- Format: `ruff format .`
|
|
24
|
+
- Lint: `ruff check .`
|
|
25
|
+
- Typecheck: `mypy .`
|
|
26
|
+
- Tests: `pytest`
|
|
27
|
+
|
|
28
|
+
## Зависимости
|
|
29
|
+
- Зависимости добавляются в конкретный пакет, а не в корень.
|
|
30
|
+
- Если нужен общий tooling-конфиг, фиксируем его в корневом `pyproject.toml`.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Project Name
|
|
2
|
+
|
|
3
|
+
TypeScript CLI предназначенное для ...
|
|
4
|
+
|
|
5
|
+
## Цели проекта
|
|
6
|
+
|
|
7
|
+
- Цель 1: ...
|
|
8
|
+
- Цель 2: ...
|
|
9
|
+
- Цель 3: ...
|
|
10
|
+
|
|
11
|
+
## Портрет целевого пользователя
|
|
12
|
+
|
|
13
|
+
Идеальный пользователь — это:
|
|
14
|
+
|
|
15
|
+
- Профиль 1: ...
|
|
16
|
+
- Профиль 2: ...
|
|
17
|
+
- Профиль 3: ...
|
|
18
|
+
|
|
19
|
+
## Проблемы, которые решает проект
|
|
20
|
+
|
|
21
|
+
- Проблема 1: ...
|
|
22
|
+
- Проблема 2: ...
|
|
23
|
+
- Проблема 3: ...
|
|
24
|
+
|
|
25
|
+
## Ключевые функции
|
|
26
|
+
|
|
27
|
+
- Функция 1: ...
|
|
28
|
+
- Функция 2: ...
|
|
29
|
+
- Функция 3: ...
|
|
30
|
+
|
|
31
|
+
## Конкуренты и аналоги
|
|
32
|
+
|
|
33
|
+
- Конкурент 1: ...
|
|
34
|
+
- Конкурент 2: ...
|
|
35
|
+
- Конкурент 3: ...
|
|
36
|
+
|
|
37
|
+
## Ресурсы и ссылки
|
|
38
|
+
|
|
39
|
+
- Ресурс 1: ...
|
|
40
|
+
- Ресурс 2: ...
|
|
41
|
+
- Ресурс 3: ...
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Структура проекта
|
|
2
|
+
|
|
3
|
+
Проект организован следующим образом:
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
.
|
|
7
|
+
├── .agentica/ # Документы и артефакты Agentica для этого проекта
|
|
8
|
+
│ ├── templates/ # Шаблоны для фич/изменений/архитектурных решений
|
|
9
|
+
│ ├── features/ # Описания фич (команды, UX, контракты)
|
|
10
|
+
│ ├── changes/ # Журнал изменений (breaking changes, миграции)
|
|
11
|
+
│ ├── architecture/ # Архитектурные решения (ADR)
|
|
12
|
+
│ ├── product.md # Описание CLI с продуктовой точки зрения
|
|
13
|
+
│ ├── structure.md # Этот файл: структура репозитория
|
|
14
|
+
│ └── tech.md # Технический стек, принципы и инструменты
|
|
15
|
+
├── .vscode/ # Настройки VS Code
|
|
16
|
+
├── src/ # Исходный код CLI
|
|
17
|
+
│ ├── index.ts # Главная точка входа приложения (wiring)
|
|
18
|
+
│ ├── commands/ # Подкоманды/handler'ы
|
|
19
|
+
│ └── ... # Остальной код (services, utils)
|
|
20
|
+
├── bin/ # Entrypoints/обёртки для запуска
|
|
21
|
+
├── tests/ # Тесты (unit/integration)
|
|
22
|
+
├── scripts/ # Скрипты автоматизации (release, генерация)
|
|
23
|
+
├── README.md # Документация и примеры использования
|
|
24
|
+
├── biome.json # Линт/форматирование Biome
|
|
25
|
+
├── tsconfig.json # Конфигурация TypeScript
|
|
26
|
+
└── package.json # Зависимости, скрипты, метаданные пакета
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Правила структуры
|
|
30
|
+
|
|
31
|
+
- `src/` содержит только runtime-код; без сгенерённых артефактов.
|
|
32
|
+
- Публичный API (если есть) экспортируется через `src/index.ts`.
|
|
33
|
+
- `tests/` по структуре зеркалит `src/`.
|
|
34
|
+
- Архитектурные решения фиксируются в `.agentica/architecture/`.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Technology Stack
|
|
2
|
+
|
|
3
|
+
В этом разделе описывается технологический стек, используемый в этом проекте, и принципы по подбору библиотек и инструментов.
|
|
4
|
+
|
|
5
|
+
## Базовые технологии
|
|
6
|
+
- Node.js 20+
|
|
7
|
+
- Bun — рантайм и пакетный менеджер
|
|
8
|
+
- Biome — линтинг и форматирование кода
|
|
9
|
+
- TypeScript — основной язык
|
|
10
|
+
- Bun test — тестирование
|
|
11
|
+
|
|
12
|
+
## CLI Приложения
|
|
13
|
+
- Commander — парсинг аргументов, help, подкоманды
|
|
14
|
+
- Inquirer — интерактивные промпты
|
|
15
|
+
- Chalk — форматирование текста в терминале
|
|
16
|
+
- Ora — спиннер/прогресс
|
|
17
|
+
- Стандартизированные exit codes и машиночитаемый вывод при необходимости
|
|
18
|
+
|
|
19
|
+
## Non-goals
|
|
20
|
+
- Не делаем интерактивный TUI, если достаточно обычного CLI.
|
|
21
|
+
- Не дублируем бизнес-логику: CLI — тонкая оболочка над `src/`.
|
|
22
|
+
|
|
23
|
+
## Качество и проверки
|
|
24
|
+
- Format: `bun format`
|
|
25
|
+
- Lint: `bun lint`
|
|
26
|
+
- Typecheck: `bun typecheck`
|
|
27
|
+
- Tests: `bun test`
|
|
28
|
+
|
|
29
|
+
## Зависимости
|
|
30
|
+
- Предпочитай стандартную библиотеку Node/TS и маленькие утилиты вместо больших фреймворков.
|
|
31
|
+
- Любая зависимость должна быть оправдана: размер, поддержка, лицензия, безопасность.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Project Name
|
|
2
|
+
|
|
3
|
+
TypeScript библиотека предназначенная для ...
|
|
4
|
+
|
|
5
|
+
## Цели проекта
|
|
6
|
+
|
|
7
|
+
- Цель 1: ...
|
|
8
|
+
- Цель 2: ...
|
|
9
|
+
- Цель 3: ...
|
|
10
|
+
|
|
11
|
+
## Портрет целевого пользователя
|
|
12
|
+
|
|
13
|
+
Идеальный пользователь — это:
|
|
14
|
+
|
|
15
|
+
- Профиль 1: ...
|
|
16
|
+
- Профиль 2: ...
|
|
17
|
+
- Профиль 3: ...
|
|
18
|
+
|
|
19
|
+
## Проблемы, которые решает проект
|
|
20
|
+
|
|
21
|
+
- Проблема 1: ...
|
|
22
|
+
- Проблема 2: ...
|
|
23
|
+
- Проблема 3: ...
|
|
24
|
+
|
|
25
|
+
## Ключевые функции
|
|
26
|
+
|
|
27
|
+
- Функция 1: ...
|
|
28
|
+
- Функция 2: ...
|
|
29
|
+
- Функция 3: ...
|
|
30
|
+
|
|
31
|
+
## Конкуренты и аналоги
|
|
32
|
+
|
|
33
|
+
- Конкурент 1: ...
|
|
34
|
+
- Конкурент 2: ...
|
|
35
|
+
- Конкурент 3: ...
|
|
36
|
+
|
|
37
|
+
## Ресурсы и ссылки
|
|
38
|
+
|
|
39
|
+
- Ресурс 1: ...
|
|
40
|
+
- Ресурс 2: ...
|
|
41
|
+
- Ресурс 3: ...
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Структура проекта
|
|
2
|
+
|
|
3
|
+
Проект организован следующим образом:
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
.
|
|
7
|
+
├── .agentica/ # Документы и артефакты Agentica для этого проекта
|
|
8
|
+
│ ├── templates/ # Шаблоны для фич/изменений/архитектурных решений
|
|
9
|
+
│ ├── features/ # Описания фич (контракты API, примеры)
|
|
10
|
+
│ ├── changes/ # Изменения, миграции, заметки по версиям
|
|
11
|
+
│ ├── architecture/ # Архитектурные решения (ADR)
|
|
12
|
+
│ ├── product.md # Описание библиотеки с продуктовой точки зрения
|
|
13
|
+
│ ├── structure.md # Этот файл: структура репозитория
|
|
14
|
+
│ └── tech.md # Технический стек, принципы и инструменты
|
|
15
|
+
├── .vscode/ # Настройки VS Code
|
|
16
|
+
├── src/ # Исходный код библиотеки
|
|
17
|
+
│ ├── index.ts # Точка входа публичного API
|
|
18
|
+
│ ├── internal/ # Внутренняя реализация (не экспортируется напрямую)
|
|
19
|
+
│ └── ... # Прочие модули
|
|
20
|
+
├── tests/ # Тесты (unit/integration), если есть
|
|
21
|
+
├── scripts/ # Автоматизация (сборка, публикация, генерация типов)
|
|
22
|
+
├── README.md # Документация библиотеки
|
|
23
|
+
├── biome.json # Линт/форматирование Biome
|
|
24
|
+
├── tsconfig.json # Конфигурация TypeScript
|
|
25
|
+
└── package.json # Зависимости, скрипты и `exports`
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Правила структуры
|
|
29
|
+
|
|
30
|
+
- Публичные импорты идут только через `src/index.ts` и `exports` в `package.json`.
|
|
31
|
+
- `src/internal/` можно менять без breaking changes; наружу не торчит.
|
|
32
|
+
- `tests/` по структуре зеркалит `src/`.
|
|
33
|
+
- Архитектурные решения фиксируются в `.agentica/architecture/`.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Technology Stack
|
|
2
|
+
|
|
3
|
+
В этом разделе описывается технологический стек, используемый в этом проекте, и принципы по подбору библиотек и инструментов.
|
|
4
|
+
|
|
5
|
+
## Базовые технологии
|
|
6
|
+
- Node.js 20+
|
|
7
|
+
- Bun — рантайм и пакетный менеджер
|
|
8
|
+
- Biome — линтинг и форматирование кода
|
|
9
|
+
- TypeScript — основной язык
|
|
10
|
+
- Bun test — тестирование (unit/integration)
|
|
11
|
+
|
|
12
|
+
## Библиотека (TS)
|
|
13
|
+
- ESM-first дизайн
|
|
14
|
+
- Экспорт типов через `.d.ts`
|
|
15
|
+
- Сборка бандла через `bun build` (или совместимый bundler)
|
|
16
|
+
- Явные `exports` в `package.json`
|
|
17
|
+
- Минимальная публичная API-поверхность и стабильная семантика версий
|
|
18
|
+
|
|
19
|
+
## Non-goals
|
|
20
|
+
- Не публикуем внутренние модули как часть публичного API.
|
|
21
|
+
- Не вводим тяжёлые зависимости ради синтаксического сахара.
|
|
22
|
+
|
|
23
|
+
## Качество и проверки
|
|
24
|
+
- Format: `bun format`
|
|
25
|
+
- Lint: `bun lint`
|
|
26
|
+
- Typecheck: `bun typecheck`
|
|
27
|
+
- Tests: `bun test`
|
|
28
|
+
|
|
29
|
+
## Зависимости
|
|
30
|
+
- Предпочитай зависимости без транзитивной "пирамиды" и с хорошей поддержкой.
|
|
31
|
+
- Добавляя dependency, сразу продумывай влияние на API и на размер бандла.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Project Name
|
|
2
|
+
|
|
3
|
+
Проект направлен на ...
|
|
4
|
+
|
|
5
|
+
## Цели проекта
|
|
6
|
+
|
|
7
|
+
- Цель 1: ...
|
|
8
|
+
- Цель 2: ...
|
|
9
|
+
- Цель 3: ...
|
|
10
|
+
|
|
11
|
+
## Партрет идеального пользователя
|
|
12
|
+
|
|
13
|
+
Идеальный пользователь - это:
|
|
14
|
+
|
|
15
|
+
- Профиль 1: ...
|
|
16
|
+
- Профиль 2: ...
|
|
17
|
+
- Профиль 3: ...
|
|
18
|
+
|
|
19
|
+
## Проблемы, которые решает проект
|
|
20
|
+
|
|
21
|
+
- Проблема 1: ...
|
|
22
|
+
- Проблема 2: ...
|
|
23
|
+
- Проблема 3: ...
|
|
24
|
+
|
|
25
|
+
## Ключевые функции
|
|
26
|
+
|
|
27
|
+
- Функция 1: ...
|
|
28
|
+
- Функция 2: ...
|
|
29
|
+
- Функция 3: ...
|
|
30
|
+
|
|
31
|
+
## Конкуренты и аналоги
|
|
32
|
+
|
|
33
|
+
- Конкурент 1: ...
|
|
34
|
+
- Конкурент 2: ...
|
|
35
|
+
- Конкурент 3: ...
|
|
36
|
+
|
|
37
|
+
## Ресурсы и ссылки
|
|
38
|
+
|
|
39
|
+
- Ресурс 1: ...
|
|
40
|
+
- Ресурс 2: ...
|
|
41
|
+
- Ресурс 3: ...
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Структура проекта
|
|
2
|
+
|
|
3
|
+
Проект организован следующим образом:
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
.
|
|
7
|
+
├── .agentica/ # Документы Agentica на уровне всей монорепы
|
|
8
|
+
│ ├── templates/ # Шаблоны для фич/изменений/архитектурных решений
|
|
9
|
+
│ ├── product.md # Описание проекта с продуктовой точки зрения
|
|
10
|
+
│ ├── structure.md # Этот файл: структура репозитория
|
|
11
|
+
│ └── tech.md # Технологии, архитектурные принципы, правила
|
|
12
|
+
├── .vscode/ # Настройки Visual Studio Code
|
|
13
|
+
├── packages/ # Пакеты монорепозитория
|
|
14
|
+
│ ├── package1/ # Пример пакета
|
|
15
|
+
│ │ ├── .agentica/ # Документы Agentica, относящиеся к пакету
|
|
16
|
+
│ │ ├── src/ # Исходный код пакета
|
|
17
|
+
│ │ ├── tests/ # Тесты пакета
|
|
18
|
+
│ │ └── ... # Прочие файлы пакета (конфиги, assets)
|
|
19
|
+
│ └── ... # Другие пакеты
|
|
20
|
+
├── notes/ # Заметки разработчиков (контекст, история решений)
|
|
21
|
+
├── scripts/ # Автоматизация (сборка, тесты, релизы, утилиты)
|
|
22
|
+
├── .gitignore # Игнорируемые файлы для Git
|
|
23
|
+
├── README.md # Главная документация проекта
|
|
24
|
+
├── AGENTS.md # Инструкции для агентов (правила и контекст)
|
|
25
|
+
├── tsconfig.json # References на пакеты и общие настройки TS
|
|
26
|
+
├── tsconfig.base.json # Базовые настройки TypeScript для всех пакетов
|
|
27
|
+
└── package.json # Зависимости и скрипты корня монорепы
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Правила структуры
|
|
31
|
+
|
|
32
|
+
- Каждый пакет в `packages/` самодостаточен: свои зависимости, сборка и тесты.
|
|
33
|
+
- Общий код выносится в отдельный пакет; не делаем скрытых импортов через относительные пути между пакетами.
|
|
34
|
+
- Архитектурные решения уровня всей монорепы фиксируются в `.agentica/architecture/` (если используется).
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Technology Stack
|
|
2
|
+
|
|
3
|
+
В этом разделе описывается технологический стек, используемый в этом проекте, и принципы по подбору библиотек и инструментов.
|
|
4
|
+
|
|
5
|
+
## Базовые технологии
|
|
6
|
+
- Bun — в качестве рантайма и пакетного менеджера
|
|
7
|
+
- Biome — для линтинга и форматирования кода
|
|
8
|
+
- TypeScript — основной язык программирования для всего проекта (backend/frontend/lib/CLI)
|
|
9
|
+
- Tailwind 4 — для стилизации фронтенда
|
|
10
|
+
- Bun test — тестирование (unit/integration/e2e)
|
|
11
|
+
- watcher (Fabio Spampinato) — отслеживание файловой системы
|
|
12
|
+
|
|
13
|
+
## CLI Приложения
|
|
14
|
+
- Commander - парсинг аргументов, справка, подкоманды
|
|
15
|
+
- Inquirer - для создания диалоговых CLI-приложений
|
|
16
|
+
- Chalk - для покраски текста в терминале
|
|
17
|
+
- Ora - для отображения спиннера в CLI
|
|
18
|
+
|
|
19
|
+
## Серверные приложения
|
|
20
|
+
- ElysiaJS - основной серверный фреймворк,
|
|
21
|
+
- Drizzle - для работы с базой данных
|
|
22
|
+
- Zod - для валидации данных
|
|
23
|
+
|
|
24
|
+
## SPA
|
|
25
|
+
- SolidJS - для разработки фронтенда
|
|
26
|
+
- Solid Primitives - в качестве набора утилит и хуков для SolidJS
|
|
27
|
+
- Vite - для сборки фронтенда, и dev-сервера
|
|
28
|
+
|
|
29
|
+
## Библиотеки
|
|
30
|
+
- ESM
|
|
31
|
+
- .d.ts
|
|
32
|
+
- сборка в bundle
|
|
33
|
+
- bun build, c экспортом типов в d.ts файлах
|
|
34
|
+
|
|
35
|
+
## Non-goals
|
|
36
|
+
- Не делаем "общую папку" с кодом вне пакетов; общий код — отдельным пакетом.
|
|
37
|
+
- Не смешиваем разные форматтеры/линтеры в одной монорепе.
|
|
38
|
+
|
|
39
|
+
## Качество и проверки
|
|
40
|
+
- Format: `bun format`
|
|
41
|
+
- Lint: `bun lint`
|
|
42
|
+
- Typecheck: `bun typecheck`
|
|
43
|
+
- Tests: `bun test`
|
|
44
|
+
|
|
45
|
+
## Зависимости
|
|
46
|
+
- Зависимости добавляются в правильный пакет (не в корень без необходимости).
|
|
47
|
+
- Следить за версиями в workspace, чтобы избегать дублирования и конфликтов.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Project Name
|
|
2
|
+
|
|
3
|
+
TypeScript server application aimed at ...
|
|
4
|
+
|
|
5
|
+
## Цели проекта
|
|
6
|
+
|
|
7
|
+
- Цель 1: ...
|
|
8
|
+
- Цель 2: ...
|
|
9
|
+
- Цель 3: ...
|
|
10
|
+
|
|
11
|
+
## Портрет целевого пользователя
|
|
12
|
+
|
|
13
|
+
Идеальный пользователь — это:
|
|
14
|
+
|
|
15
|
+
- Профиль 1: ...
|
|
16
|
+
- Профиль 2: ...
|
|
17
|
+
- Профиль 3: ...
|
|
18
|
+
|
|
19
|
+
## Проблемы, которые решает проект
|
|
20
|
+
|
|
21
|
+
- Проблема 1: ...
|
|
22
|
+
- Проблема 2: ...
|
|
23
|
+
- Проблема 3: ...
|
|
24
|
+
|
|
25
|
+
## Ключевые функции
|
|
26
|
+
|
|
27
|
+
- Функция 1: ...
|
|
28
|
+
- Функция 2: ...
|
|
29
|
+
- Функция 3: ...
|
|
30
|
+
|
|
31
|
+
## Конкуренты и аналоги
|
|
32
|
+
|
|
33
|
+
- Конкурент 1: ...
|
|
34
|
+
- Конкурент 2: ...
|
|
35
|
+
- Конкурент 3: ...
|
|
36
|
+
|
|
37
|
+
## Ресурсы и ссылки
|
|
38
|
+
|
|
39
|
+
- Ресурс 1: ...
|
|
40
|
+
- Ресурс 2: ...
|
|
41
|
+
- Ресурс 3: ...
|