Documentation index

Start here for how the Kefer desktop app is structured and how to work on it.

Current stack

LayerRole
Frontends (apps/web-react/, apps/web-svelte/)UI workspaces. React is the current primary shell; Svelte is the more advanced alternate build.
Tauri (src-tauri/)Native window, invoke commands, Python sidecar lifecycle.
Python (backend-python/)Ephemeris / chart computation (sidecar binary bundled in src-tauri/binaries/).
Static assets (static/ at repo root)Shared public assets for both frontends: app-shell/**, glyphs/**, favicon, and shared SVG families copied into each frontend build.

Frontend rules

  • Prefer the existing shadcn-style component systems before inventing custom controls.
  • React work should start from apps/web-react/src/app/components/ui/.
  • Svelte work should start from apps/web-svelte/src/lib/components/ui/.
  • Restyling should usually happen through shared variants, theme tokens, spacing, and composition rather than one-off component CSS forks.

Guides (read in this order)

  1. frontend-react — React + Vite + Tauri wiring, Tauri API layer, assets, dev commands.
  2. frontend-svelte — Svelte workspace layout, docs build behavior, and alternate Tauri scripts.
  3. ui-conventions — Four themes, sidebarThemeStyles, secondary nav (transits/settings), i18n workflow (translations.csvnpm run i18n:sync).
  4. architecture — Workspace layout, storage model, data flow (Rust/Python).
  5. python-package — Python module and CLI.
  6. time-navigation — Time navigation design (reference; implement with React state/hooks).
  7. physical-properties — JPL / physical fields.
  8. integration-examplesinvoke patterns and examples (some older snippets are illustrative only).

Historical / planning notes

Automation (todo)

  • ci-todo — Planned GitHub Actions: i18n sync verification, Rust/Tauri matrix builds, optional follow-ups.

React frontend

Operational guide for the React + Vite + Tauri UI workspace.

Svelte frontend

Operational guide for the alternate Svelte + Vite + Tauri workspace.

UI conventions

Theme, layout, and i18n rules for the React shell.

Architecture

Cross-layer architecture for the Tauri, React, and Python stack.

Python package

Notes on the Python backend package, CLI, and app integration.

Time navigation

Reference design for time navigation behavior and state.

Physical properties

Reference notes for JPL-derived physical fields and support.

Integration examples

Examples for Tauri command usage and Python-side integration.

Discussion summary

Historical architecture discussion notes from the earlier UI phase.

Implementation plan

Historical implementation notes and migration planning context.

CI todo

Planned automation and CI follow-up work.