Pipeline/STRUCTURE.md

44 lines
1.9 KiB
Markdown

# Pipeline — Directory Structure
## Agent Ownership
| Agent | Owns |
|-------|------|
| **Neo** | `backend/` — all Python/FastAPI code, models, services, API routes, migrations |
| **Scarlett** | `frontend/` — all React/Next.js/TypeScript code, components, pages, styles |
| **Private_Hudson** | Security review of all code before merge |
| **Bishop** | Build verification, docs, version bumps |
## Key Directories
```
Pipeline/
├── backend/
│ ├── app/
│ │ ├── api/ # FastAPI route handlers (Neo)
│ │ ├── core/ # Config, auth, security (Neo)
│ │ ├── db/ # DB session, CRUD, pagination (Neo)
│ │ ├── models/ # SQLModel/SQLAlchemy models (Neo)
│ │ ├── schemas/ # Pydantic schemas (Neo)
│ │ └── services/ # Business logic services (Neo)
│ │ └── forgejo/ # NEW — Forgejo API client (Neo)
│ └── migrations/ # Alembic migrations (Neo)
├── frontend/
│ ├── src/
│ │ ├── api/ # API client code (auto-generated + manual)
│ │ ├── app/ # Next.js App Router pages (Scarlett)
│ │ ├── components/ # React components (Scarlett)
│ │ └── lib/ # Utilities, hooks (Scarlett)
│ └── ...
├── compose.yml # Docker Compose (shared)
├── PROJECT.md # This project's manifest
├── FUTURE.md # What's next
├── HISTORY.md # What shipped
├── STRUCTURE.md # This file
└── DEVELOPMENT_LOG.md # Agent activity log
```
## Cross-Cutting Concerns
- **Forgejo API client** — `backend/app/services/forgejo/` handles all Forgejo communication
- **Issue-to-Task linking** — Task model gets `forgejo_issue_id` field, backend handles the join
- **Frontend issue pages** — New routes under `/issues/` in Next.js App Router