Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/paramveer-cyber/Deployaar/llms.txt

Use this file to discover all available pages before exploring further.

This page walks you through running the complete Deployaar stack on your local machine — Next.js frontend, Express API, Inngest worker, and Neon Postgres — end-to-end. By the end you will have both applications running, the database migrated, and a feature request moving through the AI pipeline against a real GitHub repository.
1
Prerequisites
2
Make sure the following are available on your machine before you begin.
3
RequirementMinimum version / notesNode.js>=18 (enforced by the root package.json engines field)pnpm9.0.0 (set as packageManager in the root package.json)PostgreSQL databaseA Neon serverless database or a local Postgres instanceGitHub AppA GitHub App installed on at least one repository — you need the App ID, a private key, and the webhook secretAI provider keyAt least one of: GOOGLE_GENERATIVE_AI_API_KEY, ANTHROPIC_API_KEY, OPENAI_API_KEY, or DEEPSEEK_API_KEYE2B accountAn E2B API key and sandbox template ID for the coding agent
4
Google Gemini (gemini-2.0-flash) is the default provider and is free-tier friendly. Set DEFAULT_AI_PROVIDER=google and DEFAULT_AI_MODEL=gemini-2.0-flash to get started quickly.
5
Clone and Install
6
Clone the repository and install all workspace dependencies in one command. Turborepo and pnpm workspaces handle the rest.
7
git clone https://github.com/paramveer-cyber/Deployaar.git
cd Deployaar
pnpm install
8
pnpm will hoist shared dependencies and link the internal packages (@repo/database, @repo/services, @repo/trpc, @repo/logger) automatically.
9
Configure Environment
10
The root .env.example provides the canonical list of variables. Copy it into both application directories and fill in the required values.
11
macOS / Linux
cp .env.example apps/api/.env
cp .env.example apps/web/.env
Windows
Copy-Item .env.example apps/api/.env
Copy-Item .env.example apps/web/.env
12
Open apps/api/.env and apps/web/.env and fill in every variable below. The block shows the minimum required set to boot the stack locally.
13
# ── Database ─────────────────────────────────────────────────────────
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/dev

# ── API server ───────────────────────────────────────────────────────
PORT=8000
NODE_ENV=development
BASE_URL=http://localhost:8000

# ── Frontend ↔ API wiring ────────────────────────────────────────────
NEXT_PUBLIC_API_URL=http://localhost:8000/trpc
FRONTEND_URL=http://localhost:3000

# ── Authentication (better-auth) ─────────────────────────────────────
BETTER_AUTH_SECRET=your-secret-here
BETTER_AUTH_URL=http://localhost:8000
NEXT_PUBLIC_WEB_URL=http://localhost:3000

# ── Google OAuth (required for social login) ─────────────────────────
GOOGLE_CLIENT_ID=...
GOOGLE_CLIENT_SECRET=...

# ── GitHub App (required for repo access) ────────────────────────────
GITHUB_APP_ID=...
GITHUB_APP_PRIVATE_KEY=...
GITHUB_WEBHOOK_SECRET=...

# ── E2B sandbox (required for the coding agent) ──────────────────────
E2B_API_KEY=...
E2B_TEMPLATE_ID=...

# ── AI provider ──────────────────────────────────────────────────────
DEFAULT_AI_PROVIDER=google
DEFAULT_AI_MODEL=gemini-2.0-flash
GOOGLE_GENERATIVE_AI_API_KEY=...
14
OAuth social login requires the verification table. The verification table is created by migration 0001_icy_lyja.sql. If this table is missing, better-auth will throw a state_security_mismatch error when users attempt to sign in with Google or GitHub. Always run migrations before testing login.
15
For the full list of every supported variable — including ANTHROPIC_API_KEY, OPENAI_API_KEY, DEEPSEEK_API_KEY, RAZORPAY_KEY_ID, LOGGER_LEVEL, and all optional overrides — see the Environment Variables reference page.
16
Run Migrations
17
Generate the Drizzle migration artifacts from the schema, then apply them to your Postgres database. Both commands are orchestrated by Turbo and run against the packages/database workspace.
18
pnpm db:generate
pnpm db:migrate
19
This applies all migrations in order, including the critical 0001_icy_lyja.sql that creates the verification table required for OAuth.
20
Start the Dev Server
21
Start both applications with a single command. Turbo runs them in parallel using the persistent dev task defined in turbo.json.
22
pnpm dev
23
Once both processes are ready you will see output confirming the ports:
24
ApplicationURLapps/web (Next.js)http://localhost:3000apps/api (Express)http://localhost:8000API health checkhttp://localhost:8000/healthScalar API docshttp://localhost:8000/docsOpenAPI schemahttp://localhost:8000/openapi.json
25
Create Your First Feature Request
26
With the stack running, follow these steps to push a real feature request through the full AI pipeline.
27
  • Sign in — open http://localhost:3000, click Sign in with Google, and complete the OAuth flow. Better-auth will create your user record and session.
  • Create an organisation — on the onboarding screen, give your organisation a name. This is the top-level workspace that owns projects and billing.
  • Link a GitHub repository — navigate to Dashboard → GitHub, install the GitHub App on the repository you want to use, then go to Dashboard → Projects and create a project linked to that repository. Deployaar will confirm the installation is active.
  • Submit a feature request — go to Dashboard → Feature Requests and click New request. Type a concrete, implementation-level feature description such as:
    Add a keyboard shortcut (Cmd+K) that opens the global search modal
    
  • Watch the pipeline — Deployaar immediately runs the duplicate/education detection gate. If the request passes, the prd service generates a structured spec, the feature-task service breaks it into tasks, and the coding agent is queued via Inngest. You can track progress in Dashboard → Tasks and Dashboard → Reviews.
  • Review the pull request — once the agent finishes, a pull request is opened on your GitHub repository. Navigate to Dashboard → Reviews, trigger an AI review at your chosen depth (shallow / standard / deep), then open the PR on GitHub to read the diff and the review comments before merging.
  • Build docs developers (and LLMs) love