Skip to content

Contributing

Rangga Fajar Oktariansyah edited this page Mar 31, 2026 · 3 revisions

How to Contribute

We welcome all forms of contribution! Whether it’s fixing a bug, adding a new feature, improving documentation, or adding translations.

Before You Start

  1. Check Issues – See if there’s already an issue related to your contribution
  2. Read the Code of Conduct – We expect all contributors to follow our Code of Conduct
  3. Consider the Scope – For large changes, open an issue first for discussion

Contribution Workflow

1. Fork the Repository

Fork the repository to your GitHub account.

2. Clone the Repository

git clone https://github.com/username/github-readme-profile.git
cd github-readme-profile

3. Install Dependencies

npm install

4. Create a New Branch

git checkout -b feature/your-feature-name

5. Make Changes

  • Follow the existing code style
  • Add comments if necessary
  • Update documentation if needed

6. Run Tests

npm test

7. Commit and Push

git add .
git commit -m "feat: describe your change"
git push origin feature/your-feature-name

8. Create a Pull Request

Open a pull request from your branch to the main branch of the original repository.

Adding a New Theme

GitHub Readme Profile supports custom theming, and you can contribute new themes to the built‑in collection.

Note

If you are contributing a theme only for personal use, you can customize the appearance of your card with URL parameters instead – no pull request needed.

Note

Your pull request with a new theme will be merged once it receives enough positive feedback from the community (at least 5–10 👍 reactions). This helps ensure that only themes with broad appeal are included.

Note

Before submitting your theme, please ensure it passes the WCAG 2.0 Level AA contrast ratio test. You can use WebAIM’s contrast checker to verify.

To contribute a theme:

  • Edit the themes/index.ts file and add your theme at the end.
  • Follow the existing structure: provide a descriptive name and a set of color definitions (title_color, text_color, icon_color, border_color, bg_color, etc.).

Adding a New Translation

GitHub Readme Profile supports multiple languages. If your language is missing, you can contribute a translation! See the currently supported languages in i18n/README.md.

To add a new language:

  1. Edit the i18n/index.ts file.
  2. Add a new property to each translation object using the language code as the key. The code should follow the ISO 639-1 standard (e.g., id, fr, ja). Country‑specific codes like pt-BR are also acceptable.
  3. Provide the translated strings for all keys. Use the existing translations as a reference.

If you are unsure about the language code, check this list for accepted codes.

Commit Message Guidelines

Use the following format for commit messages:

  • feat: – New feature
  • fix: – Bug fix
  • docs: – Documentation changes
  • style: – Formatting changes (no code change)
  • refactor: – Code refactoring
  • test: – Adding or updating tests
  • chore: – Build process, tooling, etc.

Examples:

feat: add new theme 'ocean'
fix: resolve issue with gradient background
docs: update installation instructions

Pull Request Guidelines

  • Clear Title – Briefly describe the change
  • Detailed Description – Explain what was changed and why
  • Reference Issues – If related to an issue, reference it
  • Update Documentation – If adding a feature, update documentation

Questions?

If you have any questions, please open an issue with the question label or reach out via GitHub Discussions.

Clone this wiki locally