Contributing to Developer Icons
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.
๐ Table of Contents
- Getting Started
- Development Setup
- Submitting Changes
- Coding Conventions
- Adding New Icons
๐ Getting Started
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.
๐ป Development Setup
- 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
in root
- For the docs website:
npm install
in /docs
- Set up your development environment:
- For the playground:
npm run dev:playground
- For the documentation:
npm run dev:docs
๐ Submitting Changes
- 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
๐ Coding Conventions
- 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
๐จ Adding New Icons
- 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
โ Questions
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 โค๏ธ!