Start Here: LexiconForge Documentation Index
Welcome to LexiconForge! This document is your map to the codebase.
LexiconForge is a React-based web application for reading and translating web novels using AI. It supports 8 source sites, multiple AI providers (Gemini, Claude, DeepSeek, OpenAI, OpenRouter), and features like inline illustrations, footnotes, fan translation comparison, and EPUB export.
Live app: lexicon-forge.vercel.app
git clone https://github.com/anantham/LexiconForge.git
cd LexiconForge
npm install
cp .env.example .env.local # Add your API keys
npm run dev
Understanding the Architecture
Doc
Purpose
ARCHITECTURE.md
High-level system design
adr/
Architecture Decision Records (why we built things this way)
Schemas.md
Data models for translations, sessions, chapters
docs/
├── START_HERE.md # You are here
├── ONBOARDING.md # Newcomer guided tour
├── WORKLOG.md # Daily work log (multi-agent)
├── Vision.md # Product vision
│
├── features/ # User-facing feature docs
│ ├── Audio.md, EPUB.md, FanTranslations.md
│ ├── ImageGeneration.md, NOVEL_LIBRARY.md
│ └── COMMUNITY_LIBRARY.md (vision only)
│
├── guides/ # How-to & reference
│ ├── Debugging.md, DEPLOYMENT.md, EnvVars.md
│ ├── META_ADAPTER.md, Providers.md
│ ├── Schemas.md, Settings.md, Workers.md
│ └── (adding new sites, configuring providers, etc.)
│
├── architecture/ # System design
│ └── ARCHITECTURE.md
│
├── adr/ # Architecture Decision Records
│ ├── DB-001..DB-007 # Database layer
│ ├── CORE-004..CORE-006 # Core architecture
│ ├── FEAT-001..FEAT-002 # Feature design
│ └── SUTTA-003 # Sutta Studio
│
├── infrastructure/ # Testing & tooling
│ ├── E2E-TESTING.md, TEST_MANIFEST.md
│ ├── TYPESCRIPT-HEALTH.md
│ └── CLAUDE-CODE-SCRIPTS.md
│
├── roadmaps/ # Plans & tracking
│ ├── CHANGELOG.md, TECH-DEBT-STATUS.md
│ ├── REMEDIATION-ROADMAP.md
│ └── MEMORY_OPTIMIZATION_ROADMAP.md
│
└── archive/ # Historical docs
├── completed/ # Finished plans (IndexedDB, legacy repo)
├── stale-docs/ # Outdated (superseded-by headers)
├── testing-evolution/ # Test infrastructure journey
└── diagnostics/ # Old diagnostic artifacts
Architecture Decision Records (ADRs)
ADRs explain why we made key design decisions. They're organized by domain:
Agent-First : Files stay small and single-purpose (see CONVENTIONS.md §4 for friction-based sizing policy)
Privacy-First : API keys and data stay on-device (IndexedDB)
Provider-Agnostic : Adapters abstract AI providers; easy to add new ones
Offline-Capable : Sessions persist across browser restarts
Read ONBOARDING.md for a guided tour
Pick a good first issue
Check WORKLOG.md to see what's in progress