Skip to content

Getting Started

  • Node.js v20+
  • pnpm v8+
  • Docker & Docker Compose (for MongoDB)
Terminal window
# Clone the repository
git clone https://github.com/mako-ai/mono.git
cd mono
# Install dependencies
pnpm install
# Set up environment
cp .env.example .env

Edit .env with your configuration. Required:

VariableDefaultPurpose
DATABASE_URLmongodb://localhost:27017/makoApplication database
ENCRYPTION_KEYEncryption for stored credentials (openssl rand -hex 32)
SESSION_SECRETSession security
AI_GATEWAY_API_KEYAI features (Vercel AI Gateway — required)

Optional: OPENAI_API_KEY (only needed for text embeddings).

For OAuth login, set GOOGLE_CLIENT_ID/GOOGLE_CLIENT_SECRET and/or GH_CLIENT_ID/GH_CLIENT_SECRET.

Terminal window
# Start MongoDB
pnpm run docker:up
# Start everything (API + App + Inngest dev server)
pnpm run dev
ServiceURL
Web Apphttp://localhost:5173
APIhttp://localhost:8080
Inngest Dashboardhttp://localhost:8288
mono/
├── app/ # React frontend (Vite)
├── api/ # Hono API server
│ ├── src/
│ │ ├── agent-lib/ # AI agent tools & prompts
│ │ ├── agents/ # Agent registry (console, flow)
│ │ ├── connectors/ # ETL connectors (Stripe, Close, etc.)
│ │ ├── databases/ # Query runner drivers
│ │ ├── inngest/ # Background job functions
│ │ ├── sync/ # Sync orchestrator & CLI
│ │ └── routes/ # API route handlers
├── docs/ # Documentation (Astro Starlight)
├── website/ # Marketing site (Next.js)
└── cloudflare/ # Cloudflare Workers config

Mako includes a CLI for running data sync flows:

Terminal window
# Interactive mode — prompts for source, destination, entities
pnpm run sync
# Direct mode
pnpm run sync -- -s <source_id> -d <dest_id>
# Run database migrations
pnpm run migrate