Skip to main content
Glama
README.md
# Stillroom MCP companion

Rehearse a venue visit, compare operational changes and draft a factual visitor brief through four read-only MCP tools. The self-hosted companion uses Streamable HTTP and negotiates protocol **2025-11-25**. A real browser workbench shows its requests and responses. No Alexa+ client or voice connection is claimed.

```sh
npm ci
npm run mcp
```

Open **http://127.0.0.1:3165**, connect, load the fictional example, rehearse, compare and draft. With the server running, `npm run mcp:test` exercises the actual endpoint through the official SDK client. [Complete setup and boundaries](mcp/README.md) · [Verification](mcp/VERIFICATION.md) · [MIT license](LICENSE).

The MCP companion was added October 20, 2026. The existing visual planner below was built for Bolt Builders Week and shares its explicit planning functions with the new companion. Codex assisted the MCP work; Bolt and Codex assisted the base planner. This repository includes both so judges can reproduce the complete implementation.

## Manual quality pass

Codex reviewed and repaired Bolt-generated modules through Bolt Code view. Initial structure and main screens were generated by Bolt. The repair pass covers expandable zone layouts, per-venue session routes, route editing, recovery after venue replacement, persistence errors, HTML export fallback, and accessible controls. Disclose these supporting tools when entering competitions.

Venue replacement keeps one previous workspace in `previousWorkspace`; the Undo venue replacement action remains available after navigation and reload. Guide metadata is scoped by venue under `stillroom.guideMeta.v1.<venue-id>`. Adding zones expands the schematic by rows. Select route stops in visiting order; uncheck and reselect a stop to move it to the end.

HTML export prepares a standalone document with escaped text, current conditions, and an inline SVG route schematic. If iframe download restrictions prevent saving, copy the complete HTML from the export panel and save it as a `.html` file. The app does not claim the browser completed a download. Data are device-local; the app fetches its display fonts from Google Fonts when online.

During manual QA, production build and nine domain/export regression checks passed. Browser checks exercised new-venue validation, added zones, route selection, named-session saving, reload persistence, undo recovery, mobile navigation, and copyable HTML export. Verify print behavior and the public deployment before release.

A premium sensory-access studio for independent cafes, galleries, and shops. Owners map sensory
conditions across their venue's zones, rehearse a calmer visiting session, and export a practical
visitor guide. Stillroom never certifies safety or accessibility compliance — all conditions are
owner-reported and all simulated changes are planning estimates.

Built with Vite + React + TypeScript + Tailwind CSS v4 + Radix UI primitives (shadcn-style).

## Workflows

1. **Venue map** — Edit zones (name, noise, light, crowds, capacity, dimmable lighting, step-free
   access, notes) on an interactive SVG floor plan with an inspector panel and legend. Add/remove
   zones (with undo), create a new venue, or reset to the Fern & Form sample.
2. **Session rehearsal** — Set day, time, duration, and visitor count. Toggle adjustments (music off,
   lower dimmable lights, queue bypass, quiet nook reserved) and watch each affect only the relevant
   zones. Walk the route stop-by-stop with Previous/Next. A comparison holds route and visitor count constant and lists only changed categories. Preference filters surface textual
   mismatches. Save and reopen sessions.
3. **Visitor guide** — A responsive visitor-view page generated from the current venue and selected
   session: what to expect, arrival/queue, labeled route, retreat space, lighting/noise notes, access
   limitations, staff prep checklist. Edit arrival instructions and contact details. Print / Save as
   PDF (print CSS hides app chrome) and download a self-contained HTML guide with escaped user text.

## Data & storage

All data is stored locally on this device via `localStorage` (key `stillroom.state.v1`). Guide contact
details are stored separately under `stillroom.guideMeta.v1.<venue-id>`. No app account or backend is required.
Venue data remain on this device. Display fonts are fetched from Google Fonts when online. The sample venue (Fern & Form) loads automatically and is clearly marked.

## Design

Editorial architectural studio aesthetic: warm ivory, deep ink, forest green, pale sage, restrained
terracotta. Serif display (Fraunces) + sans controls (Inter). Narrow nav rail, spacious floor-plan
canvas, contextual inspector. Fine rules, subtle paper texture, generous whitespace. No gradients or
purple. Responsive from ~390px mobile to desktop.

## Development

The new [MCP companion and protocol workbench](mcp/README.md) runs separately with `npm run mcp` at http://127.0.0.1:3165. It provides four real read-only tools over Streamable HTTP, protocol 2025-11-25. It does not connect to Alexa+ or change the previously published Bolt planner.

```bash
npm install
npm run dev      # start dev server
npm run build    # type-check + production build
npm run preview  # preview the build
```

## Honesty notes

- No invented comfort/accessibility score.
- No fake share links, email sending, or simulated publish success.
- No personal medical data is collected.
- Crowd estimates use owner-reported capacities and the planned visitor count as a transparent
  planning estimate.
- Stillroom never certifies safety or accessibility compliance.