Add coding standards and update project structure
This commit is contained in:
parent
d2fa0f920c
commit
6357b3499b
1 changed files with 37 additions and 18 deletions
55
SPEC.md
55
SPEC.md
|
|
@ -1,7 +1,9 @@
|
||||||
# AI Roundtable
|
# MoAI - Master of AIs
|
||||||
|
|
||||||
A multi-AI collaborative brainstorming platform where multiple AI models (Claude, GPT, Gemini, etc.) discuss topics together, see each other's responses, and work toward consensus.
|
A multi-AI collaborative brainstorming platform where multiple AI models (Claude, GPT, Gemini, etc.) discuss topics together, see each other's responses, and work toward consensus.
|
||||||
|
|
||||||
|
**Domain:** moai.dk (planned)
|
||||||
|
|
||||||
## Concept
|
## Concept
|
||||||
|
|
||||||
Instead of asking one AI a question, ask a "team" of AIs. They each provide initial thoughts, then engage in a structured discussion where each can see and respond to the others' contributions. The result is a richer, more diverse exploration of ideas that gets summarized into actionable markdown documents.
|
Instead of asking one AI a question, ask a "team" of AIs. They each provide initial thoughts, then engage in a structured discussion where each can see and respond to the others' contributions. The result is a richer, more diverse exploration of ideas that gets summarized into actionable markdown documents.
|
||||||
|
|
@ -304,26 +306,43 @@ Format as structured JSON.
|
||||||
- httpx for API calls
|
- httpx for API calls
|
||||||
- Requesty or OpenRouter for model routing
|
- Requesty or OpenRouter for model routing
|
||||||
|
|
||||||
|
### Coding Standards
|
||||||
|
- **Formatting/Linting:** ruff (line length 100)
|
||||||
|
- **Testing:** pytest (80%+ coverage on core logic)
|
||||||
|
- **Type hints:** Required on all public functions
|
||||||
|
- **Docstrings:** Required on modules and classes
|
||||||
|
- **Logging:** Use `logging` module, no `print()` in production
|
||||||
|
- **Pre-commit:** Enforce ruff and pytest before commits
|
||||||
|
|
||||||
### File Structure
|
### File Structure
|
||||||
```
|
```
|
||||||
ai-roundtable/
|
moai/
|
||||||
├── bot/
|
├── src/
|
||||||
|
│ └── moai/
|
||||||
|
│ ├── __init__.py
|
||||||
|
│ ├── bot/
|
||||||
|
│ │ ├── __init__.py
|
||||||
|
│ │ ├── main.py # Bot entry point
|
||||||
|
│ │ ├── handlers/
|
||||||
|
│ │ │ ├── __init__.py
|
||||||
|
│ │ │ ├── projects.py # /project commands
|
||||||
|
│ │ │ ├── discussion.py # /open, /discuss, @mentions
|
||||||
|
│ │ │ └── export.py # /export, /consensus
|
||||||
|
│ │ └── middleware.py # Auth, logging
|
||||||
|
│ └── core/
|
||||||
|
│ ├── __init__.py
|
||||||
|
│ ├── models.py # SQLAlchemy models
|
||||||
|
│ ├── database.py # DB connection
|
||||||
|
│ ├── orchestrator.py # AI round management
|
||||||
|
│ ├── ai_client.py # Requesty/OpenRouter wrapper
|
||||||
|
│ └── exporter.py # Markdown generation
|
||||||
|
├── tests/
|
||||||
│ ├── __init__.py
|
│ ├── __init__.py
|
||||||
│ ├── main.py # Bot entry point
|
│ ├── test_models.py
|
||||||
│ ├── handlers/
|
│ ├── test_orchestrator.py
|
||||||
│ │ ├── projects.py # /project commands
|
│ └── test_handlers.py
|
||||||
│ │ ├── discussion.py # /open, /discuss, @mentions
|
├── pyproject.toml # Project config, dependencies, ruff settings
|
||||||
│ │ └── export.py # /export, /consensus
|
├── .pre-commit-config.yaml
|
||||||
│ └── middleware.py # Auth, logging
|
|
||||||
├── core/
|
|
||||||
│ ├── __init__.py
|
|
||||||
│ ├── models.py # SQLAlchemy models
|
|
||||||
│ ├── database.py # DB connection
|
|
||||||
│ ├── orchestrator.py # AI round management
|
|
||||||
│ ├── ai_client.py # Requesty/OpenRouter wrapper
|
|
||||||
│ └── exporter.py # Markdown generation
|
|
||||||
├── config.py # Settings, API keys
|
|
||||||
├── requirements.txt
|
|
||||||
└── README.md
|
└── README.md
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue