CONTRIBUTING.md 7.3 KB

Contributing to Kilo Code

First off, thanks for taking the time to contribute! ❤️

All types of contributions are encouraged and valued. See the Table of Contents for different ways to help and details about how this project handles them. Please make sure to read the relevant section before making your contribution. It will make it a lot easier for the team and smooth out the experience for all involved. The community looks forward to your contributions. 🎉

If you don't have time to contribute, that's fine. There are other easy ways to support the project and show your appreciation, which we would also be very happy about:

  • Star the project
  • Post on X or Linkedin about Kilo Code `#kilocode
  • Mention the project at local meetups and tell your friends/colleagues

Table of Contents

Code of Conduct

This project and everyone participating in it is governed by the Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to [email protected].

I Have a Question

If you need clarification after reading this document, we encourage you to join our discord workspace and join channels kilo-dev-contributors and extensions-support channel.

I Want To Contribute

Code Contributors

We’re excited that you’re interested in contributing code to Kilo Code! Before you start, please take a look at our Development Guide, it includes setup instructions, build steps, and details on running tests locally.

What to Expect

  • A GUI-based change with settings may involve 12–13 files, plus about 18 more for internationalization (i18n).

  • A new feature or major update might also require corresponding tests, translations, and settings configuration updates.

Don’t let that scare you off, we just want you to have a realistic idea of what’s involved before diving in. You’ll learn a lot, and we’re here to help if you get stuck.

Tips Before You Start

  • If your change affects any UI elements or Settings, expect it to touch multiple files and translations.

  • You can use our translation workflow to automate adding i18n strings instead of editing each language manually.

Unsure if your contribution is “small” or “large”? Start a quick discussion in kilo-dev-contributors channel on discord or open an issue with good context, follow the commit and pull request guidelines below once you’re ready to open a PR.

Reporting Bugs

Please use our issues templates that provide hints on what information we need to help you.

You must never report security related issues, vulnerabilities or bugs including sensitive information to the issue tracker, or elsewhere in public. Instead sensitive bugs must be sent by email to [email protected].

Custom Modes

Custom modes are a powerful way to extend Kilo Code's capabilities. To create and share a custom mode:

Feature Requests

Suggest feature requests in Discussion, only open an Issue for reporting a bug or actual contributions. Don't open issues for questions or support, instead join our Discord workspace and ask there.

  • Provide as much context as you can about what you're running into.

Improving The Documentation

If you notice outdated information or areas that could be clarified, kindly start a discussion in the general channel on discord. Please note that the main documentation repository has been archived, you can still view it for reference.

Improving The Design

Design contributions are welcome! To ensure smooth collaboration, please use the Design Improvement Template when opening a design-related issue. This helps us gather the right context (such as wireframes, mockups, or visual references) and maintain a consistent design language across the project. Feedback and iterations are highly encouraged, design is always a shared process.

Publish a Blog Post or Case Study

We love hearing how people use or extend Kilo Code in their own projects. If you’ve written about your experience, we’re happy to review it! Our blog and case study repository has been archived, you can still access it here for reference. To share your work, please start a discussion in the general channel on discord, summarizing your post or case study, with a link to the full content.

Commit Messages

Writing clear and consistent commit messages helps maintainers understand the purpose of your changes. A good commit message should:

  • Be written in the present tense (e.g., Add new feature, not Added new feature)

  • Be short (50 characters or less for the summary line)

  • Include additional context in the body if needed

  • Reference related issue numbers (e.g., Fixes `#123)

  • Keep each commit focused on one logical change

Pull Requests

When you’re ready to contribute your changes, follow these steps to create a clear and reviewable pull request:

  • Push your changes to your fork:

    git push origin your-branch-name
    
  • Open a Pull Request against the main Kilo Code repository.

  • Select "Compare across forks" and choose your fork and branch.

  • Fill out the PR template with:

  • A clear description of your changes

    • Any related issues (e.g., “Fixes `#123”)

    • Testing steps or screenshots (if applicable)

    • Notes for reviewers, if special attention is needed

For more context, kindly read the official contributing docs.

Your contributions, big or small help make Kilo Code better for everyone!🫶

References

This document was adapted from https://contributing.md!