LegalOSS133.3ktracked
Project

donna

sboghossian/donna

Donna does the work you bill for. Open-source TX family-law assistant. MIT. Forked from Mike.

Donna

Donna does the work you bill for. Donna handles the work you hate.

Open-source Texas family-law assistant for solo divorce attorneys and small-firm paralegals. Drafts pleadings with TX Family Code citations. Walks new-client intake. Knows your local rules in Harris, Dallas, Bexar, Travis, and Tarrant — and flags when she doesn't for the other 249 counties.

  • Live: donna.dashable.dev (when deployed — see DEPLOY.md)
  • License: MIT
  • Forked from: Will Chen's Mike — credit in ATTRIBUTION.md
  • Stack: Next.js 16 · TypeScript strict · Tailwind 4 · Anthropic SDK (default) · Cloudflare Pages
  • Also available as a Claude Code skill: ~/.claude/skills/donna/SKILL.md (invoke /donna in any session)

What Donna does (v0.1)

  • Drafts an Original Petition for Divorce with TX Family Code § 6.001, § 6.301, § 7.001 cites in the right places. Scaffold for Respondent's Answer, Motion for Temporary Orders, SAPCR Petition, and Modification Petition use the same shape.
  • Walks new-client intake — matter type, venue, parties, marriage/separation dates, children, UCCJEA flags, protective-order history, conflict-check list — and emits a structured JSON matter record.
  • Applies county overrides for Harris, Dallas, Bexar, Travis, and Tarrant: courts that hear family law, standing orders, mediation rules, eFiling notes, caption conventions.
  • For the other 249 counties: returns a populated: false warning so the lawyer knows to confirm local rules before filing.
  • Voice: calmly competent. Never sycophantic. Never invents a statute. Every draft ends with // Donna draft — review before filing.

What Donna doesn't do (yet)

These are tracked in brief.md as v0.2 work, not v0.1:

  • Voice-match from uploaded prior pleadings (extract style → inject into prompt).
  • Conflict-check engine with CSV-import fuzzy matching.
  • TX family-law deadline tracker (60-day notice, 30-day temp orders, 6-month residency, etc.).
  • Auto-generated case-management chart for first hearing.
  • Clio / MyCase / PracticePanther integrations (CSV import works as fallback).
  • Gemini and BYO API key toggle (Anthropic is the only enabled provider in v0.1).
  • Full 254-county local-rule corpus (only the top 5 are populated).

Quick start

pnpm install
cp .env.example .env.local   # add ANTHROPIC_API_KEY if you have one
pnpm dev                     # http://localhost:3000

Without ANTHROPIC_API_KEY:

  • /api/draft still returns the full template scaffold (TX Family Code cited, county overrides applied). You don't get Donna's prose pass.
  • /api/intake returns an "offline" reply directing you to the draft page.

With ANTHROPIC_API_KEY:

  • Drafts get a polished prose pass via claude-sonnet-4-6.
  • Intake runs as an interactive chat using Donna's intake persona.

Deploy

See DEPLOY.md. Cloudflare Pages via @cloudflare/next-on-pages.

Claude Code skill

A companion skill is installed at ~/.claude/skills/donna/SKILL.md. Any Claude Code session can invoke /donna and get the same persona, citation conventions, and county quick-reference inline — no separate runtime, no web app needed.

Contributing

PRs welcome. Highest-value contributions right now:

  • County coverage. Adopt your county. Add a populated lib/corpus/county-overrides/<county>.ts with the local rules + standing orders.
  • Pleading templates. v0.1 ships the divorce petition only. The shape is in lib/templates/divorce-petition.ts; clone it for the other types listed in lib/draft.ts.
  • Voice match. The hook in draft.ts accepts a voiceMatchProfile string. Build the extractor in lib/voice-match.ts.

What Donna is not

  • Not a lawyer.
  • Not a replacement for your judgment.
  • Not legal advice to non-lawyers — this is a tool for lawyers.

License

MIT © 2026 Stephane Boghossian. See LICENSE and ATTRIBUTION.md.