You will need 3 things to get started:
Once Node.JS is installed, you may then set up PNPM, our package manager of choice. You can find instructions for that here.
Finally, you can download the project's dependencies by running pnpm i
(or just running ./ez_setup.sh
) in the project directory. Now you're ready to code!
-
Try to keep your code clean and readable.
At the very least, comment your work as much as possible. Making code easy to follow is crucial for me and fellow developers. As a general rule of thumb:
- If you think your future self might not be able to read it, it needs a comment.
- If you used a clever one-liner, explain the process in a comment.
- If you used some obscure variable name, explain what it means in a comment.
- If your logic is convoluted, explain each step in a comment.
-
Avoid adding third-party dependencies to the project.
Dependencies add a potential point of failure, and a somewhat unknown variable to the project's stability and security. Certain dependencies may also needlessly bloat the project size, which is very undesirable for end-users. This is why Node Studio tries to use as little dependencies as possible.
If your contribution requires adding a new dependency, please make sure you do your research before proposing it in a pull request. Ask yourself questions like:
- Is the dependency actively maintained?
- How much of the dependency would be used? If not much, could we simply replicate the needed functionality for our use case?
- Does the dependency provide functionality for more than one or two parts of our code?
- Can vanilla JS/TS features or Rust provide similar functionality?
-
Avoid pushing large amounts of work in individual commits.
Understanding what was changed helps everyone involved with keeping track of your progress, and also helps to find bugs if/when they appear. Try to work on bits and pieces at a time, and commit them separately.
-
Try to keep commit messages/descriptions clear, relevant, and concise.
As a general rule of thumb:
✅ DO ❌ DON'T package: add app icon to build params
finally fixed this stupid box
piano: improved mouse/cursor interactions
OH MY GOD IT WORKS???
improved default ui theme colors
this. makes me suffer