WORK-172
ID:WORK-172Status:draft

Migrate this repo's site config to the unified root config

Move site/refrakt.config.json to a unified refrakt.config.json at the repo root, declaring plugins, the plan section, and sites.main (or whatever name we settle on) for the existing site. Validates the design against our own project and gives us a multi-site-ready structure for any future additions (separate plan dashboard site, blog, etc.).

Priority:mediumComplexity:simpleMilestone:v0.11.0Source:ADR-010
claude/mcp-cli-wrapper-design-LsEXZ View source

Criteria completion

Criteria completion: 0 of 9 (0%) checked; tracking started on May 1, no incremental history yet0%25%50%75%100%May 1May 11

Tracking started May 1 — check back for trends.

Branches 2
claude/mcp-cli-wrapper-design-LsEXZ current draft
claude/v0.11.0-config-foundation donemain draft
History 2
  1. 5127eee
    Content editedby bjornolofandersson
  2. 2b1f874
    Created (draft)by bjornolofandersson

Acceptance Criteria

  • New refrakt.config.json at repo root with plugins, plan, and sites.main sections
  • sites.main carries everything currently in site/refrakt.config.json (contentDir, theme, target, packages, routeRules, icons, backgrounds, siteName, logo, baseUrl)
  • plan.dir = "plan"
  • plugins lists the actually-installed plugin-bearing packages (@refrakt-md/plan at minimum; review whether others should be listed)
  • site/vite.config.ts updated to pass site: 'main' to the SvelteKit plugin
  • Old site/refrakt.config.json removed
  • npm run build, npm test, and npm run dev (in site/) all succeed
  • CI passes
  • $schema reference at the top of the new root config pointing at the published JSON Schema (from WORK-159)

Approach

  1. Run refrakt config migrate --to nested on site/refrakt.config.json (or do it by hand) to produce the singular-site shape, then promote site to sites.main manually.

  2. Move the resulting file to repo root.

  3. Add site: 'main' to the refrakt(...) call in site/vite.config.ts.

  4. Delete site/refrakt.config.json.

  5. Verify the SvelteKit plugin's cwd-resolution finds the root config from inside site/ (it should, via upward walk; if not, document the override).

  6. Run the full test/build matrix to confirm nothing broke.

Dependencies

  • WORK-159, WORK-166, WORK-171 — all need to land first
  • WORK-168 — plan package needs to read plan.dir from the config so existing npx refrakt plan … invocations keep working

References

  • ADR-010 — Unified root-level refrakt config
  • site/refrakt.config.json — current source
  • site/vite.config.ts — needs site option added