LLM-assisted web novel writing application. Designed for long-form serial fiction (500+ chapters, ~1M words) with AI generation, a persistent knowledge graph, and RAG-powered context retrieval for consistency at scale.
- Frontend: Vite 8 + React SPA, TipTap v3 editor, Tailwind CSS
- Backend: Fastify, Drizzle ORM, BullMQ
- Database: PostgreSQL 16 (pgvector), Redis 7
- LLM: Anthropic API (Claude), Voyage AI (embeddings)
- Auth: Clerk
Prerequisites: Docker, Node.js 22+
# Install dependencies (npm workspaces — run from root)
npm install
# Copy environment configs
cp .env.example .env # Docker infra (Postgres, Redis)
cp backend/.env.example backend/.env # Server secrets + runtime config
cp frontend/.env.example frontend/.env # VITE_-prefixed public config
# Fill in API keys in backend/.env
# Start databases
docker compose up -d
# Run migrations
cd backend && npm run db:migrate
# Start dev servers (two terminals)
npm run dev:backend # Fastify on :3001
npm run dev:frontend # Vite on :5173docs/ Developer documentation (architecture, index)
user_guide/ Operational docs (deployment, subscriptions, env config)
sessions/ Implementation session logs (per build phase)
shared/ Shared TypeScript types
frontend/ Vite + React SPA
backend/ Fastify API server + BullMQ workers
scripts/ Seed data, benchmarks, backups
tests/ Unit and integration tests
See docs/index.md for a full map of all project documentation.
The full MVP specification is in MVP_REVISED_v4.md. Implementation follows the phased plan in Section 18.