A forkable kit for a personal AI editor that already knows your voice. Same spine, infinite variations — the taste comes from your own
~/.claude/CLAUDE.md.
Paste any piece of writing in. Get three views back: a structured critique, a tightened version, and three rewrites in your own voice. Sign-in, history, multi-device — the boring infrastructure that turns a demo into a tool you bookmark.
This is the day-to-day evolution of Editor, the product from Part 2 of Rethink enablement. The workshop variant shipped in forty-five minutes and treated the URL as the access token. This starter takes that spine and adds the two features that turn a demo into a tool you open three times a day: authentication and memory.
Two people forking this from scratch should ship two genuinely different products — different voice, different mood, different critique register — without writing different code. The spine is the engineering. The variation is the taste. The taste comes from your global CLAUDE.md, which you already have.
# 1. Clone the kit into a new project
git clone https://github.com/v60samurai/editor-starter.git my-editor
cd my-editor && rm -rf .git && git init
# 2. Read the worked example (10 min)
cat docs/PRD.md docs/BRAND.md docs/PERSONALIZATION.md
# 3. Open Claude Code and paste the build prompt (see below).
# Claude Code generates the Next.js app from these docs;
# no app code is checked in by design.
# 4. Ship to Vercel (after the build sessions complete)
vercelTotal time from clone to deployed Editor: two to three hours end to end. Forty-five minutes are for the three core agentic features. The rest is auth, memory, history UI, and personalization audit.
No global
~/.claude/CLAUDE.mdyet? Readdocs/PERSONALIZATION.mdSection 8 before you start — the workflow shifts from extraction to interview.
editor-starter/
├── README.md ← you are here
├── LICENSE
├── .gitignore
└── docs/ ← the worked example: Editor
├── PRD.md ← v2: includes Auth + Memory sections
├── BRAND.md ← the editorial-workshop spine
└── PERSONALIZATION.md ← the spine-vs-variation contract; agent trigger for the build
This kit is documentation-first by design. No app code is checked in. The four documents (docs/PRD.md, docs/BRAND.md, docs/PERSONALIZATION.md, plus a filled-in Implementation Guide from builder-os) are everything Claude Code needs to generate the Next.js app session by session.
Blank templates — the PRD template, the brand-guide template, and the three-document implementation-templates set (IMPLEMENTATION_GUIDE.md, SESSION_PLAYBOOK.md, FINAL_PUSH.md) — ship in builder-os, the companion repo.
docs/ is one product (Editor) filled in. docs/PERSONALIZATION.md is what makes your fork look nothing like anyone else's — read it before you start.
- Copy this directory into a fresh repo.
cp -R editor-starter ../my-editor && cd ../my-editor && git init. - Read the worked example. Open
docs/PRD.md, thendocs/BRAND.md. This shows you what good looks like. - Run the Personalization Pre-Flight. Open
docs/PERSONALIZATION.mdSection 5. Ten minutes. Skip this and your fork will look like everyone else's. - Spin your own PRD. Overwrite
docs/PRD.mdwith your own — use the blank PRD template from builder-os, or mirror the structure of the Editor PRD. Decision Rationale rule applies: every non-obvious choice gets a one-line defense. - Spin your own brand guide. Overwrite
docs/BRAND.mdwith your own — use the blank brand-guide template from builder-os. Fill in five sections minimum for v1. - Generate the implementation pack — point Claude Code at
docs/PERSONALIZATION.mdfirst. The Agent Instructions in Section 6 tell the agent how to pull your taste from~/.claude/CLAUDE.mdinto the Implementation Guide. Then run Shipwright on your PRD, or fill the three implementation-templates files (IMPLEMENTATION_GUIDE.md,SESSION_PLAYBOOK.md,FINAL_PUSH.md) from builder-os by hand. - Hand the four documents to Claude Code. Build the product session by session.
- Run the Personalization Audit before shipping. Five questions in
docs/PERSONALIZATION.mdSection 7. Pass all five or iterate.
If your fork is also a personal-tool-with-auth-and-memory product, the schema in step 6 should include the users, sessions, and entries tables described in Section 8 of docs/PRD.md.
When you are ready to generate the Implementation Guide, paste this into Claude Code:
Read
docs/PERSONALIZATION.mdend to end, then follow the Agent Instructions in Section 6. Pull my taste from~/.claude/CLAUDE.md, propose first passes for the six personalization slots with one line of reasoning per slot, then generate the Implementation Guide and a draft ofsrc/persona/CLAUDE.md. Run the Personalization Audit at the end and report any failures.
| Feature | Agentic pattern | What it does |
|---|---|---|
| Roast | Tool use | Critique any paste, located by line, in your voice |
| Tighten | Sequential agent loop | Cut a paragraph in half without losing meaning, with a third-call meaning-validator |
| Voice Match | Parallel few-shot | Rewrite the same paste in three of your own voices (terse, lyrical, formal — whatever three you pick) |
| Auth | Infrastructure | Email magic link via Lucia + Arctic + Oslo. Sessions last thirty days. Default: single-account-per-deploy. |
| Memory | Infrastructure | Every paste + output written to entries. /history lists them newest-first, filterable. Re-run any past entry against the current studio. |
The three core features are unchanged from the workshop. Auth + memory are the two additions that earn the "day-to-day" label.
- Not a SaaS template. No billing, no teams, no admin UI. Add those in your fork if you need them.
- Not a hosted product. You deploy it yourself (Vercel one-click works). The kit is for builders who want to own their tools.
- Not opinionated about the editor's personality. The persona file plus voice corpus do all the personality work. The kit is the wiring; the soul is what you put in
src/persona/CLAUDE.mdandsrc/corpus/voice-samples.md.
- App: Next.js 16 App Router, React 19, TypeScript strict, Tailwind 4
- AI: Vercel AI Gateway → Anthropic Claude, AI SDK v6, OIDC auth (no provider keys)
- Auth: Lucia + Arctic + Oslo (passwordless email magic link)
- DB: PostgreSQL via Drizzle (queries) + Prisma (migrations)
- Email: Resend (swap to any SMTP via
src/lib/email.ts) - Deploy: Vercel
The full architecture and the schema scaffolds live in the Implementation Guide template (in builder-os) — fill it in for your fork.
- v2.1: Postgres trigram search on
entries.inputso you can find a critique by text content. - v2.2: Studio Swap dropdown UI.
- v2.3: Mobile-perfect responsive design.
- v3: Streaming token-by-token UI for the Tighten flow's three phases.
These are noted in docs/PRD.md as out-of-scope-for-now. Fork and ship them if you want.
This kit is meant to be forked, not maintained as a shared codebase. The expected workflow is:
- Fork the repo.
- Build your own Editor on top of it.
- If you discover an improvement to the spine (auth, memory, agentic patterns, deploy story), open a PR back here.
- If you discover an improvement to a slot (your persona, your tools, your studio mood), keep it in your fork. That is by design — variations stay personal.
PRs that touch docs/PERSONALIZATION.md are especially welcome. Templates-pack PRs go to builder-os.
MIT — see LICENSE. Use it, fork it, sell what you build with it. Attribution appreciated but not required.
Built by Harshit Badiger. Spun out of Part 2 of Rethink enablement. The three-document Shipwright workflow (Implementation Guide, Session Playbook, Final Push) that ships in builder-os was first published at https://github.com/v60samurai/shipwright.
Editor Starter v2.0 · 2026-05-17