github-readme-stats/CONTRIBUTING.md

6.1 KiB

Contributing to github-readme-stats

We love your input! We want to make contributing to this project as easy and transparent as possible, whether it's:

All Changes Happen Through Pull Requests

Pull requests are the best way to propose changes. We actively welcome your pull requests:

  1. Fork the repo and create your branch from master.
  2. If you've added code that should be tested, add some tests' examples.
  3. If you've changed APIs, update the documentation.
  4. Issue that pull request!

Under the hood of github-readme-stats

Interested in diving deeper into understanding how github-readme-stats works?

Bohdan wrote a fantastic in-depth post about it, check it out:

Under the hood of github-readme-stats project

Local Development

To run & test github-readme-stats, you need to follow a few simple steps:- (make sure you already have a Vercel account)

  1. Install Vercel CLI.
  2. Fork the repository and clone the code to your local machine.
  3. Run npm install in the repository root.
  4. Run the command vercel in the root and follow the steps there.
  5. Open vercel.json and set the maxDuration to 10.
  6. Create a .env file in the root of the directory.
  7. In the .env file add a new variable named PAT_1 with your GitHub Personal Access Token.
  8. Run the command vercel dev to start a development server at https://localhost:3000.
  9. The cards will then be available from this local endpoint (i.e. https://localhost:3000/api?username=anuraghazra).

Note

You can debug the package code in Vscode by using the Node.js: Attach to process debug option. You can also debug any tests using the VSCode Jest extension. For more information, see https://github.com/jest-community/vscode-jest/issues/912.

Themes Contribution

GitHub Readme Stats supports custom theming, and you can also contribute new themes!

All you need to do is edit the themes/index.js file and add your theme at the end of the file.

Note

If you are contributing your theme just because you are using it personally, then you can customize the looks of your card with URL params instead.

Note

Keep in mind that we already have a vast collection of different themes. To keep their number manageable, we began to add only themes supported by the community. Your pull request with theme addition will be merged once we get enough positive feedback from the community in the form of thumbs up (see #1935). Remember that you can also support themes of other contributors that you liked to speed up their merge.

Note

Before submitting pull request, please make sure that your theme pass WCAG 2.0 level AA constrast ration test. You can use this tool to check it.

Any contributions you make will be under the MIT Software License

In short, when you submit changes, your submissions are understood to be under the same MIT License that covers the project. Feel free to contact the maintainers if that's a concern.

Report issues/bugs using GitHub's issues

We use GitHub issues to track public bugs. Report a bug by opening a new issue; it's that easy!

Frequently Asked Questions (FAQs)

Q: How to hide Jupyter Notebook?

Ans: &hide=jupyter%20notebook

Q: I could not figure out how to deploy on my own Vercel instance

Ans:

Q: Language Card is incorrect

Ans: Please read all the related issues/comments before opening any issues regarding language card stats:

Q: How to count private stats?

Ans: We can only count public commits & we cannot access any other private info of any users, so it's not possible. The only way to count your personal private stats is to deploy on your own instance & use your own PAT (Personal Access Token)

Bug Reports

Great Bug Reports tend to have:

  • A quick summary and/or background
  • Steps to reproduce
    • Be specific!
    • Share the snapshot, if possible.
    • GitHub Readme Stats' live link
  • What actually happens
  • What you expected would happen
  • Notes (possibly including why you think this might be happening or stuff you tried that didn't work)

People love thorough bug reports. I'm not even kidding.

Feature Request

Great Feature Requests tend to have:

  • A quick idea summary
  • What & why do you want to add the specific feature
  • Additional context like images, links to resources to implement the feature, etc.

License

By contributing, you agree that your contributions will be licensed under its MIT License.