blueprint-from-collection-design · git:20261001.9dae7bd · 2026-10-01 · sha256 699bf54f427f1a23

blueprint-from-collection-design git:20261001.9dae7bdA

Immutable. This exact content never changes and is served at /api/v1/blob/699bf54f427f1a23.

---
name: blueprint-from-collection-design
description: "Give the screens the look the user chose: MulmoTerminal's own collection screens, or a design template on the same classes."
---

# The look

The person used this collection in MulmoTerminal and knows how it looks there. Unless they chose a template, the app
should look the same. The design is the `design` answer in `.blueprint/answers.json` (missing means
`MulmoTerminal と同じ`).

1. **Tailwind and the icon font.** Add `tailwindcss`, `@tailwindcss/vite` and `material-symbols` with `yarn add -D`.
   Put `tailwindcss()` in the `plugins` of the web app's `vite.config`, and start the main stylesheet with
   `@import "tailwindcss";`. Import `material-symbols/outlined.css` once, where the app starts.
2. **The template, if one was chosen.** The usecase pack's `design/themes/<theme>.css` (`soft` for やわらかい,
   `crisp` for くっきり, `calm` for 落ち着いた) is copied into the web app unchanged and imported right after
   `@import "tailwindcss";`. It redefines the colours and corners the classes below use, so nothing else changes.
   For `MulmoTerminal と同じ` there is no template: do not redefine any colour.
3. **The screens.** Read the usecase pack's `design/mulmoterminal.md`: the classes MulmoTerminal's collection screens
   use, copied from them. Rewrite every screen the earlier steps made (list, kanban, calendar, detail, forms, sign-in,
   errors) with those classes and that structure — the same header, toolbar, table, pills, cards and record panel.
   Keep each screen's behaviour, text and tests; change markup and classes only. Write class names out in full
   (Tailwind only sees complete names); a choice between classes is a lookup table of whole strings, as the
   reference does. Remove the plain CSS the classes replace.
4. **The collection's own icon.** `.blueprint/source/source.json` names the starting collection (`start`); its
   `schema.json` may have `icon` (a Material Symbols name). Show it in the header's icon box beside the app's title,
   drawn as the reference draws it — MulmoTerminal does not colour that box by the collection's `color`, so neither
   does the app. Each other collection's screen shows its own icon the same way.
5. **`DESIGN.md`** at the app's root, for the person and for every later step: the design chosen (its answer, word
   for word), the template file if any, and the rule that new screens use `design/mulmoterminal.md`'s classes — so
   the screens later steps add look like the rest.
6. Run `yarn build` and the tests, and fix what the markup change broke without weakening a test. Keep Vite's output
   in a folder named `dist` (`dist/`, `dist/client/`, `client/dist/`): the check reads the built stylesheet there.

Done when the check passes: `yarn build` succeeds, and the stylesheet it wrote has MulmoTerminal's main button
(`.bg-indigo-600`), the Material Symbols font, and the chosen design's colour and corner values (Tailwind's own for
`MulmoTerminal と同じ`, the template's otherwise); the screens use `material-symbols-outlined` and the collection's
icon; `DESIGN.md` names the design.

## Always

- Read `.blueprint/spec.md` first. It is the agreed specification; do not widen it.
- When you need a decision, ask it through the blueprint question tool and stop. Do not guess.
- Do not run `git init`: a new repository loses the folder's trust and the next unattended step stops at Claude
  Code's trust prompt. The user adds git themselves after the build if they want it.
- Say you are done by stopping; the executor runs the check. Do not claim success yourself.