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:- Star the GitHub repository
- Follow on X/Twitter
- Follow on LinkedIn
- Download the trial Docker image
- Attend meetups
- Organize a Kitsu meetup in your area
- Write social media posts about Kitsu
- Write blog posts about your experience
- Tell colleagues and friends about Kitsu
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:- Check if the issue already exists in GitHub Issues
- 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:Learn ES6 Syntax
Kitsu uses modern JavaScript (ES6+). Familiarize yourself with arrow functions, destructuring, async/await, and other ES6 features.
Read Vue.js Documentation
Understanding Vue.js fundamentals is essential. Read at least the main chapters of the Vue.js documentation.
Understand Vuex
Learn how Vuex works for state management. Review the Vuex documentation.
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
Make Your Changes
Write your code following the code guidelines.
Pull Request Guidelines
When creating a pull request:Write a Clear Title
Write a Clear Title
Use a descriptive title that summarizes the change:
- “Fix: Correct task comment sorting”
- “Feature: Add batch asset export”
- “Refactor: Improve task list performance”
Describe Your Changes
Describe Your Changes
Include in the description:
- What problem does this solve?
- How does it work?
- Any breaking changes?
- Screenshots for UI changes
Link Related Issues
Link Related Issues
Keep PRs Focused
Keep PRs Focused
- 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:- Kitsu: github.com/cgwire/kitsu/tree/docs
- Zou (API): github.com/cgwire/zou/tree/docs
- Gazu (Python client): github.com/cgwire/gazu/tree/docs
- 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:- Automated Checks - ESLint and tests run automatically
- Code Review - Maintainers review your code
- Feedback - You may receive requests for changes
- Approval - Once approved, your PR will be merged
- Release - Your contribution will be included in the next release
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
