Glasshouse
A dashboard, privacy controls and Home Assistant bridge for rooted LG webOS TVs.
Plain, dense, accessible React components with square corners, real links and controls that line up. Copy them into your app with the shadcn CLI.
Developer toolsTypeScript · CSSGitHub @nzmiscOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Plain, dense, accessible React components: square corners, gray buttons with borders, tables with lines, and links that are blue until you've visited them. Every control sits on one height scale (20, 24, 28, 36px), so anything you put side by side lines up.
It is a shadcn registry, not an npm package: you copy the components you want into your project with the shadcn CLI, and they are your code from then on.
npx shadcn@latest add https://<site>/r/button.json
app/): every component with examples and install commands, sixteen
demo apps built only from these components, and a theme customizer./storybook/ on the same site.registry/items/*.json describe the items; scripts/build-registry.ts turns them into public/r/*.json.npm install
npm run dev # the site on http://localhost:3000
npm run storybook # Storybook on http://127.0.0.1:6106
npm run build # registry, Storybook into public/storybook, then the site
Both dev servers only answer to localhost. To reach them by another name (a tunnel, a tailnet name), list it in
.env.local: DEV_HOSTS=dev-box.example.ts.net. For production builds served elsewhere, set NEXT_PUBLIC_SITE_URL
so install commands and registry links point there.
The AI chat demo (/demos/chat) answers for real, through OpenRouter: set
OPENROUTER_API_KEY in the server's environment (for example in .env.local, which git ignores). Without it the chat
says it isn't set up and everything else works. The server only accepts the few models listed in the demo and caps
each answer's length, so a key can't be spent on anything else through it.
How the code is organised and the rules every component follows are in AGENTS.md. Design notes are in docs/concepts.
registry/plainspoken/lib/LICENSE-lucide.txt.app/fonts.MIT