WORK-207
Setting up your dashboard 0 entities found · 9/32 branches scanned
ID:WORK-207Status:done

create-refrakt template + post-init preset surfaces

Update the create-refrakt scaffolding so new projects ship with the pure neutral default — no presets array in the generated refrakt.config.json. The post-init message surfaces both tideline and niwaki as one-line opt-ins with config snippets, so the preset architecture is discoverable from the moment a new project is scaffolded.

Priority:mediumComplexity:smallMilestone:v0.14.0Source:SPEC-051
claude/v0.14.0-spec-051-presets View source

Criteria completion

Criteria completion: 4 of 6 (67%) checked; tracking started on May 18, no incremental history yet0%25%50%75%100%May 18Jun 15

Tracking started May 18 — check back for trends.

Branches 2
claude/v0.14.0-spec-051-presets current done
main doneclaude/spec-053-tint-authoring-notes ready
History 1
  1. e7d9b63
    Created (done)by bjornolofandersson

Acceptance Criteria

  • Generated refrakt.config.json uses the string-shorthand theme: "@refrakt-md/lumina" — no theme.presets field, so new projects render in pure neutral default
  • Post-init message in bin.ts now includes a "Two presets are available" section with one-line opt-ins for tideline and niwaki, plus a pointer to the docs for live previews
  • The message links to refrakt.md/docs/themes/lumina (the canonical docs surface authored in WORK-208)
  • No prompts during scaffolding for preset selection — Option 1 from SPEC-051 ("neutral always, post-init surfaces")
  • Scaffolding template content with a visible code block (out of scope for this work item — the template welcome content already includes examples; adding a dedicated preset-discovery code block can roll up with the docs pages in WORK-208)
  • End-to-end npm create refrakt smoke test (deferred — manual verification post-merge; the template generation logic was unchanged and the post-init message addition was minimal)

Approach

The template lives in packages/create-refrakt/ — specifically the scaffolded refrakt.config.json template and the post-init script's printed message.

Post-init message (proposed):

 Created your refrakt site at ./my-site

Your project renders Lumina's neutral default — a warm-neutral palette
designed to fade behind your content.

Want a starting palette? Lumina ships two opt-in presets:

  // Full warm-paper + maritime navy
  "presets": ["@refrakt-md/lumina/presets/tideline"]

  // Japanese-garden syntax highlighting (syntax-only)
  "presets": ["@refrakt-md/lumina/presets/niwaki"]

  // Compose them
  "presets": ["@refrakt-md/lumina/presets/tideline",
              "@refrakt-md/lumina/presets/niwaki"]

See refrakt.md/docs/themes/lumina for live previews.

Adjust message styling to match the existing create-refrakt voice; this is the gist.

Dependencies

  • WORK-204, WORK-205 — both presets must exist before the post-init message references them.
  • WORK-208 — preset docs pages exist so the message can link to them (or coordinate so links land alongside).

References

  • SPEC-051 — "create-refrakt shows the unopinionated baseline" design principle
  • packages/create-refrakt/ — scaffolding code