Make sure you review recommended extensions (see .vscode/extensions.json
)
Make sure you have the prettier
extension properly configured, and that your code properly format on save
so that your code won't cause diffs when other people later update the same files.
CushyStudio UI is done with React, Mobx, DaisyUI, Tailwind and a lot of custom-made components.
Code is pretty clean and fairly standard, but understanding Mobx is required, since the whole application is relying on mobx a lot.
During dev, you must start CushyStudio with the _windows-start-dev.bat
or the _mac-linux-start-dev.sh
so Cushy Studio can hot reload your changes.
Components you change in the codebase will be instancly updated in your UI.
If you're unfamiliar with tailwind, make sure you have the"bradlc.vscode-tailwindcss
vscode extension installed so you have autocompletion for both tailwind classes, and daisyui classes.
most styling can be done though the magical tw
property that is injected in all components and helps writing conditional classes, or tailwind classes more easilly. (check the src/csuite/custom-jsx/jsx-runtime.js
module to look at the implementation)
more generally, please take a look at Setting up VSCodeto ensure you have everything properly hooked up
Start / update scripts are the first contact users have with the application, but are also one on the most brittle things.
Cushy aims to be able to self-install, and not require anything prior => so it's practical to use native shell scripts to bootstrap a working environment..
If possible, try to follow the style guide defined here:
For now, linux scripts are the same as linux scripts
For now, linux scripts are the same as macos scripts
Cushy use a SQLite Database.
As of 2024-02-18, the schema is as follow:
CushyStudio use a SQLIte database. You can look at the