docs
Project docs
Core architecture, frontend, Python, integration, and planning notes.
Documentation index
Start here for how the Kefer desktop app is structured and how to work on it.
Current stack
| Layer | Role |
|---|---|
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)
- frontend-react — React + Vite + Tauri wiring, Tauri API layer, assets, dev commands.
- frontend-svelte — Svelte workspace layout, docs build behavior, and alternate Tauri scripts.
- ui-conventions — Four themes,
sidebarThemeStyles, secondary nav (transits/settings), i18n workflow (translations.csv→npm run i18n:sync). - architecture — Workspace layout, storage model, data flow (Rust/Python).
- python-package — Python module and CLI.
- time-navigation — Time navigation design (reference; implement with React state/hooks).
- physical-properties — JPL / physical fields.
- integration-examples —
invokepatterns and examples (some older snippets are illustrative only).
Historical / planning notes
- discussion-summary and implementation-plan predate the React shell. Use them for background only; prefer frontend-react and ui-conventions for the live codebase.
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.