This repo contains everything you need to run Linegra locally or deploy it to Vercel.
Historical note: the very first UI mockups for Linegra were prototyped inside Google AI Studio; this repository now hosts the live codebase.
Agentic dev flow: start with
AGENT.mdfor expectations, then use docs/CONTENT_MAP.md to locate feature-specific files quickly.
Prerequisites: Node.js
AI integration now uses OpenRouter. See
docs/AI_SETUP.mdfor requiredOPENROUTER_API_KEYinstructions before running locally or on CI.
- Install dependencies:
npm install - Create
.env.localwithOPENROUTER_API_KEY,SUPABASE_URL, andSUPABASE_PUBLISHABLE_KEYvalues (seedocs/AI_SETUP.md+docs/SUPABASE_SETUP.md) - Run the app:
npm run dev
⚠️ Linegra no longer ships with mock archives or an in-app Supabase connection form. You must provide validSUPABASE_URLandSUPABASE_PUBLISHABLE_KEYvalues (as described indocs/SUPABASE_SETUP.md) before the UI will load.
The DNA workflow (Autosomal + Shared Autosomal imports, lineage resolution, and admin review) is documented in:
This includes supported CSV formats (MyHeritage and FTDNA segment comparison), how shared matches are linked, and how the Administrator DNA panel resolves lineage paths.
- Product/technical specification:
SPEC.md - Agent/developer entrypoint:
AGENT.md - Feature-to-file map:
docs/CONTENT_MAP.md - LLM-optimized knowledge base (architecture, schema, decisions, runbooks):
wiki/index.md
Linegra currently ships with a single local super administrator account. Use the header Login button and enter the bootstrap credentials:
| Username | Password |
|---|---|
linegra |
linegra |
On the first successful login you must immediately set a new username and password;
this prompt cannot be skipped and ensures the archive is secured before edits occur.
Updated credentials are stored in the browser/Electron localStorage, so if you clear
storage or move to a new machine you will need to repeat the bootstrap process. Multi‑user
registration is not yet available—only this super administrator can add, edit, or delete
archival data in the current release.
Local development: when the app is served from
localhost(or127.0.0.1/*.local), you can sign in one‑step withadmin/admin(thelinegra/linegrabootstrap also works) and the forced credential‑reset prompt is skipped. This convenience is gated on the hostname at runtime, so deployments to a real domain are unaffected — there the forced reset still applies and only your stored credentials are accepted.