We appreciate your thought of contributing to Developer-Icons. We welcome contributions of all kinds, from bug fixes to new features and icons. Your efforts help make this project better for everyone.
Before you begin:
- Make sure you have a clear understanding of the project structure for which you can check out the walkthrough doc
- Submit an issue/discussion for your proposed changes, assuming one does not already exist
- Clearly describe the issue including steps to reproduce when it is a bug
- And lastly, don't forget to have fun cuz we're having fun too.
- Star and fork the developer-icons repository
- Clone your fork of the repository:
git clone https://github.com/<your-github-username>/developer-icons.git
- Install dependencies
- For the package:
npm install
inroot
- For the docs website:
npm install
in/docs
- For the package:
- Set up your development environment:
- For the playground:
npm run dev:playground
- For the documentation:
npm run dev:docs
- For the playground:
- Create a new branch for your feature or bugfix:
git checkout -b <your-branch-name>
- Make your changes and commit them with a clear commit message
- Push your branch to your fork:
git push origin <your-branch-name>
- Submit a pull request to the main repository
- Write clear, readable, and well-documented code
- Follow the existing code style and structure
- To make commits better, you can take a look at this wonderful commit guide
- Make sure to test that the changes you've made works and nothing else is broken
- Firstly crop the SVG icon you want to add using SVGCrop.com to ensure that there is no unnecessary space around the icon
- Place your SVG files in the
/icons/raw
directory and rename them in a consistent way according to other pre-existing icons - Run the optimization script which automatically moves the icons from
/icons/raw
folder to/icons
folder after optimization:npm run optimize-svgs
- Update the icons data for every icon in the
/lib/iconsData.ts
file in a consistent way according to rest of the data and arrange them in alphabetical order - Build the project to generate the new icon components:
npm run build
- Run the playground environment to add and test the newly added/changed icon components
npm run dev:playground
- If everything looks good, push the changes and create a Pull Request
Open discussions in this repository to ask with the community or you can directly reach out to @xandemon for any kinds of queries.
Thank you for your contributions ❤️!