Initial commit: VoIdeaAI - voice-first AI idea assistant
This commit is contained in:
@@ -0,0 +1,127 @@
|
||||
# Шаблон проекта — машиночитаемое описание
|
||||
# Формат: YAML
|
||||
# Используется CI/CD, генераторами и ИИ-ассистентами для понимания структуры
|
||||
|
||||
template:
|
||||
version: "1.0.0"
|
||||
description: "Универсальный шаблон для старта любых проектов"
|
||||
|
||||
defaults:
|
||||
language: python
|
||||
python_version: "3.12"
|
||||
database: sqlite
|
||||
async_framework: fastapi
|
||||
orm: sqlalchemy
|
||||
frontend: react
|
||||
frontend_build: vite
|
||||
styling: tailwind
|
||||
testing: pytest
|
||||
|
||||
architecture:
|
||||
layers:
|
||||
- name: api
|
||||
depends_on: [services]
|
||||
description: "HTTP роуты, Pydantic валидация, OpenAPI документация"
|
||||
- name: services
|
||||
depends_on: [integrations, data]
|
||||
description: "Бизнес-логика, оркестрация"
|
||||
- name: integrations
|
||||
depends_on: [data]
|
||||
description: "Внешние API, AI провайдеры, fallback chain"
|
||||
- name: tasks
|
||||
depends_on: [services, integrations]
|
||||
description: "Фоновые задачи (Celery или прямой вызов)"
|
||||
- name: agents
|
||||
depends_on: [services, integrations]
|
||||
description: "Системные агенты (саморазвитие проекта)"
|
||||
- name: data
|
||||
depends_on: [core]
|
||||
description: "Модели БД, репозитории, миграции"
|
||||
- name: core
|
||||
description: "Config, base classes, security, dependencies"
|
||||
|
||||
layers_frontend:
|
||||
- name: pages
|
||||
depends_on: [components]
|
||||
- name: components
|
||||
depends_on: [api, auth]
|
||||
- name: api
|
||||
description: "HTTP-клиент к backend"
|
||||
- name: auth
|
||||
description: "JWT токены, AuthContext"
|
||||
|
||||
agents:
|
||||
core:
|
||||
- name: DocAgent
|
||||
description: "Пишет документацию параллельно с кодом"
|
||||
version: "1.0.0"
|
||||
triggers: [pre_commit, manual]
|
||||
- name: AuditAgent
|
||||
description: "Проверяет каждый коммит на соответствие правилам"
|
||||
version: "1.0.0"
|
||||
triggers: [pre_commit, manual]
|
||||
- name: EvolutionAgent
|
||||
description: "Версионирует агентов, управляет их развитием"
|
||||
version: "1.0.0"
|
||||
triggers: [cron, manual, event]
|
||||
- name: SupervisorAgent
|
||||
description: "Следит за всеми агентами, их здоровьем и версиями"
|
||||
version: "1.0.0"
|
||||
triggers: [cron, event, manual]
|
||||
optional:
|
||||
- name: QATesterAgent
|
||||
when: "tests_exist"
|
||||
- name: FixAgent
|
||||
when: "first_bug"
|
||||
- name: BacklogAgent
|
||||
when: "tech_debt_exists"
|
||||
- name: SecurityAgent
|
||||
when: "pre_production"
|
||||
- name: SpecAgent
|
||||
when: "pre_release"
|
||||
- name: RolloutAgent
|
||||
when: "pre_deploy"
|
||||
- name: ObserverAgent
|
||||
when: "post_launch"
|
||||
- name: UITestAgent
|
||||
when: "ui_exists"
|
||||
|
||||
triggers:
|
||||
- name: pre_commit
|
||||
description: "Запускается при каждом коммите"
|
||||
- name: push
|
||||
description: "Запускается при пуше в remote"
|
||||
- name: tag_creation
|
||||
description: "Запускается при создании git-тега"
|
||||
- name: cron
|
||||
description: "Запускается по расписанию (daily/hourly)"
|
||||
- name: manual
|
||||
description: "Запускается вручную из админ-панели"
|
||||
- name: api
|
||||
description: "Запускается через API-вызов"
|
||||
- name: event
|
||||
description: "Запускается при возникновении события"
|
||||
|
||||
conventions:
|
||||
naming:
|
||||
classes: PascalCase
|
||||
functions: snake_case
|
||||
constants: UPPER_SNAKE_case
|
||||
files: snake_case
|
||||
env_vars: UPPER_SNAKE_case
|
||||
db_tables: snake_case
|
||||
db_indexes: "ix_tablename_column"
|
||||
db_unique: "uq_tablename_column"
|
||||
git_branches: "feature/*, hotfix/*, release/*"
|
||||
imports:
|
||||
style: "absolute"
|
||||
order: ["stdlib", "third_party", "local"]
|
||||
formatting:
|
||||
python_line_length: 88
|
||||
js_line_length: 100
|
||||
quote_style: "double для данных, single для docstrings"
|
||||
docstrings: "google-style"
|
||||
|
||||
rules_ref: "docs/00-rules.md"
|
||||
decisions_ref: "docs/decisions/"
|
||||
checklists_ref: "docs/checklists/"
|
||||
Reference in New Issue
Block a user