# 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>
Netthaw <https://github.com/Netthaw>
Uchiha Kakashi <https://github.com/licy183>
nyuszika7h https://github.com/nyuszika7h
TiagoSantos <Tiagomsantos89@gmail.com> <https://github.com/TMSantos>
Mathieu D'Amours <mathieu@damours.org> <http://www.braver.net/>
Yurii Baryshev <https://github.com/YuriiBaryshev>
Alban Durrheimer <alban.durrheimer@protonmail.com> <https://github.com/AlbanDurrheimer>
Olaf Schlüter <tallinn1960@yahoo.de> <https://github.com/tallinn1960>
Edward Poot <edwardmp@gmail.com> <https://github.com/edwardmp>
Kajus Wurster <https://github.com/kjzl>
Kaoet <kaoet.ibe@outlook.com> <https://github.com/kaoet>
Raphael Schweizer <https://github.com/CaringDev>

