Contributing

Looking to get involved? Awesome. Here's how.

We believe strongly that collaboration helps makes software great. We've got documentation that needs updating, bugs that need squashing, UI that needs designing, and more.

If you are interested in helping make Battlesnake better for everyone, here are some ways to you can help.

Open Source Codebases

Battlesnake is pretty complex software, and we've divided it up into a couple different open source repos to help make it manageable. Here are the ones that are actively accepting pull requests.

The board project is used to display Battlesnake games, both during live streams and competitions, as well as on play.battlesnake.com. It's built using React, HTML Canvas, and SVGs. We're always open to cool and crazy ideas to make the game board more fun, so if you've got one, show us!

Rules is a Go module that plugs into our primary game engine. It controls how the game rules are implemented, eliminations are decided, etc. This is a very important codebase, and we're particularly interested in new ways to test and verify that the game is being implemented as expected.

The docs repository is where this website is generated. Most of our docs use standard Markdown pages and are rendered with GitBook. If you see documentation that could be better, please feel free to send us a pull request.

All of the officially maintained Starter Projects are open source and open for pull requests. Keep in mind that these repositories should remain as simple as possible for someone new to Battlesnake development.

Creating New Starter Projects

Although we have several different Starter Projects demonstrating how to build your first Battlesnake, there are several more technologies and stacks that could be represented.

We are always looking for new Community Starter Projects that can help users who are developing their first Battlesnake.

If you choose to create a Starter Project, be sure to explore the existing ones first, to get an idea of what should (and should not be) included. Try your best to follow the examples given to ensure your contribution will be accepted.