How jmurarka/athena works
ATHENA turns a user’s product problem into a persisted planning workspace: a project request queues background analysis, the LangGraph pipeline generates product, market, architecture, feasibility, validation, and roadmap outputs, and the API exposes project state and workspace data. The frontend provides project, page, and canvas views; the README describes the overall web/API pairing, but the sampled frontend source does not establish specific component-to-route calls. Pipeline and stage links are supported by its excerpt and the documented DAG; unsampled route internals are represented conservatively.
Main entry points: pipeline.py Planning Pipeline · page.tsx Workspace Pages · projects.py Project API · base_agent.py Agent Runtime
Components 27
Workspace UI
- Workspace Pages
frontend/app/project/[id]/[pageType]/page.tsx - Project Dashboard
frontend/app/dashboard/page.tsx - Project Sidebar
frontend/app/components/SidebarProjects.tsx - Plan Workspace
frontend/app/components/MiddleWorkspace.tsx - Architecture Canvas
frontend/app/components/FlowchartCanvas.tsx - API Client
frontend/lib/api.ts
API and Projects
- Project API
backend/app/api/routes/projects.py - Canvas Routes
backend/app/api/routes/canvas.py - Page Routes
backend/app/api/routes/pages.py - Graph Routes
backend/app/api/routes/athena_graph.py
Background Orchestration
- Pipeline Task
backend/app/workers/tasks.py - Planning Pipeline
backend/app/graph/pipeline.py
Planning and Analysis
- Agent Runtime
backend/app/agents/base_agent.py - Problem Analysis
backend/app/agents/problem_analysis_agent.py - Product Planning
backend/app/agents/product_agent.py - Market Research
backend/app/agents/market_agent.py - System Design
backend/app/agents/system_design_agent.py - Feasibility Review
backend/app/agents/feasibility_agent.py - Plan Validation
backend/app/agents/validation_engine.py - Roadmap Planning
backend/app/agents/roadmap_agent.py - Research Retrieval
backend/app/core/rag_service.py
Persistence
- Project Records
backend/app/models/project.py - Pages and Canvas
backend/app/models/page.py - Plan Graph Data
backend/app/models/graph_models.py - Agent Run Records
backend/app/models/agent_run.py - SQL Database
backend/app/core/db.py
Other components
- Planner
Connections 29
- Planner → Workspace Pages: uses
- Workspace Pages → API Client: requests data
- API Client → Project API: calls API
- Project Dashboard → Project Sidebar: shows projects
- Workspace Pages → Plan Workspace: renders
- Workspace Pages → Architecture Canvas: shows canvas
- Planner → Project API: creates project
- Project API → Project Records: creates and queries
backend/app/api/routes/projects.py - Project API → Pipeline Task: queues analysis
backend/app/api/routes/projects.py - Pipeline Task → Planning Pipeline: invokes
backend/app/workers/tasks.py - Planning Pipeline → Problem Analysis: runs
backend/app/graph/pipeline.py - Planning Pipeline → Product Planning: runs
backend/app/graph/pipeline.py - Planning Pipeline → Market Research: runs
backend/app/graph/pipeline.py - Planning Pipeline → System Design: runs
backend/app/graph/pipeline.py - Planning Pipeline → Feasibility Review: runs
backend/app/graph/pipeline.py - Planning Pipeline → Plan Validation: runs
backend/app/graph/pipeline.py - Planning Pipeline → Roadmap Planning: runs
backend/app/graph/pipeline.py - Problem Analysis → Agent Runtime: extends
backend/app/agents/problem_analysis_agent.py - Product Planning → Agent Runtime: extends
backend/app/agents/product_agent.py - System Design → Agent Runtime: extends
backend/app/agents/system_design_agent.py - Plan Validation → Agent Runtime: extends
backend/app/agents/validation_engine.py - Planning Pipeline → Project Records: updates
backend/app/graph/pipeline.py - Planning Pipeline → Pages and Canvas: stores outputs
backend/app/graph/pipeline.py - Planning Pipeline → Plan Graph Data: stores plan entities
backend/app/graph/pipeline.py - Planning Pipeline → Agent Run Records: tracks stages
backend/app/graph/pipeline.py - Project Records → SQL Database: persists in
backend/app/models/project.py - Pages and Canvas → SQL Database: persists in
backend/app/models/page.py - Plan Graph Data → SQL Database: persists in
backend/app/models/graph_models.py - Agent Run Records → SQL Database: persists in
backend/app/models/agent_run.py