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>
This commit is contained in:
Mikkel Georgsen 2026-01-16 14:53:11 +00:00
parent 1b55df508c
commit 1686f90467
2 changed files with 91 additions and 0 deletions

73
.planning/PROJECT.md Normal file
View file

@ -0,0 +1,73 @@
# 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*

18
.planning/config.json Normal file
View file

@ -0,0 +1,18 @@
{
"mode": "yolo",
"depth": "standard",
"gates": {
"confirm_project": false,
"confirm_phases": false,
"confirm_roadmap": false,
"confirm_breakdown": false,
"confirm_plan": false,
"execute_next_plan": false,
"issues_review": false,
"confirm_transition": false
},
"safety": {
"always_confirm_destructive": true,
"always_confirm_external_services": true
}
}