Files
commitea/README.md
Christian LeDoux 7a5cacc54c Scaffold CommiTea: yarn workspaces, Electron shell, core label schema, design system
- apps/desktop: electron-vite + React + Tailwind mapped onto design tokens
  (preflight off; tokens/base.css owns the reset); boots to a Reginald
  placeholder proving fonts/tokens/core wiring
- packages/core: pure TS; gitea label schema (est/*, p/*, deadline/hard)
  with pessimistic conflict resolution + 15 unit tests
- docs/design: full design handoff (tokens, 16 component contracts,
  interactive 14-screen prototype, Reginald voice rules)
- docs/PLAN.md: product plan (purity rule, pm-state repo, deterministic
  scheduler + Monte Carlo, directive log)
- Deliberate deviation from novelpad stack: no ElectricSQL/PGlite — local
  store is a rebuildable cache over gitea REST/webhooks (better-sqlite3
  in main process, arriving in P1)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 20:42:46 -04:00

37 lines
1.5 KiB
Markdown

# CommiTea
AI project manager built on Gitea. A deterministic scheduler does the math
(Monte Carlo forecasts over your own estimate-vs-actual history); the agent —
Reginald — captures work via interview, negotiates priorities, and explains the
consequences. Gitea holds human-authored intent; a `pm-state` repo holds
machine-derived state. The LLM never does math.
## Structure
- `apps/desktop` — Electron app (electron-vite, React, Tailwind)
- `packages/core` — pure TypeScript: label schema, scheduler, gitea client (no
Electron imports)
- `docs/PLAN.md` — product plan (goals, phases, not-doing list)
- `docs/design/` — design handoff: tokens, component contracts, interactive
prototype (`docs/design/ui_kits/app/index.html` via a static server), brand
voice rules in `design_system_readme.md`
## Development
```sh
yarn # install
yarn dev # electron app, logs tee to apps/desktop/desktop.log
yarn test # unit tests (vitest)
yarn typecheck
```
## Conventions
- Yarn 4 workspaces; ESM everywhere; `.js` extensions on relative imports
- `@commitea/core` stays pure — unit-testable without Electron or network
- Design tokens are the source of truth (`apps/desktop/src/renderer/src/design/`,
mirrored from `docs/design/`); Tailwind maps onto the CSS custom properties,
never redefines them
- Reginald's voice rules live in `docs/design/design_system_readme.md` — no
emoji, no point-date forecasts, wit in sentences never in buttons