mirror of
https://github.com/rennf93/roboco.git
synced 2026-08-03 07:23:24 +02:00
192 lines
6.1 KiB
Markdown
192 lines
6.1 KiB
Markdown
# CLAUDE.md
|
|||
|
|
|
||
|
|
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
||
|
|
|
||
|
|
## Project Overview
|
||
|
|
|
||
|
|
**RoboCo** is an AI Agentic Company - a virtual organization of 18 AI agents + 1 human CEO, designed to operate as a complete software development workforce. The system implements a structured organizational hierarchy with formal communication protocols, task management, and quality controls.
|
||
|
|
|
||
|
|
### Core Architecture
|
||
|
|
|
||
|
|
```
|
||
|
|
CEO (Renzo - Human)
|
||
|
|
│
|
||
|
|
└── Board (3 agents)
|
||
|
|
├── Product Owner
|
||
|
|
├── Head of Marketing
|
||
|
|
└── Auditor (silent observer, reports to CEO)
|
||
|
|
│
|
||
|
|
└── Main PM (coordinates all cells)
|
||
|
|
│
|
||
|
|
├── Backend Cell (5 agents: 2 Devs, 1 QA, 1 PM, 1 Documenter)
|
||
|
|
├── Frontend Cell (5 agents: 2 Devs, 1 QA, 1 PM, 1 Documenter)
|
||
|
|
└── UX/UI Cell (4 agents: 1 Dev, 1 QA, 1 PM, 1 Documenter)
|
||
|
|
```
|
||
|
|
|
||
|
|
### Hardware Infrastructure
|
||
|
|
|
||
|
|
- **Olares One (Powerhouse)**: Intel Ultra 9 + RTX 5090, runs Claude Code instances and AI inference
|
||
|
|
- **UGREEN NAS (Warehouse)**: 36TB RAID6, hosts PostgreSQL, Redis, Qdrant (vector DB)
|
||
|
|
- **Pi Cluster (Operations)**: Monitoring, notifications, smart home
|
||
|
|
|
||
|
|
## Internal Services (To Be Built)
|
||
|
|
|
||
|
|
| Service | Purpose |
|
||
|
|
|---------|---------|
|
||
|
|
| **Messaging API** | Agent-to-agent communication, channels, sessions, WebSocket streaming |
|
||
|
|
| **Optimal API** | RAG queries, knowledge base, prompt optimization, token management |
|
||
|
|
| **Journal API** | Agent personal logs, reflections, growth tracking |
|
||
|
|
| **Task API** | Task CRUD, status management, kanban views |
|
||
|
|
|
||
|
|
## Development Standards
|
||
|
|
|
||
|
|
### Python (Backend)
|
||
|
|
```bash
|
||
|
|
# Package manager
|
||
|
|
uv
|
||
|
|
|
||
|
|
# Before any commit
|
||
|
|
uv run ruff format .
|
||
|
|
uv run ruff check .
|
||
|
|
uv run mypy src/
|
||
|
|
uv run pytest
|
||
|
|
|
||
|
|
# Coverage target: 80%
|
||
|
|
```
|
||
|
|
|
||
|
|
### TypeScript (Frontend)
|
||
|
|
```bash
|
||
|
|
# Package manager
|
||
|
|
pnpm
|
||
|
|
|
||
|
|
# Before any commit
|
||
|
|
pnpm format
|
||
|
|
pnpm lint
|
||
|
|
pnpm typecheck
|
||
|
|
pnpm test
|
||
|
|
|
||
|
|
# Coverage target: 80%
|
||
|
|
```
|
||
|
|
|
||
|
|
### Git Workflow
|
||
|
|
|
||
|
|
**Branch naming:**
|
||
|
|
- `feature/{task-id}-{description}`
|
||
|
|
- `fix/{task-id}-{description}`
|
||
|
|
- `refactor/{task-id}-{description}`
|
||
|
|
- `docs/{task-id}-{description}`
|
||
|
|
|
||
|
|
**Commit format:**
|
||
|
|
```
|
||
|
|
{type}({scope}): {description}
|
||
|
|
|
||
|
|
{body}
|
||
|
|
|
||
|
|
Task: {task-id}
|
||
|
|
Co-authored-by: {agent-name}
|
||
|
|
```
|
||
|
|
|
||
|
|
Types: `feat`, `fix`, `docs`, `style`, `refactor`, `test`, `chore`, `perf`
|
||
|
|
|
||
|
|
## Task Lifecycle
|
||
|
|
|
||
|
|
Every piece of work follows this wrapper:
|
||
|
|
|
||
|
|
1. **SCAN** - Check for pending/ongoing tasks
|
||
|
|
2. **CLAIM** - Lock and take ownership
|
||
|
|
3. **UNDERSTAND** - Read requirements, ask questions (DO NOT PROCEED until clear)
|
||
|
|
4. **PLAN** - Break down, identify dependencies
|
||
|
|
5. **EXECUTE** - Do the work, commit frequently
|
||
|
|
6. **VERIFY** - Self-check against acceptance criteria
|
||
|
|
7. **NOTES** - Document journey, create handoff
|
||
|
|
8. **CLOSE** - Cleanup, return to SCAN
|
||
|
|
|
||
|
|
**Task states:** `pending` → `claimed` → `in_progress` → `blocked/paused` → `verifying` → `awaiting_qa` → `awaiting_documentation` → `completed`
|
||
|
|
|
||
|
|
## Task Directory Structure
|
||
|
|
|
||
|
|
```
|
||
|
|
.tasks/
|
||
|
|
├── index.md # Master task index
|
||
|
|
├── templates/ # Task templates by type
|
||
|
|
├── active/ # In-progress tasks
|
||
|
|
│ └── TASK-XXX-name/
|
||
|
|
│ ├── README.md # Status, criteria, quick context
|
||
|
|
│ ├── plan.md # Implementation plan
|
||
|
|
│ ├── journal.md # Agent journey notes
|
||
|
|
│ ├── decisions.md # Decision rationale
|
||
|
|
│ ├── blockers.md # Current impediments
|
||
|
|
│ └── handoff.md # For Documenter
|
||
|
|
├── completed/ # Archived by month
|
||
|
|
└── blocked/ # Waiting on blockers
|
||
|
|
```
|
||
|
|
|
||
|
|
## Communication Model
|
||
|
|
|
||
|
|
**Communication** = constant stream (always flowing, logged, observed)
|
||
|
|
**Notifications** = formal signals (require acknowledgment, sent by PMs/Board only)
|
||
|
|
|
||
|
|
### Channel Structure
|
||
|
|
- Cell channels: `#backend-cell`, `#frontend-cell`, `#uxui-cell`
|
||
|
|
- Cross-cell: `#dev-all`, `#qa-all`, `#pm-all`, `#doc-all`
|
||
|
|
- Management: `#main-pm-board`, `#board-private`
|
||
|
|
- Special: `#announcements` (read-only except Board/Main PM), `#all-hands`
|
||
|
|
|
||
|
|
The Auditor has silent read access to ALL channels.
|
||
|
|
|
||
|
|
## Key Principles
|
||
|
|
|
||
|
|
1. **Everything is a task** - All work is tracked and documented
|
||
|
|
2. **No work without a task** - Create task record first
|
||
|
|
3. **No task without acceptance criteria** - How do we know it's done?
|
||
|
|
4. **No closure without documentation** - Future agents need context
|
||
|
|
5. **Communication is constant** - Stream reasoning, log everything
|
||
|
|
6. **State is sacred** - If interrupted, state must be recoverable
|
||
|
|
7. **The Auditor sees all** - Quality monitored silently
|
||
|
|
|
||
|
|
## Context Restoration Protocol
|
||
|
|
|
||
|
|
When resuming a task:
|
||
|
|
|
||
|
|
1. Read task record: `README.md` → `plan.md` → `journal.md` → `decisions.md` → `blockers.md`
|
||
|
|
2. Review artifacts and related commits
|
||
|
|
3. Query knowledge base for similar past tasks
|
||
|
|
4. Add to journal: "Resuming task. Context restored from records."
|
||
|
|
|
||
|
|
## Technology Stack
|
||
|
|
|
||
|
|
| Layer | Technology |
|
||
|
|
|-------|------------|
|
||
|
|
| API Framework | FastAPI |
|
||
|
|
| Database | PostgreSQL |
|
||
|
|
| Cache/Queue | Redis |
|
||
|
|
| Vector DB | Qdrant |
|
||
|
|
| Container Runtime | Docker + Docker Compose |
|
||
|
|
| Cloud LLM | Claude API |
|
||
|
|
| Local LLM | Ollama / vLLM |
|
||
|
|
| Embeddings | text-embedding-3-small / local |
|
||
|
|
| Frontend | React / Next.js (future) |
|
||
|
|
|
||
|
|
## Implementation Phases
|
||
|
|
|
||
|
|
The project follows a phased approach:
|
||
|
|
|
||
|
|
- **Phase 0**: Foundation (hardware, Docker, networking)
|
||
|
|
- **Phase 1**: Core Services (Messaging API, Task API, agent framework)
|
||
|
|
- **Phase 2**: Communication (WebSocket, transcription, notifications)
|
||
|
|
- **Phase 3**: Intelligence (RAG, Journal API, knowledge indexing)
|
||
|
|
- **Phase 4**: Agents (all 17 agent types, cell deployment)
|
||
|
|
- **Phase 5**: Management (Kanban UIs, dashboards)
|
||
|
|
- **Phase 6**: Polish (performance, documentation)
|
||
|
|
|
||
|
|
## Blueprint Reference
|
||
|
|
|
||
|
|
The complete system design is documented in `HOMELAB_TEAM_V0.md`, which contains:
|
||
|
|
- Organizational structure and role descriptions
|
||
|
|
- Communication matrix and notification permissions
|
||
|
|
- Data models (Task, Agent, Session, Message, Channel, Notification, Journal)
|
||
|
|
- API endpoint specifications
|
||
|
|
- Kanban board designs
|
||
|
|
- Security and access control model
|
||
|
|
- Configuration templates
|