Skip to main content

Ways to Contribute

There are many ways to help the Kitsu project grow and improve:

Spread the Word

Help make Kitsu more visible

Report Bugs

Help us identify and fix issues

Request Features

Suggest new capabilities

Contribute Code

Submit pull requests

Improve Documentation

Help others learn Kitsu

Translate

Make Kitsu available in more languages

Spread the Word

Helping to increase Kitsu’s visibility doesn’t take much time and makes a big difference:

Join the Community

Connect with other Kitsu users and developers:

Kitsu Community Discord

Join our Discord server for community support, discussions about pipelines, and to meet other users. Everyone is welcome!

Report Bugs

If you find an issue with Kitsu:
  1. Check if the issue already exists in GitHub Issues
  2. If not, create a new issue with:
    • Clear description of the problem
    • Steps to reproduce
    • Expected vs actual behavior
    • Screenshots if applicable
    • Your environment (OS, browser, Kitsu version)

Report a Bug

Submit bug reports on GitHub

Request Features

We use Canny to manage feature requests:
  • Browse existing feature requests
  • Vote for features you’d like to see
  • Post new feature ideas
  • Discuss implementation details

Feature Requests

Post and vote on feature requests

Code Contributions

Prerequisites

Before contributing code, we recommend:
1

Learn ES6 Syntax

Kitsu uses modern JavaScript (ES6+). Familiarize yourself with arrow functions, destructuring, async/await, and other ES6 features.
2

Read Vue.js Documentation

Understanding Vue.js fundamentals is essential. Read at least the main chapters of the Vue.js documentation.
3

Understand Vuex

Learn how Vuex works for state management. Review the Vuex documentation.
4

Set Up Development Environment

Follow the environment setup guide to get your local development environment running.

C4 Contract

All code contributions must respect the C4 contract (Collective Code Construction Contract). This ensures:
  • Open and collaborative development
  • Clear contribution process
  • Respectful communication
  • Maintainable codebase

Finding Issues to Work On

Good places to start:
  • GitHub Issues - Look for issues labeled “good first issue” or “help wanted”
  • Feature Requests - Popular feature requests on Canny
  • Bug fixes from your own testing

Contribution Workflow

1

Fork and Clone

Fork the repository on GitHub, then clone your fork:
git clone https://github.com/YOUR_USERNAME/kitsu.git
cd kitsu
2

Create a Branch

Create a feature branch for your changes:
git checkout -b feature/my-new-feature
3

Make Your Changes

Write your code following the code guidelines.
4

Test Your Changes

Ensure your changes work correctly:
npm run test
npm run lint
5

Commit Your Changes

Write clear commit messages:
git add .
git commit -m "Add feature: description of changes"
6

Push and Create PR

Push your branch and create a pull request:
git push origin feature/my-new-feature
Then open a pull request on GitHub with a clear description of your changes.

Pull Request Guidelines

When creating a pull request:
Use a descriptive title that summarizes the change:
  • “Fix: Correct task comment sorting”
  • “Feature: Add batch asset export”
  • “Refactor: Improve task list performance”
Include in the description:
  • What problem does this solve?
  • How does it work?
  • Any breaking changes?
  • Screenshots for UI changes
  • One feature or fix per PR
  • Avoid mixing unrelated changes
  • Keep changes reviewable (< 500 lines when possible)

Improve Documentation

Documentation improvements are always welcome! You can contribute to: Documentation contributions include:
  • Fixing typos and grammar
  • Adding missing information
  • Creating tutorials and guides
  • Improving code examples
  • Adding diagrams and screenshots

Technology Stack

Kitsu is built with:
  • Frontend: JavaScript (ES6+), Vue.js 3, Vuex, Vue Router
  • Build Tool: Vite
  • API Communication: Superagent
  • Real-time: Socket.io
  • CSS: Bulma framework
  • Testing: Vitest, Vue Test Utils

Architecture Guide

Learn more about Kitsu’s architecture

Code Review Process

After submitting a pull request:
  1. Automated Checks - ESLint and tests run automatically
  2. Code Review - Maintainers review your code
  3. Feedback - You may receive requests for changes
  4. Approval - Once approved, your PR will be merged
  5. Release - Your contribution will be included in the next release
Be patient and responsive during code review. Maintainers may have questions or suggestions to improve your contribution.

Recognition

All contributors are recognized:
  • Listed in GitHub contributors
  • Mentioned in release notes for significant contributions
  • Part of the Kitsu community

Getting Help

If you need help with your contribution:
  • Ask in the Discord community
  • Comment on the related GitHub issue
  • Reach out to maintainers

Code Guidelines

Read the code style guidelines before contributing

Build docs developers (and LLMs) love