Contributing¶
PeelJobs is MIT-licensed and open to contributions.
Start with Installation, then Architecture — particularly Authentication, which is where most misunderstandings begin.
Workflow¶
- Open an issue first, unless one exists. For bugs, include reproduction steps and the version you saw it on.
-
Branch from
master. Do not work directly on it. -
Make focused commits. One logical change each.
- Add tests. See Testing.
- Run the suite before pushing — not just your own tests.
-
Format and lint:
-
Check for stray whitespace:
-
Open a pull request describing what changed and why.
Commit messages¶
A subject line in the imperative, then a body explaining the behaviour without the patch, why that is a problem, and how the patch fixes it.
Make the CONTRIBUTING example imperative and concrete
Without this patch the example commit message in the CONTRIBUTING document
is not a concrete example. This is a problem because the contributor is left
to imagine what the commit message should look like based on a description
rather than an example. This patch fixes the problem by making the example
concrete and imperative.
Where changes belong¶
| Change | Goes in |
|---|---|
| API endpoint, model, task | backend/ |
| Job seeker UI | site/ |
| Recruiter UI | recruiter/ |
| Docs | docs/ |
Do not improve backend/templates/
The Django templates are being replaced by the SvelteKit apps. Styling fixes, Bootstrap→Tailwind conversion and markup cleanup there will be deleted along with the templates.
The way to modernise one of those pages is to rewrite it in site/ or
recruiter/. The /api/v1/ API is not legacy and is actively
maintained.
Good first areas¶
- Bug fixes
- Search quality
- Mobile experience
- Accessibility
- Migrating a remaining Django template page to SvelteKit
- Test coverage
- These docs
Security¶
Do not open a public issue for a security vulnerability. See the repository's
SECURITY.md for how to report privately.