WORK-207
Setting up your dashboard 0 entities found · 8/31 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

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
History 4
  1. 0a27bc6
    statusreadydone
    by bjornolofandersson
  2. e7d9b63
    Content editedby Claude
    v0.14.0 Chunk 7: SPEC-051 presets + adoption (WORK-204, 205, 206, 207)
  3. 3b92415
    Created (ready)by bjornolofandersson
  4. 80943c2
    Content editedby Claude
    plan: add SPEC-051 lumina neutral default + presets work items (WORK-200

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