Pramiti Docs

Quickstart

Get running in 5 minutes with Docker Compose

This guide gets the full Pramiti platform running locally with Docker Compose, including Epistom (semantic intelligence), Aegis (action validation), and a demo SaaS database.

Prerequisites

  • Docker and Docker Compose v2+
  • An LLM API key (Anthropic Claude recommended, or OpenAI/Ollama)

Step 1: Clone and Configure

git clone https://github.com/pramiti-labs/epistom.git
cd epistom
cp .env.example .env.local

Edit .env.local and set your LLM API key:

# For Anthropic (recommended)
EPISTOM_LLM_PROVIDER=anthropic
EPISTOM_LLM_MODEL_ID=claude-sonnet-4-5
EPISTOM_ANTHROPIC_API_KEY=your-key-here
 
# For local development
EPISTOM_AUTH_DISABLED=true
EPISTOM_RATE_LIMIT=0

Step 2: Start the Platform

docker compose up -d

This starts all services:

ServicePortPurpose
PostgreSQL5435Demo SaaS database + platform metadata
Oxigraph7879OWL/SPARQL triplestore for the knowledge model
API8001REST API + Aegis endpoints
UI3000Visual modeler (future)
nginx443TLS-terminating reverse proxy

The demo database is automatically seeded with a SaaS company schema (customers, subscriptions, invoices, support tickets) and sample data.

Step 3: Verify Services

# Check all services are healthy
docker compose ps
 
# Test the API
curl http://localhost:8001/api/v1/health

Step 4: Ask Your First Question

Use the MCP server or REST API to ask a natural language question:

curl -X POST http://localhost:8001/api/v1/nlq/ask \
  -H "Content-Type: application/json" \
  -d '{"question": "What is the total revenue by customer?"}'

The platform will:

  1. Route the question through the NLQ engine
  2. Look up "revenue" in the knowledge model (defined as net_amount on paid invoices)
  3. Generate validated SQL using the correct business definition
  4. Return the answer with a confidence score

Step 5: See an Aegis Verdict

Test the action validation endpoint:

curl -X POST http://localhost:8001/api/v1/aegis/validate \
  -H "Content-Type: application/json" \
  -d '{
    "action": "update_customer",
    "parameters": {"customer_id": 1, "status": "churned"},
    "agent_id": "test-agent"
  }'

Aegis returns a verdict (ALLOW, DENY, REWRITE, or ESCALATE) with a signed attestation record.

Product-Specific Profiles

You can also run individual products:

# Aegis only (PostgreSQL, no Oxigraph, no LLM)
docker compose -f docker-compose.aegis.yml up -d
 
# Epistom only (PostgreSQL + Oxigraph + LLM)
docker compose -f docker-compose.epistom.yml up -d
 
# Flight Recorder standalone (SQLite, no dependencies)
docker compose -f docker-compose.flight-recorder.yml up -d

Next Steps

  • Installation — All deployment options including Kubernetes
  • Core Concepts — Understand the two-plane model and knowledge model
  • Epistom — Deep dive into the semantic intelligence engine
  • Aegis — Deep dive into the action validation control plane

On this page