- Create /docs structure (microdao, daarion, agents) - Organize 61 cursor technical docs - Add README files for each category - Copy key documents to public categories - Add GitHub setup instructions and scripts
15 KiB
MVP_VERTICAL_SLICE — MicroDAO (Agent-First MVP)
Вертикальний зріз для перших живих користувачів
Цей документ визначає, ЩО саме потрібно реалізувати у першому MVP, щоб:
- microDAO виглядало як окремий "живий простір",
- користувач одразу взаємодіє з агентами,
- є базові чати, проєкти, нагадування,
- агенти мають "обличчя" (картки + консолі),
- операторські режими вже закладені в архітектуру, але не перевантажують реалізацію.
Документ збирає ключові фрагменти з:
- 14_messenger_agent_module.md
- 15_projects_agent_module.md
- 16_followups_reminders_agent.md
- 21_agent_only_interface.md
- 22_operator_modes_and_system_agents.md
- 23_domains_wallet_dao_deepdive.md
- 23_agent_cards_and_console_tasks.md
0. Мета MVP
Зробити один живий вертикальний шмат:
- людина заходить у свій microDAO (через slug.daarion.city),
- бачить Agent Hub (головний екран),
- спілкується з Team Assistant,
- бачить "Учасників" (Люди / Агенти),
- має базові канали (Messenger Agent),
- має хоча б один Проєкт і Задачі (Projects Agent),
- може сказати "нагадай" (Followups Agent),
- може зайти на
/agentsі побачити картки агентів, - може відкрити Agent Console і подивитись, де агент присутній.
Web3, DAO-протокол, Wallet Agent, глибокий Governance, Attention, Co-Memory — описані, але не обовʼязково реалізуються в цьому MVP, тільки каркас там, де це дешево.
1. Multi-tenant & Team Context (без кастомних доменів)
1.1. Обсяг MVP
Реалізувати:
-
teams.slug+ базовий domain routing поslug.daarion.city, -
currentTeamIdу бекенд-контексті, -
два режими UI:
- режим
/t/:teamId/...(центральний домен), - режим
slug.daarion.city/...(автоматичне визначенняteamIdз домену).
- режим
Не реалізувати:
- кастомні домени користувачів (
mydao.org), - DNS-перевірки, SSL-автоматизацію.
1.2. Tasks
-
Додати в БД:
- поле
slugуteams.
- поле
-
Реалізувати lookup:
Host→slug→teamId.
-
У бекенд-контексті:
- зберігати
currentTeamId.
- зберігати
-
На фронті:
-
якщо контекст дає
currentTeamIdз домену:- приховати
t/:teamIdу URL, - використовувати просто
/home,/agents,/projectsтощо.
- приховати
-
2. Agent Hub (Home) + Agent-Only Interface Shell
Спиратись на:
21_agent_only_interface.md (Agent-Only Interface)
- базові UI стандарти (
10_agent_ui_system.md).
2.1. Обсяг MVP
-
Новий маршрут:
/t/:teamId/home(у режимі slug-домену — просто/home).
-
Лівий сайдбар:
- блок "Простори / Проєкти" (stub-список, але справжні посилання),
- блок "Учасники":
Люди / Агенти / Роботи (плейсхолдер).
-
Центральна область:
-
Agent Hub Chat з Team Assistant:
- мінімальний AgentChatWindow,
- LLM-виклик з
agent_id = Team Assistant.
-
-
Правий сайдбар:
-
stub "Контекст команди":
- кількість учасників,
- кількість проєктів,
- список останніх подій (можна поки мок).
-
2.2. Tasks
-
Додати компонент
AgentHubPage. -
Додати маршрут
/t/:teamId/home. -
У сайдбарі додати пункт "Головна / Agent Hub".
-
Реалізувати базовий
AgentChatWindow:- історія повідомлень,
- input для користувача,
- відправка на
/agents/{id}/chatабо відповідний endpoint.
-
Підʼєднати Team Assistant як базового агента для цього екрану.
3. Messenger Agent (14): канали, DM, "додати агента"
Опиратись на:
14_messenger_agent_module.md
Task Invite-Agent-Flowз задачника.
3.1. Обсяг MVP
Реалізувати мінімум:
-
Список каналів/чатів у лівому сайдбарі:
-
кілька каналів типу:
#general,#mvp.
-
-
Центральний чат для вибраного каналу:
- вивід історії,
- відправка повідомлень,
- позначення агента/людини автором.
-
Кнопка "Додати учасника" у header каналу:
-
модалка зі вкладками:
Люди,Агенти(ми фокусуємось саме на цьому).
-
у вкладці
Агенти:-
список агентів (із
/agents), -
вибір 1 агента,
-
чекбокси прав:
Читати,Писати,Створювати задачі.
-
-
POST entitlements (stub-модель RBAC/Entitlements).
-
Не обовʼязково:
- складні фічі (search_messages, pinned messages, reactions і т.п.).
3.2. Tasks
-
Реалізувати модель:
channels+messages.
-
Реалізувати simple REST:
GET /channels,GET /channels/:id/messages,POST /messages.
-
Реалізувати "Add Participant → Agent" модалку:
- frontend модалка,
- backend entitlements stub:
POST /entitlementsзagent_id+channel_id+ scopes.
-
Показувати аватари агентів у header каналу.
4. Projects Agent (15): один проєкт, прості задачі
Опиратись на:
15_projects_agent_module.md.
4.1. Обсяг MVP
Реалізувати:
-
Мінімальну модель:
projects(id, name, description, team_id),tasks(id, project_id, title, status, assignees, created_at).
-
Правий сайдбар для проєктного каналу:
-
якщо канал привʼязаний до проєкту (наприклад
#mvp→MicroDAO MVP):-
показувати коротку панель:
- назва проєкту,
- список задач (група за статусом: new / in_progress / done),
- кнопка "Нова задача".
-
-
-
Модалка "Нова задача":
-
поля:
- Назва,
- Опис (опційно),
- Статус (по замовчуванню
new), - Виконавці (поки можна просто селект із людей/агентів).
-
-
Мінімальна інтеграція з Messenger:
-
при створенні задачі з правого сайдбару:
-
повідомлення у канал:
"Створено задачу: {title}".
-
-
Можна НЕ робити поки:
- спринти,
- складні фільтри,
- Planning Agent.
4.2. Tasks
-
Бекенд-моделі
projectsіtasks+ API. -
Привʼязка каналу до проєкту (наприклад, поле
channel.project_id). -
Компонент
ProjectSidebarPanel:- читає з API
GET /projects/:id/tasks, - рендерить список,
- кнопка "Нова задача".
- читає з API
-
Модалка створення задач:
POST /tasks,- після успіху: оновити список + відправити повідомлення у канал через Messenger API.
5. Followups & Reminders Agent (16): "нагадай мені"
Опиратись на:
16_followups_reminders_agent.md.
5.1. Обсяг MVP
Реалізувати:
-
Модель
reminders:- id, user_id, message, fire_at, created_at, status.
-
Простий tool:
-
create_reminder({ user_id, message, schedule }):-
для MVP:
-
підтримати шаблони:
- "через N хвилин/годин/днів",
- "завтра о HH:MM".
-
-
-
-
Інтеграція з чатом:
-
якщо користувач пише:
- "нагадай мені завтра о 10 про X"
-
Followup Agent:
-
парсить час,
-
створює reminder,
-
відповідає:
"Нагадування створено: завтра о 10:00 — «X»."
-
-
-
Worker / cron:
-
кожну хвилину:
SELECT * FROM reminders WHERE fire_at <= now AND status = 'pending',- відправити повідомлення користувачу (DM або системне повідомлення),
- помітити як
fired.
-
UI:
- мінімальна панель "Мої нагадування" (наприклад, у профілі).
5.2. Tasks
-
Бекенд-таблиця
reminders+ API. -
Базовий Followup Agent з tool
create_reminder. -
Простий parser NLU для фраз типу "нагадай мені завтра о 10":
- можна почати з регулярок + rule-based.
-
Cron/worker для тригеру ремайндерів.
-
Простий UI список нагадувань (може бути не першочергово).
6. Agent Cards Grid + Agent Console (23)
Опиратись на:
23_agent_cards_and_console_tasks.md.
6.1. Обсяг MVP
-
Маршрут
/t/:teamId/agents:-
грід карток агентів:
- Team Assistant,
- Messenger Agent,
- Projects Agent,
- Followups Agent,
- Knowledge (stub),
- Governance (stub),
- Bridges (stub).
-
картка:
- аватар,
- імʼя,
- коротке призначення,
- вік (можна згенерувати pseudo-дані),
- базовий текст
Досвід 1T: ...+Репутація: ...(можна поки stub).
-
hover overlay:
- "Почати взаємодію",
- "Деталі агента".
-
-
Agent Console
/t/:teamId/agent/:agentId:-
хедер:
- аватар,
- імʼя,
- опис,
- базові метрики (stub).
-
вкладки:
-
Чат:- той же
AgentChatWindow.
- той же
-
Присутність / Права:-
поки список каналів/проєктів, де агент підключений.
-
без складних toggle-операцій (можна просто read-only у MVP).
-
-
-
це має працювати як "профіль агента".
-
6.2. Tasks
-
Реалізувати
/agentsгрід (Agent-Cards-Grid). -
Реалізувати
/agent/:agentIdконсоль. -
Зв'язати "Почати взаємодію" →
AgentConsolePageна вкладці "Чат". -
Створити простий endpoint
GET /agentsз базовими метаданими (name, role, created_at, stub-metrics). -
Створити endpoint
GET /agents/:id/presence:-
повертає:
- канали, де агент присутній,
- повʼязані проєкти.
-
7. OperatorMode — тільки каркас
Опиратись на:
22_operator_modes_and_system_agents.md.
7.1. Обсяг MVP
Реалізувати лише:
-
Поле
operatorModeуAgentConfig. -
Guard у
runAgentTurn/ scheduler:-
якщо
trigger = "operator_tick":-
перевірити:
operatorMode.enabled,- ліміт дій на годину,
- allowedTools.
-
-
-
Увімкнути operatorMode:
-
для Followups Agent:
- для worker-а нагадувань можна поки використовувати прямий cron без LLM, але структуру вже передбачити.
-
опційно для Attention Agent (якщо буде час) — для базового daily digest.
-
Не реалізовувати:
- UI для operatorMode,
- розширені operator режими для всіх агентів.
8. Що явно НЕ входить до цього MVP (але вже є в документації)
- Wallet Agent (підпис дій).
- DAO Agent (on-chain DAO інтеграція).
- Повна Governance & Access реалізація (ключі, ритуали узгодження).
- Повний Co-Memory (17) як RAG-система.
- Повний Notifications & Attention Agent (розумні стріми уваги).
- Кастомні домени (
mydao.org) з DNS-перевірками і auto-SSL.
9. Порядок реалізації для Cursor (рекомендація)
Рекомендований порядок задач:
-
Multi-tenant context + Agent Hub
- teams.slug,
- визначення
currentTeamId, /home+ базовий Agent Hub.
-
Messenger Agent (канали + чати + "додати агента")
-
Projects Agent (проєкт + задачі + правий сайдбар)
-
Followups Agent (reminders + інтеграція з чатом)
-
Agent Cards Grid + Agent Console
-
OperatorMode (каркас guard-ів)
Кожен блок можна оформлювати окремим промтом:
"Implement part X of MVP_VERTICAL_SLICE.md using docs 14/15/16/21/22/23 + 05_coding_standards.md".
10. Інструкція для Cursor (узагальнений промт)
Приклад загального промта:
You are working on the MicroDAO MVP vertical slice.
Use:
- MVP_VERTICAL_SLICE.md
- 14_messenger_agent_module.md
- 15_projects_agent_module.md
- 16_followups_reminders_agent.md
- 21_agent_only_interface.md
- 22_operator_modes_and_system_agents.md
- 23_domains_wallet_dao_deepdive.md
- 23_agent_cards_and_console_tasks.md
- 10_agent_ui_system.md
- 05_coding_standards.md
Goal:
Implement the MVP vertical slice described in MVP_VERTICAL_SLICE.md, step by step.
Start with:
1) Multi-tenant team context + Agent Hub Home.
Then:
2) Messenger Agent basics (channels, messages, Add Agent to channel).
3) Projects Agent basics (one project, tasks, right sidebar).
4) Followups Agent basics (reminders + chat trigger "нагадай").
5) Agent Cards grid and Agent Console.
6) OperatorMode guard skeleton.
For each step:
- list changed files,
- show diff,
- provide a short summary.
Цей документ — твій "мастер-план" для першого живого MVP microDAO.
Далі можна або відразу йти в задачі для кроку 1 (multi-tenant + Agent Hub), або доповнити MVP ще якимись деталями, якщо бачиш прогалини.