Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/bcanata/maieutic/llms.txt

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

Maieutic runs locally as a Next.js 16 app backed by a SQLite database. The only external dependency is an Anthropic API key — everything else, including the database, lives on your machine. No cloud account or hosted service is required.

Prerequisites

  • Node.js 20 or higher — verify with node --version
  • An Anthropic API key (sk-ant-...) — create one at console.anthropic.com
  • Git — to clone the repository

Setup

1

Clone the repository

git clone https://github.com/bcanata/maieutic.git && cd maieutic
2

Install dependencies

npm install
3

Copy the environment file

cp .env.example .env.local
Open .env.local and set both variables:
ANTHROPIC_API_KEY=sk-ant-...
DATABASE_URL="file:./dev.db"
ANTHROPIC_API_KEY is required for all Opus calls. DATABASE_URL points to the local SQLite file that Prisma creates on first migration.
4

Apply database migrations

npx prisma migrate dev
This creates dev.db and generates the Prisma client. See Database setup and schema for details on the data model.
5

Seed demo data (optional)

npm run reset-demo
This loads three demo students — Ana, Beto, and Carmen — with realistic sessions so the instructor dashboard has data to display. See Loading demo data and fixtures for what the script seeds.
npm run reset-demo destroys all existing data and replaces it with the demo fixtures. Skip this step if you want to start with a blank database.
6

Start the development server

npm run dev
7

Open the app

Navigate to http://localhost:3000.The landing page asks whether you are a student or a teacher — no login required. Students are routed to the exercise list; instructors are routed to the live dashboard.

Available scripts

CommandDescription
npm run devStart the development server
npm run buildBuild for production
npm startStart the production server
npm run lintRun ESLint
npm testRun unit tests with Vitest
npm run test:opusRun Opus integration tests (requires a live API key and model)
npm run test:e2eRun Playwright end-to-end tests
npm run reset-demoWipe the database and replay demo fixtures
npm run capture-fixturesRun real Opus sessions and save the responses as test fixtures
npm run test:opus and npm run capture-fixtures make real API calls to Anthropic and will consume credits from your API key. Only run them when you need fresh fixtures or are actively testing Opus prompt changes.

Build docs developers (and LLMs) love