Thank you for your interest in contributing to our project! Please follow these guidelines to help maintain consistency and streamline the development process.
- Issue Creation: Create issues for everything you won't start working on immediately.
- Project Assignment: Assign issues to
backlog
andGEM
orEPIC
and maybeYnput planning
projects. Assign PRs toYnput planning
. - Labeling: Use labels to categorize issues appropriately.
- Branch Creation: Use the GitHub "create branch" button to create branches directly from issues.
- Semantic Commits: Adhere to the semantic commit format for clear and descriptive commits.
- Issue-less Branches: You may use branches without associated issues for small tasks and fixes but try to avoid it.
- Add to
Backlog
project. - Fill out
Backlog
fields the best you can. - Add to
GEM
(General Enhancement & Modifications) project or a specificEPIC
project.
- If you know it can be worked on straight away and who can work on it: a. Add to Planning project b. Fill out fields c. Add the Assignee
- During a work in progress keep as a draft
- Assign yourself
- When ready convert from Draft to Ready
- Assign a reviewer to request a review (@martastain, @LudoHolbik or @Innders)
- Add to
Ynput planning
project (if you can)
- Follow the default GitHub suggested format: issue number prefixed, hyphen-separated, and lowercase, e.g.,
1234-fix-bug
. - Avoid using prefixes like
feature/
,bugfix/
, etc. - Ensure names are short yet descriptive and use present tense.
- For branches without issues, use descriptive names, e.g.,
fix-bug-in-auth
.
Commit messages should be formatted as follows:
<type>(<scope>): <short summary>
│ │ │
│ │ └─⫸ Summary in present tense. Not capitalized. No period at the end.
│ │
│ └─⫸ Commit Scope: setting|browser|editor|auth|inbox|preview|activities|....
│
└─⫸ Commit Type: build|ci|docs|feat|fix|perf|refactor|test
The <type>
and <summary>
fields are mandatory, the (<scope>)
field is optional.
- use imperative, present tense: “change” not “changed” nor “changes”
- don't capitalize first letter
- no dot (.) at the end
feat(settings): add settings copy
fix(auth): fix session expiration
feat: add video preview endpoint
Use the following labels to categorize issues:
bug
— For marking bugs.enhancement
— For improvements to existing features.feature
— For new features.maintenance
— For general maintenance tasks.wontfix
— For issues that will not be addressed (issues only).epic
— For large features or tasks that encompass multiple issues (issues only).
Your contributions are invaluable to us. Following these guidelines helps us manage the project effectively and ensures that your contributions are integrated smoothly.
Thank you for collaborating with us!
Frontend does not have a strict versioning scheme, releases are tagged with the date of the release.
Notes
- Keep the version at
0.0.0-dev
inpackage.json
. - Semantic-release is not enabled, new releases are created automatically with the server CI
- Semantic commit messages are not used but are encouraged.
- Avoid spinners
- Avoid layout shifts when the data loads in.
- Use skeleton shimmer placeholders.
- Use
loading
class for loading shimmer.