# Below is a list of people that have contributed to the Pointy Castle
# project. Names should be added to the list like so:
#
#   Name <email address> [<github url>]

Iván Zaera Avellón <izaera@gmail.com> <https://github.com/izaera>
Steven Roose <stevenroose@gmail.com>
Aditya Kishore <akushwarrior@gmail.com> <https://github.com/AKushWarrior>
Hoylen Sue <hoylen@hoylen.com> <https://github.com/hoylen>
Adam Crowder <https://github.com/cheeseandcereal>
Herbert Poul <herbert@codeux.design> <https://github.com/hpoul>
Daniel Linsenmeier <daniel@ephenodrom.de> <https://github.com/Ephenodrom>
CDDelta <ngjunyen@gmail.com> <https://cddelta.github.io/portfolio/>
Shammah Chancellor <https://github.com/schancel>
Rick Bellens <https://github.com/rbellens>
Deniz Türkoglu <https://github.com/denizt>
Yurii Baryshev <https://github.com/YuriiBaryshev>
Graciliano M. Passos <https://github.com/gmpassos>
