29 lines
1.3 KiB
Markdown
29 lines
1.3 KiB
Markdown
# Project Rules
|
|
|
|
## Architecture
|
|
- Electron typescript/react app is in `js/` folder
|
|
- Orion is the api server which lives in the `go/` folder
|
|
- `cpp/` points to our prototype of a C++ Qt widgets client
|
|
|
|
Whenever implementing anything, make sure to take into account best practices without over-engineering.
|
|
|
|
## Electron App
|
|
### Quality
|
|
We care about overall architectural quality and keeping consistent patterns according to best practices.
|
|
|
|
As an example, we have as high of a bar as a product team like Linear, which outputs high quality software. Let's avoid slop at all costs.
|
|
|
|
### Package Manager
|
|
- Use **yarn** (not npm) for all dependency management
|
|
|
|
### Design system
|
|
Whenever possible, we should use the design system components. If we need to add a new component from the available ones in [shadcn](https://ui.shadcn.com/docs/components), we should add it to the design system (using `shadcn add _`) and use it in the app.
|
|
|
|
### Implementation completeness
|
|
When adding a feature on the client side, make sure that the api actually supports it by just checking orion implementation all the way through.
|
|
|
|
IF you find that the API is poorly designed, please suggest changes to improve the client experience.
|
|
|
|
## Verification
|
|
Check using `yarn compile` which lives in the package.json as a script.
|