Ragnarock
Developer

AI agents

LangGraph agents, Redis queues, and processors.

AI execution is never synchronous HTTP between NestJS and FastAPI. The API enqueues jobs; the FastAPI worker consumes them and publishes results.

Registered agents

DB key (AgentDefinition)Worker routerModeProcessor
requirementsrequirementsConversationalrequirements_processor.py
developer_intelligencedeveloper_intelligenceConversational(graph node)
project_plannerplannerOne-shotplanner_processor.py
qa_intelligenceqa_intelligenceConversationalqa_intelligence_processor.py
change_impact— (planned)ConversationalNot in router yet

LangGraph entry: app/core/graph/router.py — conditional route on agent_type in job payload.

Queue contract

Prop

Type

Backend publishes after REST handlers return 202 Accepted. NestJS reads results and updates ProjectAiChatMessage, RagnarockChatMessage, tasks, etc.

NestJS → agent triggers

User actionAPI endpointAgent
Requirements chat turnPOST .../ai/requirementsrequirements
File uploadPOST .../ai/requirements/uploadrequirements
Ragnarock messagePOST .../ai/ragnarock/chatRouter picks agent
Architecture docPOST .../ai/arch-doc/generatedeveloper_intelligence
PlanPOST .../ai/plan/generateplanner
QA suitePOST .../ai/qa/generateqa_intelligence

Vector memory

Optional pgvector database (:5433 in dev compose) stores embeddings for past SRS content and Q&A. Modules: app/memory/retrieval.py, vector_store.py.

LLM providers

Set in ragnarock-agent/.env:

  • Gemini (default path in many deployments)
  • Anthropic
  • OpenAI

Factory: app/core/llm/factory.py reads LLM_PROVIDER.

Run locally

cd ragnarock-agent
cp .env.example .env
pip install -r requirements.txt
./run.sh   # listens :8100
curl http://localhost:8100/health

Docker: docker/staging/Dockerfile.agent in backend repo.

Product docs

On this page