Suna Docs
Contributing to Suna
Help make Suna better for everyone! We welcome contributions from the community
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:
Development Setup
To set up your local development environment, follow our comprehensive self-hosting guide:
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: