Thank you for contributing to UniLoot! This repository follows a lightweight process to keep project status clear and up-to-date.
- Fork the repository (or branch from main if you have write access).
- Create a descriptive branch for your work (e.g.
feature/browse-page,fix/db-connection). - Make your changes and run the app locally (see
README.mdfor setup). Add tests if applicable. - Update documentation where relevant.
We use PROJECT_STATUS.md as the canonical human-readable snapshot of the repository health and major changes. To keep the project status accurate for all contributors, please follow these rules:
-
Every time you merge or push a change that affects configuration, scripts, runtime behavior, CI, or major features (for example: adding routes, changing server scripts, updating TypeScript config, adding/removing hooks, etc.), update
PROJECT_STATUS.mdwith:- A one-line summary of the change (who, when, what)
- Any local run/start instructions that changed
- New dependencies added or removed
- Any manual steps required for running the app (for example, set
MONGO_URIinbackend/.env)
-
Keep the Last updated line current with the date and include the commit hash or PR reference if possible.
-
Use clear headings and the same top-level structure as the existing
PROJECT_STATUS.mdso the file remains easy to scan (Summary → Changes → Health checks → Next steps).
We recommend conventional commits. A good commit message format is:
<type>(<scope>): <short summary>
<body> (optional)
<footer> (optional)
Examples:
feat(ui): add product card component
fix(backend): guard mongoose connect when MONGO_URI missing
chore(dev): update dev script to src/server.ts
If you are unable to use commit hooks locally, explain why in the PR description and we can address the hook configuration centrally.
- Open a PR against
mainwith a descriptive title and summary of changes. - Link any related issues.
- In the PR description, include any manual steps required to run/test the change (for reviewers).
- Update
PROJECT_STATUS.mdin the same PR if the change affects project state.
If you're unsure whether a change requires a PROJECT_STATUS.md update, please add it — better to be explicit. If you have questions, open an issue and tag a maintainer.
Thanks for improving UniLoot — your contributions make the project better!
To avoid merge conflicts and keep development smooth, please regularly sync your feature branches with main while you work. Recommended cadence:
- Pull from
mainat least once a day for long-lived branches. - Pull before opening a PR or immediately before merging.
Suggested workflow (from your feature branch):
# fetch latest
git fetch origin
# update your local main branch
git checkout main
git pull origin main
# switch back to your feature branch and rebase or merge
git checkout feature/your-branch
# Option A: rebase (clean history)
git rebase main
# OR Option B: merge (preserve history)
git merge mainIf you frequently encounter conflicts or diverging histories, consider creating smaller PRs or rebasing frequently to keep your work current.