Repository Organization
This page is the Docusaurus migration of the repository organization guidance.
Storage principlesโ
The repository is organized by responsibility:
qml/contains the UI layermodels/contains JavaScript data and state helpers used by QMLsrc/contains Python backend, sync, daemon, and utility logicassets/contains package-level branding assetsdocs/contains source documentationscripts/contains local maintenance and validation scripts
Within each area, files should be grouped by feature first and by technical role second.
QML UI layerโ
The qml/ tree is already split into stable areas:
qml/app/for shell, startup, navigation, and app-level pagesqml/components/for shared UI building blocksqml/features/for business-domain features with local pages and componentsqml/images/for runtime UI image assets
JavaScript model layerโ
The models/ directory contains reusable JavaScript modules imported by QML.
Use models/ for cross-feature helpers and shared app state. Keep feature-specific JavaScript inside feature folders unless it becomes broadly shared.
Python backend layerโ
The src/ directory contains runtime Python for:
- backend bridging
- daemon logic
- remote sync behavior
- configuration and logging
- helper tools that ship with the app
Documentation noteโ
The original longer source for this guidance remains in the repository during migration: