Skip to content

Contribution Guides

The Tachi repository that you just set up is made up of multiple "components".

All of them have their own things going on, so this page has all the guides for each specific component.

For Professionals...

If you're already very familiar with git, the terminal, node and JSON, and care more about Tachi specific stuff (how to get the components running, what our architecture looks like), you should skip over that stuff in each guide.

We maintain these guides so that people with knowledge about how to improve Tachi can help out, regardless of their skill level! As such, not all of the information will be of use to you - Skip over the tooling explanations.

What can I contribute to?

In order of difficulty, here are the components of Tachi you can contribute to!

All of these sections summarise a part of Tachi, and end with a link to a guide you can use to contribute to it.

Issue Reports

You can report issues on the GitHub repository. This requires absolutely no programming knowledge on your part. All you have to do is write up a nice summary of the bug.

Note

Although they're called GitHub issues, they're actually used for tracking anything. If you've came up with a cool feature idea, send it over as an issue! zkldi will read and Triage them.

For more information, read our Issue Reporting Guide.

Documentation

We store our documentation as a series of markdown files in the Main Repository. You can find it under the docs/ folder.

Writing, maintaining and proofreading the documentation is something that is severely neglected at the moment. Simple things like typo fixes, all the way up to writing new explanations about major features are thoroughly appreciated, as zkldi prioritises maintaining the core of working code.

If you're interested in this, check out the Documentation Contribution Guide.

It'll teach you shell and git basics, setting up a programming environment for Tachi, and how to use our documentation builder.

Database Seeds

We use an interesting system for parts of our database. We actually store a game's songs and charts in our GitHub repository! That means you can:

  • Open the songs file for a game.
  • Edit a title of a song that has a typo.
  • Add a couple new songs that were added in the latest update
  • Submit your changes back and if they're accepted...
  • They automatically synchronise with the site!

Important

This part of Tachi is the most important part for external contributors. You guys know these games better than zkldi does, and you guys keep an eye on all the updates for your games!

If people don't add songs/charts to this database, zkldi will not keep an eye on the game for you! Someone has to pick up the reigns for each game!

If you want to add/fix songs, charts, folders or tables for your favourite game - START HERE!

Or in general, if you just want to contribute and don't know what to -- this is the MOST in need of help. Always.

Want to get started on contributing to the Database? Check out our Database Contribution Guide.

It'll teach you shell and git basics, setting up a programming environment for Tachi, json, and we'll even do a little scripting as a treat!

Server, Client

The server and client form the powerful core of Tachi.

The server handles all of our logic -- How do we get scores, where should scores come from, how do we calculate all these stats and way more.

The client tries to then place a slick UI over that logic and its exposed API.

Warning

Tachi's core is not an amazingly complex beast, but it is not going to be reasonably followable with not a lot of programming experience. You'll need some background in programming to be able to do almost anything in this area.

That said, we still have a thorough guide -- It's not from 0, but it is from some programming knowledge.

Want to get started on contributing to the Core? Check out our Core Contribution Guide.

We'll cover...

  • Running a local development instance of Tachi.
  • How to configure the server with conf.json5.
  • How our codebase is laid out.
  • How to run tests and more!

That's it for now!

Everything else in Tachi isn't seeking external contribution at the moment. So, feel free to check out one of the above linked guides!