moai/.planning/PROJECT.md
Mikkel Georgsen 1686f90467 docs: initialize MoAI
Multi-AI collaborative brainstorming platform - Telegram bot Phase 1.

Creates PROJECT.md with requirements and constraints.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 14:53:11 +00:00

2.9 KiB

MoAI - Master of AIs

What This Is

A multi-AI collaborative brainstorming platform where multiple AI models (Claude, GPT, Gemini) discuss topics together, see each other's responses, and work toward consensus. Phase 1 is a Telegram bot for personal use; Phase 2 adds a web UI; future phases enable lightweight SaaS with multi-user collaboration.

Core Value

Get richer, more diverse AI insights through structured multi-model discussions—ask a team of AIs instead of just one.

Requirements

Validated

(None yet — ship to validate)

Active

  • Project scaffolding (pyproject.toml, ruff, pre-commit, src layout)
  • M1: Bot responds to /help, /status
  • M2: Project CRUD (/projects, /project new, select, delete, models, info)
  • M3: Single model Q&A working
  • M4: Open mode (parallel) with multiple models
  • M5: Discuss mode (sequential rounds)
  • M6: Consensus generation (/consensus)
  • M7: Export to markdown (/export)
  • M8: @mention direct messages

Out of Scope

  • Web UI — Phase 2, after Telegram POC is validated
  • Multi-user collaboration — Phase 3 future
  • Personas (optimist/critic/pragmatist modes) — future enhancement
  • Voting/tallying — future enhancement
  • Cross-project memory — future enhancement
  • Automated triggers/webhooks — future enhancement
  • Voice memo transcription — future enhancement

Context

SPEC.md contains:

  • Full architecture diagram (Telegram → Python backend → Requesty/OpenRouter → AI APIs)
  • Complete data model (Project, Discussion, Round, Message, Consensus)
  • All Telegram commands with syntax
  • System prompts for models and consensus detection
  • Export markdown format
  • File structure specification

Current state: Greenfield. Only documentation exists (SPEC.md, README.md, CLAUDE.md).

Constraints

  • Python version: 3.11+ — required for modern async patterns
  • Bot framework: python-telegram-bot (async) — spec requirement
  • Database: SQLAlchemy + SQLite — upgrades to PostgreSQL in Phase 2
  • AI routing: Modular abstraction layer — Requesty first, support OpenRouter and others
  • Linting: ruff (line length 100) — enforced via pre-commit
  • Testing: pytest, 80%+ coverage on core logic
  • Type hints: Required on all public functions
  • Docstrings: Required on modules and classes
  • Logging: logging module only, no print()
  • Dependencies: Unpinned unless security requires it

Key Decisions

Decision Rationale Outcome
AI client as abstraction layer Support Requesty, OpenRouter, direct APIs without changing core code — Pending
Full project scaffolding first Consistent tooling from day one; prevents tech debt — Pending
User allowlist auth (Phase 1) Simple for single-user POC, each user brings own AI credentials later — Pending

Last updated: 2026-01-16 after initialization