This repository is the mono repository for the Silentium node.js stack.
Stack utilizes yarn
to manage its mono repo and taskdev to organize operations
Projects within backend
, frontend
, and shared
will be automatically added to the workspace.
- Frontend code, add to
frontend
- Backend code, add to
backend
- Shared utilities like
utilities
,typescript typing
,tsconfig
etc. should be added inshared
in its corresponding project
- Package name (whatever defined in package.json) should follow format
@<area>/<name>
where area isbackend
,frontend
etc - Write a short, good name to reflect what the library is about
- Don't expose multiple entries in a library; it'd rather have multiple directories. For example,
@shared/utils
is not cool. Maybe@shared/translation
is better - Shared is normally for cross backend/frontend; as a rule of thumb. Nothing stops you from adding
@backend/utils
and@frontend/utils
, but you can also add toshared
, don't too worry about where should it goes - As we are using
typescript
directly, please NEVER add source undersrc
dir; that'll mess up the directory structure on reference
- README should be kept up-to-date
- README should be added where it is needed. Feel free to add README to projects
Please refer to Conventional commits Try to group commits meaningfully and not mix up the intention. For example, features generally should not include refactoring/chores. Bugfix should not include new features etc
Rule of thumb
feat: [Ticket refer] description of feature goes here
fix: [Ticket refer] description of bugfix goes here
chore: [Ticket refer] update CI/CD, docs etc
- Install vscode
- Install taskfile
- Install nodejs version >= 16
- Yarn 2 is needed
- Install docker and docker compose
yarn install
task dev:prep
to install yarn and run upfront taskstask dev:up
to start development