First off β thanks for taking the time to contribute! π
This document explains how to propose changes, report bugs, and get your work merged.
- Code of conduct
- Ways to contribute
- Development setup
- Project conventions
- Commit messages
- Pull request process
- Reporting bugs
- Suggesting features
This project is governed by our Code of Conduct. By participating, you are expected to uphold it. Please report unacceptable behavior to the maintainer.
- π Report bugs
- π‘ Suggest features or new cards
- π Improve documentation
- π¨ Improve the UI / accessibility
- π§Ή Refactor or simplify code
You don't need permission to start β small PRs are very welcome.
git clone https://github.com/PATILYASHH/githubstats.git
cd githubstats
npm install
npm run devThe app runs at http://localhost:3000. No environment variables are required (see README β Configuration for the optional GITHUB_TOKEN).
Before pushing, make sure the project builds and lints:
npm run lint
npm run build- Language: TypeScript everywhere. Keep types in
lib/types.ts. - Data fetching: server-side only, in
lib/github.tsand the route handler. Never expose tokens to the client. - Styling: plain CSS in
app/globals.css, GitHub dark theme variables. Reuse the CSS custom properties (--bg,--border, etc.). - Cards: new cards should wrap their content in
<ShareCard>so they get the share-as-image button for free. - Match the style of the surrounding code β naming, spacing, and comment density.
Use clear, imperative-mood messages:
Add commit-time heatmap card
Fix year selector defaulting to oldest year
Refactor language aggregation
Conventional Commits (feat:, fix:, docs:) are welcome but not required.
- Fork the repo and create a branch from
master. - Make your change, keeping PRs focused and reasonably small.
- Run
npm run lintandnpm run buildβ both must pass. - Update documentation (README, CHANGELOG) when behavior changes.
- Fill out the PR template and link any related issue.
- A maintainer will review; please be responsive to feedback.
By contributing, you agree that your contributions will be licensed under the MIT License.
Open a bug report and include:
- What you did and what you expected
- What actually happened (screenshots help)
- The GitHub username you tested with (if relevant)
- Browser / OS
Open a feature request describing the problem you want solved and your proposed solution. Mockups and examples are appreciated.
Thanks again β happy hacking! π