-
Notifications
You must be signed in to change notification settings - Fork 0
Contributing
Contributions are welcome, whether you are fixing a bug, adding a feature, improving documentation, or reporting an issue. This page explains how to work within the project’s conventions so that review and merging go smoothly.
Open an issue at https://github.com/WSE-research/Solid-Hello-World-Frontend-React/issues/new using the User Story template. Fill in the description, acceptance criteria, and Definition of Ready fields. Incomplete issues are hard to estimate and easy to misinterpret.
For bugs, describe the expected behaviour, the actual behaviour, and the steps to reproduce.
All development targets the main branch.
Create a feature branch from main for every piece of work, regardless of size.
Branch names follow this pattern:
<issue-number>-<short-description-in-kebab-case>
Examples:
42-context-menu-for-file-actions 57-grid-list-toggle-view 61-url-sync-and-deep-linking
Keeping branches small and focused makes review faster and reduces the risk of conflicts.
solid.drive uses Conventional Commits. Every commit message must start with a type prefix:
| Type | When to use |
|---|---|
|
A new user-facing feature |
|
A bug fix |
|
Code restructuring with no behaviour change |
|
Adding or updating tests |
|
Documentation only changes |
|
Build scripts, dependency updates, configuration |
|
Performance improvements |
|
CI/CD pipeline changes |
Format:
<type>: <short imperative description> <optional body, explain the why not the what>
Examples:
feat: add grid and list toggle to the file explorer fix: resolve publisher WebID to display name in shared-with-me section test: add e2e coverage for upload and delete flows refactor: extract shared catalog naming logic into infrastructure/solid
-
Open an issue first for anything non-trivial. Alignment before code saves everyone time.
-
Fork the repository and create a branch from
mainfollowing the naming convention above. -
Write tests for your changes. The project targets 80 % coverage; new code should not drop it.
-
Run the full check suite before pushing:
npm test npm run lint -
Open a PR against
mainwith a clear title and a summary of what changed and why. -
Address review feedback by pushing new commits; do not force-push during an active review.
-
The PR is merged after approval and all CI checks pass.
|
💡
|
Small, focused PRs are reviewed faster. If a feature is large, break it into logical phases and open one PR per phase. |
Before requesting review, verify that:
-
❏ All acceptance criteria from the linked issue are satisfied
-
❏ New behaviour is covered by automated tests
-
❏
npm testandnpm run lintpass with no errors -
❏ No imports violate the layered architecture rules (see Architecture)
-
❏ The manual QA checklist has been run for any flow that touches Solid Pod interactions