Skip to content

Contributing

jv edited this page Jun 3, 2026 · 1 revision

Contributing

Dev setup

npm install
npm run dev        # Vite dev server on http://localhost:3000
npm run build      # tsc -b + vite build  → dist/
npm run preview    # serve the production build

Guidelines

  • Strict TypeScript (noUnusedLocals) — the build must be 0 errors. Run npm run build before committing.
  • Single stylesheet — all styling/animation lives in src/styles/theme.css. Use the accent CSS variables (--accent-rgb, color-mix) rather than hardcoding colors so themes/accents recolor correctly.
  • Respect prefers-reduced-motion: reduce for any new animation.
  • One component per surface under src/components/.
  • Don't commit personal datalayouts.json and my-dashboard-layout.backup.json are gitignored on purpose.

Keep docs + wiki in sync

Whenever you change anything users or developers need to know (features, install steps, architecture, file layout, versions, names, deployment), update all of:

  • README.md (features, architecture, install, settings persistence)
  • addon/README.md (install guide, first-time setup, layout import/export)
  • addon/CHANGELOG.md (an entry per add-on version bump)
  • TODO.md (mark items done / add new)
  • This wiki (the relevant pages)

Versioning

Keep package.json and addon/config.yaml versions in sync. Bump the add-on version on every add-on change. See Add-on Development.

License

This project uses a custom license: owner Jeff Venuto, non-commercial, and modify-with-attribution (derivatives must keep the same terms). See the LICENSE file. By contributing you agree your contributions are licensed under the same terms.

Clone this wiki locally