Thank you for contributing to ByteChain Academy.
This guide follows the Drips Wave contribution workflow used for community-led delivery.
- Pick one issue and confirm scope before writing code.
- Share a short plan (problem, approach, ETA) in the issue thread.
- Wait for assignment or maintainer approval before starting implementation.
- Keep the PR narrowly scoped to the assigned issue.
- Ship with passing checks and clear documentation updates.
- Comment on the issue with:
- your approach in 3-6 lines
- expected completion time
- any blockers/dependencies
- A maintainer assigns the issue.
- Start implementation only after assignment.
- If you stop working on it, unassign yourself or notify maintainers quickly.
Use one of these prefixes:
feat/<short-description>fix/<short-description>ci/<short-description>docs/<short-description>
Examples:
feat/dao-voting-historyfix/auth-refresh-loopci/add-backend-cachedocs/deployment-readme
- Fork and clone:
git clone https://github.com/<your-username>/ByteChain-Academy.git
cd ByteChain-Academy- Create a branch:
git checkout -b docs/your-change-
Make changes with focused commits.
-
Run relevant checks:
# backend
cd backend
npm run lint
npm run test
npm run build
# frontend
cd ../frontend
npm run lint
npm run buildEvery pull request should include:
- a clear title using conventional style (
feat:,fix:,docs:,ci:) - linked issue number (for example,
Closes #295) - short summary of what changed and why
- testing evidence (commands run and outcomes)
- screenshots for frontend/UI changes when relevant
PR quality requirements:
- one concern per PR
- no unrelated refactors
- no secrets in commits
- updated docs when behavior/config changes
Recommended format:
feat: add certificate verification endpointfix: handle missing auth token in dashboarddocs: expand backend deployment guideci: add node cache for frontend workflow
- Be respectful in discussions and reviews.
- Report security issues privately to maintainers instead of opening a public issue.
Thanks for helping improve ByteChain Academy.