Suna Docs

Contributing to Suna

Help make Suna better for everyone! We welcome contributions from the community

Last updated: August 2025

Getting Started

Ready to contribute? Here's how to get your development environment set up:

  • Fork the Repository

    Create your own fork of the Kortix repository on GitHub

  • Clone Locally

    Clone your fork and set up the upstream remote for easy syncing

  • Install Dependencies

    Follow the self-hosting guide to set up your local development environment

  • Create a Branch

    Create a feature branch for your changes: git checkout -b feature/amazing-feature

Ways to Contribute

There are many ways to help improve Kortix:

Bug Reports
Report issues, provide detailed reproduction steps, and help us fix problems
Feature Requests
Suggest new features, improvements, or enhancements to existing functionality
Code Contributions
Submit bug fixes, implement new features, improve performance, or refactor code
Documentation
Improve docs, write tutorials, create examples, or translate content
Design & UX
Improve user interfaces, create designs, or enhance user experience

Development Setup

To set up your local development environment, follow our comprehensive self-hosting guide:

Self-Hosting Guide
Complete setup instructions including prerequisites, API keys, and step-by-step installation

The self-hosting guide covers all prerequisites, dependencies, and configuration needed for development. Once you've completed the setup, you can start contributing to the project.

Code Guidelines

Follow these guidelines to maintain code quality and consistency:

Frontend (TypeScript/React)

  • TypeScript Strict Mode

    Use strict TypeScript, avoid 'any' types, define proper interfaces

  • Component Structure

    Use functional components with hooks, follow naming conventions

  • shadcn/ui Components

    Use shadcn/ui components for consistency, avoid custom CSS when possible

Backend (Python)

  • Type Hints

    Use comprehensive type hints, follow PEP 484 standards

  • FastAPI Patterns

    Follow FastAPI best practices for endpoints, dependencies, and models

  • Error Handling

    Implement proper exception handling with structured error responses

Pull Request Process

Follow these steps when submitting a pull request:

  • Create a Feature Branch

    Branch from main: git checkout -b feature/your-feature-name

  • Make Your Changes

    Implement your feature or fix, following our code guidelines

  • Test Thoroughly

    Run tests, check functionality, ensure no regressions

  • Commit with Clear Messages

    Write descriptive commit messages following conventional commits

  • Push and Create PR

    Push to your fork and create a pull request with a clear description

  • Respond to Feedback

    Address reviewer comments and make necessary adjustments

Join the Community

Connect with other contributors and get help with your contributions:

Discord Community
Join our Discord server for real-time discussions and support
GitHub Issues
Report bugs, request features, and other issues