Skip to content

Latest commit

 

History

History
443 lines (395 loc) · 95.5 KB

CONTRIBUTING.md

File metadata and controls

443 lines (395 loc) · 95.5 KB

Contributing to usehooks-ts

Thanks for wanting to contribute! It's more than welcome 🤗

As the creators and maintainers of this project, we want to ensure that usehooks-ts lives and continues to grow and evolve. We would like to encourage everyone to help and support this library by contributing

Ways to contribute

  1. Replying and handling open issues or discussions.

    We get some issues and discussions, and some of them may lack necessary information. You can help out by guiding people through the process of filling out the issue template, asking for clarifying information, or pointing them to existing issues that match their description of the problem.

  2. Reviewing pull requests.

    Pull requests (PRs) are essential for introducing new features, fixing bugs, and improving the overall quality of the codebase. As a reviewer, your role is crucial in ensuring that each PR meets the project's standards and goals. Here are some key aspects to consider when reviewing pull requests:

    • Code Quality: Examine the changes for readability, maintainability, and adherence to coding standards. Look for any potential code smells, redundant code, or opportunities for optimization.

    • Functionality: Test the changes locally if possible to verify that they work as intended. Check if the new feature functions correctly and if the bug fixes address the reported issues.

    • Compatibility: Ensure that the changes don't introduce breaking changes or compatibility issues with existing functionality. Consider how the changes may impact other parts of the codebase and any dependent projects.

    • Documentation: Confirm that the PR includes any necessary updates to documentation, including code comments, README files, changesets, or API references.

    • Testing: Assess whether the PR includes sufficient unit tests to cover the modified code. If necessary, suggest additional test cases or improvements to the testing strategy.

    • Feedback: Provide constructive feedback to the contributor, highlighting areas for improvement and praising positive aspects of the contribution. Encourage collaboration and discussion to address any concerns or questions.

    Your thorough review helps maintain the quality and stability of the project. Remember to be respectful and supportive in your feedback, fostering a positive and inclusive community for contributors.

  3. Help people write unit-tests.

    Some pull requests sent to the main repository may lack a proper test plan. These help reviewers understand how the change was tested, and can speed up the time it takes for a contribution to be accepted.

  4. Improving the documentation.

    Reviewing documentation updates can be as simple as checking for spelling and grammar. If you encounter situations that can be explained better in the docs, click Edit at the top of most docs pages to get started with your own contribution.

  5. Contribute the to code.

    Code-level contributions to usehooks-ts like creating or fixing a hook generally come in the form of pull requests. These are done by forking the repo and making changes locally explained below.

Code contributions

Here is a quick guide to doing code contributions to the library.

  1. Make sure to have the right dependencies up-to-date:

    • "node": ">=18.17.0"
    • "pnpm": "^8"
  2. Fork and clone the repo to your local machine:

    git clone https://github.com/YOUR_GITHUB_USERNAME/usehooks-ts.git
    
  3. Create a new branch from master with a meaningful name for a new feature or an issue you want to work on:

    git checkout -b your-meaningful-branch-name
    
  4. Install packages by running:

    pnpm install
    pnpm build
    
  5. If you want to create a new hook, use the generator:

    pnpm gen-hook
    
  6. Ensure your code lints without errors and the test suite still passes.

    pnpm build && pnpm lint && pnpm test
    
  7. Try to write some unit tests to cover as much of your code as possible.

  8. Push your branch: git push -u origin your-meaningful-branch-name

  9. Submit a pull request to the upstream usehooks-ts repository.

  10. Choose a descriptive title and describe your changes briefly.

Coding style

Please follow the coding style of the project. usehooks-ts uses eslint and prettier. If possible, enable their respective plugins in your editor to get real-time feedback. The linting can be run manually with the following command: pnpm lint and pnpm prettier.

License

By contributing your code to the usehooks-ts GitHub repository, you agree to license your contribution under the MIT license.

Contributors

Big thanks go to all our contributors! [Become a contributor]

Julien
Julien

🖋 💻 🎨 🤔
a777med
a777med

💻
Nguyen Tien Dat
Nguyen Tien Dat

💻
Elias Cohenca
Elias Cohenca

🖋
João Deroldo
João Deroldo

🐛 💻
Nishit
Nishit

💻
Jon Koops
Jon Koops

💻
LoneRifle
LoneRifle

💻
Viktor
Viktor

🤔 🐛
Bruno Clermont
Bruno Clermont

💬
yoannesbourg
yoannesbourg

🤔
Strange2x
Strange2x

🤔
Jason Pickens
Jason Pickens

🐛
Sel-Vin Kuik
Sel-Vin Kuik

🐛
isaac
isaac

🐛
Bruno RZN
Bruno RZN

💻 👀
Nathan Manceaux-Panot
Nathan Manceaux-Panot

💻 👀
Dien Vu
Dien Vu

🤔
Oleg Kusov
Oleg Kusov

🤔
Matthew Guy
Matthew Guy

🤔
andrewbihl
andrewbihl

🐛
lancepollard
lancepollard

🐛
Mukul Bansal
Mukul Bansal

🐛
Jean-Luc Mongrain sur la Brosse
Jean-Luc Mongrain sur la Brosse

💻 🤔
Nic
Nic

🖋
Dan Wood
Dan Wood

💻
jo wendenbuerger
jo wendenbuerger

🐛
Andrew Nosenko
Andrew Nosenko

🐛
CharlieJhonSmith
CharlieJhonSmith

💻
Sullivan SENECHAL
Sullivan SENECHAL

🤔 🐛 💻
Jason Long
Jason Long

🐛
kxm766
kxm766

🐛
Quentin
Quentin

💻 🤔 🖋
Daniel Lazar
Daniel Lazar

💻 🐛
Mark Terrel
Mark Terrel

🐛 💻
Andreas Herd
Andreas Herd

🐛
Sonjoy Datta
Sonjoy Datta

💻
Ilya Belsky
Ilya Belsky

🐛
James Barrett
James Barrett

💻
AbbalYouness
AbbalYouness

💻
didriklind
didriklind

💻 ⚠️
hexp1989
hexp1989

💻
Alvaro Serrano
Alvaro Serrano

🖋
Egehan Dülger
Egehan Dülger

💻
PabloLION
PabloLION

🐛 💻
David Sanchez
David Sanchez

🐛
Ajay Raja
Ajay Raja

🐛
Andy Merskin
Andy Merskin

🤔
Avirup Ghosh
Avirup Ghosh

💻 🐛
Sanne Wintrén
Sanne Wintrén

🐛
Alessandro
Alessandro

🐛
Andrey Tatarenko
Andrey Tatarenko

🐛
Anton Rusak
Anton Rusak

🐛
Mahmood Bagheri
Mahmood Bagheri

💻
Anver Sadutt
Anver Sadutt

🖋
Bogdan Ailincai
Bogdan Ailincai

💻
Simeon Griggs
Simeon Griggs

🐛
Kepro
Kepro

🐛
Jake Lippert
Jake Lippert

🐛
Tu Nguyen Anh
Tu Nguyen Anh

🐛 💻
Luke Shiels
Luke Shiels

🐛
Sergei Kolyago
Sergei Kolyago

🤔
Adham Akmal Azmi
Adham Akmal Azmi

🐛
Alek Kowalczyk
Alek Kowalczyk

🐛
Sean Callahan
Sean Callahan

🐛
Joshua Bean
Joshua Bean

💻 🐛
Tim Zhao
Tim Zhao

🐛
Patrick
Patrick

🐛
Bryce Dorn
Bryce Dorn

💻
angusd3v
angusd3v

💻
Davide Di Simone
Davide Di Simone

🐛
Jack Herrington
Jack Herrington

🐛
Avi Sharvit
Avi Sharvit

💻 🐛
Nicolae Maties
Nicolae Maties

🐛
Shardul Aeer
Shardul Aeer

🐛
Herlon Aguiar
Herlon Aguiar

🐛
Alexis Oney
Alexis Oney

🖋
curtvict
curtvict

💻
Josué Cortina
Josué Cortina

🖋
Alex / KATT
Alex / KATT

💻
Mourad EL CADI
Mourad EL CADI

💻 🐛
James Hulena
James Hulena

🐛
Matthew Hailwood
Matthew Hailwood

💻 👀
Michael Norrie
Michael Norrie

🐛
Valentin Politov
Valentin Politov

💻
Marnus Weststrate
Marnus Weststrate

💻
mancuoj
mancuoj

🖋
Chat Sumlin
Chat Sumlin

💻
Owen Haupt
Owen Haupt

🐛 🖋
ubarbaxor
ubarbaxor

💻
Michael Mior
Michael Mior

🐛 🖋
Pierre
Pierre

💻
Harry B
Harry B

🐛
Valerie
Valerie

🐛 💻
Steven Vachon
Steven Vachon

💻
Sean Kirby
Sean Kirby

⚠️ 💻
Alecsander Farias
Alecsander Farias

💻
Rahul Mishra
Rahul Mishra

💻 👀 🖋
Bryant Smith
Bryant Smith

💻 🐛
Rob Hannay
Rob Hannay

💻
Hooriza
Hooriza

💻 🐛
ShanSenanayake
ShanSenanayake

💻
Philip Ghering
Philip Ghering

💻
Ladislas Dellinger
Ladislas Dellinger

💻
Haff
Haff

💻
Lisandro
Lisandro

💻
Amir hossein rezaei
Amir hossein rezaei

💻
Nicolas Macian
Nicolas Macian

🐛 💻
Nate Forsyth
Nate Forsyth

💻
satelllte
satelllte

💻 🐛
Federico Panico
Federico Panico

💻
William Pei Yuan
William Pei Yuan

💻
Mihai
Mihai

💻 🐛
Habib Ogunsola
Habib Ogunsola

🖋
Ash Furrow
Ash Furrow

💻
Daniel Turuș
Daniel Turuș

💻
Rahul Chaudhary
Rahul Chaudhary

🖋 🐛
Joshua Ojoawo
Joshua Ojoawo

🤔 🐛
Jack
Jack

💻
Jon Linkens
Jon Linkens

💻 🐛
Jeongjin Oh
Jeongjin Oh

🐛
Tianning Li
Tianning Li

💻
Lars Artmann
Lars Artmann

🖋
KBobovskiy
KBobovskiy

💻
✨ Kathryn Gonzalez ✨
✨ Kathryn Gonzalez ✨

🖋
Yaroslav Chapelskyi
Yaroslav Chapelskyi

🖋
Samuel Van Erps
Samuel Van Erps

👀
ojolowoblue
ojolowoblue

🖋
Andrii Kostenko
Andrii Kostenko

💻
Akeem Allen
Akeem Allen

💻 🐛
trongbinhnguyen
trongbinhnguyen

🖋
Aniruddha Sil
Aniruddha Sil

💻
박찬혁
박찬혁

👀
Anish
Anish

💻
Hugo Hutri
Hugo Hutri

🖋
Balz Guenat
Balz Guenat

💻
OtterGeorge
OtterGeorge

💻
Samay Sagar
Samay Sagar

🖋
Pedro Lisboa
Pedro Lisboa

🐛
Henrique Malheiros
Henrique Malheiros

🐛
Kevin Newman
Kevin Newman

💻
a503189
a503189

🖋
Mourad EL CADI
Mourad EL CADI

💻
Pedro Henrique Lopes
Pedro Henrique Lopes

💻
Danbi Lee
Danbi Lee

💻
Connor Jennings
Connor Jennings

💻
Lucas Gomes
Lucas Gomes

🐛 💻
Martin Zagora
Martin Zagora

💻
KvD
KvD

💻
Alex
Alex

💻
Kacey Cleveland
Kacey Cleveland

👀
Avirup Ghosh
Avirup Ghosh

🐛
yabbal
yabbal

💻
Craig Patik
Craig Patik

🐛
Soldeplata Saketos Candela
Soldeplata Saketos Candela

💻
TENDOUZHI
TENDOUZHI

🐛
Marcin Wachulski
Marcin Wachulski

🐛
Salman Fazal
Salman Fazal

🐛
shrugs
shrugs

🐛
hyodori
hyodori

🐛
Eleazar “E” Ramos
Eleazar “E” Ramos

🐛
retnag
retnag

🐛
J young Lee
J young Lee

🐛
Filip Weiss
Filip Weiss

🐛
Marius Gundersen
Marius Gundersen

🐛
Syed Aman Ali
Syed Aman Ali

🐛
Axel Ingadi
Axel Ingadi

🐛
AndyP
AndyP

🐛
ishanVaghasiya
ishanVaghasiya

🐛
Nico Martinucci
Nico Martinucci

🐛
Shiv Bhonde | shivbhonde.eth
Shiv Bhonde | shivbhonde.eth

🐛
fritzmonkey
fritzmonkey

🐛
Rodrigo Mesquita
Rodrigo Mesquita

🐛
Moshe Simantov
Moshe Simantov

🐛
Beka
Beka

🐛
Abdallah Alkaser
Abdallah Alkaser

🐛 💻
Carl Smith
Carl Smith

🐛
Orlando Groppo
Orlando Groppo

🐛
Martijn Saly
Martijn Saly

🐛
Quinn Shanahan
Quinn Shanahan

🐛
Antoine Kingue
Antoine Kingue

🐛
Žan Žlender
Žan Žlender

🐛
Sebastian Dominguez
Sebastian Dominguez

🐛
James Cowan
James Cowan

🐛
Bayram Ali Basgul
Bayram Ali Basgul

🐛
Wyatt Castaneda
Wyatt Castaneda

🐛
Tim Neville
Tim Neville

🐛
Thomas Pigarelli
Thomas Pigarelli

🐛
James Herdman
James Herdman

🐛
Grzegorz Pociejewski
Grzegorz Pociejewski

🐛
René Verheij
René Verheij

🐛
PatrykKuniczak
PatrykKuniczak

🐛
Paolo Božac
Paolo Božac

🐛
Rein
Rein

🐛
FloorianB
FloorianB

🐛
Xuan Hung
Xuan Hung

🐛
Monawwar Abdullah
Monawwar Abdullah

🐛
Haroldo de Oliveira Pinheiro
Haroldo de Oliveira Pinheiro

🐛
Tamjid Ahmed
Tamjid Ahmed

🐛
jv-lopez
jv-lopez

🐛
Callum Macrae
Callum Macrae

🐛
bywater529
bywater529

🐛
Kevin He
Kevin He

🐛
FredericoGauz
FredericoGauz

🐛
Jonathan "JonLem" Lemos
Jonathan "JonLem" Lemos

🐛
Xegulon
Xegulon

🐛
Tom Smedley
Tom Smedley

🐛
lightbluepoppy
lightbluepoppy

🐛
Derek Oware
Derek Oware

🐛
Lance Gliser
Lance Gliser

🐛
J. Lewis
J. Lewis

🐛
Yair
Yair

🐛
Nishchit
Nishchit

🐛
Devofy
Devofy

🐛
Josh Guyette
Josh Guyette

🐛
Dora Li
Dora Li

🐛
Kristian Gerardsson
Kristian Gerardsson

🐛
James Powell
James Powell

🐛
Boaz Poolman
Boaz Poolman

🐛
roker15
roker15

🐛
Fadhil Ahmad
Fadhil Ahmad

🐛
Chandler-Zhu
Chandler-Zhu

🐛
Nghi Nguyen
Nghi Nguyen

🐛
Shravan Sunder
Shravan Sunder

🐛
Johannes5
Johannes5

🐛
sebahhpeya
sebahhpeya

🐛
Or Nakash
Or Nakash

🐛
Erez Makavy
Erez Makavy

🐛
Andy Merskin
Andy Merskin

🐛
ChainAlert Bot
ChainAlert Bot

🐛
Taylor Morgan
Taylor Morgan

🐛
wisdomabioye
wisdomabioye

🐛
Samuel Quiñones
Samuel Quiñones

🤔
Manuel
Manuel

💻 🐛
Yurii Rybak
Yurii Rybak

🐛
Yury Demin
Yury Demin

🐛 💻
Jon Tewksbury
Jon Tewksbury

💻 🐛
Novac Denis
Novac Denis

💻 🐛
kyrylo-soulandwolf
kyrylo-soulandwolf

💻 🐛
Miguel Isidoro
Miguel Isidoro

💻
Yuriy Gromchenko
Yuriy Gromchenko

💻
Jacob Hummer
Jacob Hummer

🤔
Kyrylo Melnychuk
Kyrylo Melnychuk

🖋 💻
Luma
Luma

💻
Eliya Cohen
Eliya Cohen

💻
Igor Sukharev
Igor Sukharev

🐛
pookmish
pookmish

🤔
metav-drimz
metav-drimz

🤔
luckrnx09
luckrnx09

💻
Hubert Kuczmierczyk
Hubert Kuczmierczyk

🤔 👀
dandubya
dandubya

📖
Darwish
Darwish

💻
Jonathan Raoult
Jonathan Raoult

🐛 👀

This project follows the all-contributors specification (emoji key). Contributions of any kind welcome!