Dhruv Choudhary
PhilosophyComponentsGitHub ↗
Philosophy · 001

A fixed point for design decisions.

Every rule here was extracted from a decision that actually shipped in a real app — named, with the commit it came from. Read it as a portable file any AI tool can load, or install the components it produced with one command.

terminal

$ npx dsgn add button card
non-destructivecopy, not a dependencyshadcn-style

The CLI copies component source into your project. You own the file the moment it lands — edit it freely, nothing to eject later.

Physical separation

01

Logic that can't import your UI framework, enforced by the build — not a naming convention.

shipped in lyric-viewer

One scheduler

02

Every background job goes through one deliberate engine, never an ad-hoc thread per call site.

shipped in lyric-viewer

Non-destructive by default

03

Edits are an overlay over an untouched original. Undo is structural, not reconstructed.

shipped in file-viewer

Trust the data

04

Gatekeep structure, never content. The user's data is the user's data.

shipped in file-viewer

Measure, don't guess

05

Performance claims are proven against the real thing, under real load, more than once.

shipped in lyric-viewer

Idioms stay current

06

Framework footguns from stale training data get written down with their exact failure mode.

shipped in review-grader