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:
18
docs/design/components/core/Button.d-ts.txt
Normal file
18
docs/design/components/core/Button.d-ts.txt
Normal file
@@ -0,0 +1,18 @@
|
||||
/**
|
||||
* CommiTea button. Plain verbs only ("Approve", "Brew plan", "Defer") — never witty.
|
||||
*/
|
||||
export interface ButtonProps {
|
||||
/** @default 'primary' */
|
||||
variant?: 'primary' | 'secondary' | 'ghost' | 'danger';
|
||||
/** @default 'md' */
|
||||
size?: 'sm' | 'md';
|
||||
/** Lucide icon name rendered before the label */
|
||||
icon?: string;
|
||||
/** Lucide icon name rendered after the label */
|
||||
iconRight?: string;
|
||||
disabled?: boolean;
|
||||
onClick?: (e: React.MouseEvent) => void;
|
||||
children?: React.ReactNode;
|
||||
style?: React.CSSProperties;
|
||||
}
|
||||
export declare function Button(props: ButtonProps): JSX.Element;
|
||||
Reference in New Issue
Block a user