Skip to content

usernametba/lumen

Repository files navigation

Lumen

A local-first notes app — a quiet place to think.

This repository exists primarily as a fixture for evaluating AI code-generation tools. The application itself is a working React + TypeScript + TipTap + Dexie notes app with no backend, but the main reason it lives here is to provide a non-trivial real-world codebase against which AI agents can be benchmarked.


How it's used for testing

The repository serves as the baseline checkout in experiments that compare the output of different LLM coding agents (different models × different reasoning-effort levels) on the same well-specified feature task.

The flow:

  1. Clone this repo.
  2. Create N git worktrees off main, one per (model, effort) combination you want to compare.
  3. Run an agent (e.g. OpenAI Codex CLI, Claude Code, Cursor) in each worktree with the exact same prompt — see outline-prompt.txt for the reference prompt used in recent runs.
  4. Score the resulting implementations on shared axes (spec adherence, type safety, pattern conformity, performance, constraint adherence, etc.) and compare across cells.

The included outline-prompt.txt asks each agent to add a Table-of-Contents / Outline panel to the editor. The task is intentionally chosen to be:

  • Medium build complexity — touches ~6 files, ~250 LOC of changes, integrates with TipTap and the existing Zustand store / Dexie meta-table.
  • Easy to UI-verify — every requirement is something a human can eyeball in seconds.
  • Constrained — has an explicit out-of-scope fence, which is itself a useful signal for measuring how well agents respect spec boundaries.

If you're using this repo for your own evaluations, feel free to adapt the prompt or swap in your own.

Running the app locally

npm install
npm run dev

Vite serves on http://localhost:5173 by default.

Stack

  • React 18 + TypeScript 5.7 (strict)
  • Vite 5 + Tailwind v4 (beta)
  • TipTap 2.10 (StarterKit + ~10 extensions)
  • Dexie 4 (IndexedDB)
  • Zustand 5 (state)
  • MiniSearch (client-side full-text search)
  • Radix UI primitives, cmdk, Framer Motion

License

No license attached — treat as private code unless one is added.

About

A quiet place to think — local-first notes app

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors