2.5 KiB
2.5 KiB
Pipeline — Project Manifest
What: Mission Control fork with Forgejo issue integration. Single pane of glass for project management — pull issues from our Forgejo repos, view them alongside MC tasks, and create work from them.
Why: Stop bouncing between Forgejo and MC. Issues live in Forgejo, work lives in MC. Pipeline bridges them.
Stack: Python/FastAPI (backend) + Next.js 15 (frontend) + PostgreSQL 16 + Redis 7 + Docker Compose
Base: Forked from abhi1693/openclaw-mission-control v0.0.4
Remote: ssh://forgejo/null/Pipeline.git | Branches: main (stable), dev (working)
Ports: 3030 (frontend), 8001 (backend), 5433 (postgres), 6379 (redis)
Auth: Local mode, token in .env
Architecture Decisions
- Forgejo issues are read-only in Pipeline — Forgejo is the source of truth for issue content. Pipeline mirrors them for display and creates MC tasks linked to them. No bidirectional sync.
- "Create Task from Issue" flow — User selects a Forgejo issue, Pipeline creates an MC task with a foreign key back to the issue. Task status is managed in Pipeline; issue content stays in Forgejo.
- No new languages — Python/FastAPI on backend, TypeScript/Next.js on frontend. Same as base MC.
Configured Forgejo Repos
| Repo | Forgejo URL | Issues |
|---|---|---|
| BillTracker | null/BillTracker |
34 |
| Queue-North-Website | null/Queue-North-Website |
7 |
| Mission-Control | null/Mission-Control |
0 |
| relationship-app | null/relationship-app |
0 |
| Pipeline | null/Pipeline |
0 |
Phase Plan
Phase 1: Backend — Forgejo API Integration
- Forgejo API client service (fetch repos, issues, labels)
- New DB models:
ForgejoRepo,ForgejoIssue(cached mirrors) - API endpoints:
/api/v1/forgejo/repos,/api/v1/forgejo/issues - Config: which repos to track (env vars or DB settings)
- Scheduled sync (pull issues on interval or on-demand)
Phase 2: Frontend — Issues Panel
- New "Issues" page in the dashboard sidebar
- Issue list view (filterable by repo, label, priority)
- Issue detail view with "Create Task from Issue" button
- Link from tasks back to Forgejo issues
Phase 3: Task Integration
- "Create Task from Issue" creates an MC task linked to the Forgejo issue
- Task detail view shows linked Forgejo issue info
- Dashboard shows issue counts alongside task counts
Phase 4: Polish
- Webhook support for real-time Forgejo issue updates
- Issue status badges (open/closed) synced
- Auto-archive closed issues