# Contribution Guide First of all, thank you so much for your interest in the Chickenwire project! I'm fairly new to both Rust and GitHub, not to mention still an undergrad, so if you have any experienced advice, I'm really eager to learn and improve. Now, on to brass tacks: ## Background Reading If you haven't already, please read up on the [GitHub Workflow](https://guides.github.com/introduction/flow) before continuing with this guide or making contributions. You might also find it helpful to refer to Red Blob Games' guide on hexagonal grids (a.k.a. [The Guide](https://www.redblobgames.com/grids/hexagons)), which Chickenwire is heavily based upon. ## Code Contributions Please adhere to the following [TDD](https://www.codecademy.com/articles/tdd-red-green-refactor) model: 1. Write all tests to check behavior and behavior alone. 2. Write only enough of a test to fail. 3. Write only enough production code to make a failing test pass. Note that documentation example tests are valid substitutes for sub-module unit tests. You do not have to use the TDD model for benchmark tests. If you're a web developer interested in the project, Chickenwire has a demo site in the works which could really use some help. The Chickenwire project has two-way [GitLab](https://gitlab.com/cmarcbs7/chickenwire) mirroring. ## Non-Code Contributions Documentation, issue filing, suggestions, and feedback are all super helpful. I'm also looking for someone to design a page image, just to give Chickenwire a brand identity. The contribution and style guides might get a little outdated or in need of improvement. Feel free to post an issue if you think that's the case. ## Versioning Like all Rust projects, Chickenwire uses [semantic versioning](https://semver.org/). ## Management If you have experience running a GitHub project, I'm always on the lookout for people to deputize. Please contact me if you're interested and qualified.