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>
This commit is contained in:
Christian LeDoux
2026-07-07 20:42:46 -04:00
commit 7a5cacc54c
268 changed files with 15766 additions and 0 deletions

View File

@@ -0,0 +1,15 @@
/**
* Inline Lucide icon (1.5px stroke), tinted by currentColor.
*/
export interface IconProps {
/** Lucide icon name, e.g. "circle-dot", "sparkles", "git-branch" */
name: string;
/** Square size in px. 16 inline, 1820 in buttons/nav. @default 16 */
size?: number;
/** @default 1.5 */
strokeWidth?: number;
/** Accessible label; omit for decorative icons */
title?: string;
style?: React.CSSProperties;
}
export declare function Icon(props: IconProps): JSX.Element;