Thank you for your interest in contributing to SuperPlane! We welcome contributions from the community.
Before starting your contribution, especially for core features, we encourage you to reach out to us on Discord. This allows us to ensure that your proposed feature aligns with the project's roadmap and goals. Developers are the key to making SuperPlane the best platform it can be, and we value input from the community.
There are many ways to contribute to SuperPlane:
- Report bugs - Help us identify and fix issues (see Issue Tracking)
- Suggest features - Share your ideas for new functionality
- Write code - Fix bugs, implement features, or improve existing code
- Improve documentation - Help make our docs clearer and more comprehensive
- Share feedback - Let us know what works well and what could be better
Getting started with SuperPlane development is fast. It only takes a couple of minutes to set up your local development environment!
The complete development is done inside of Docker, so you don't need any programming languages, databases, or other dependencies installed directly on your machine. Everything runs in containers managed by Make and Docker.
Before you begin, make sure you have the following:
To begin working with SuperPlane, you'll need to fork and clone the repository:
- Fork the repository on GitHub to have your own copy.
- Clone your fork to your local machine:
git clone https://github.com/YOUR_USERNAME/superplane.git
cd superplaneOnce inside the cloned repository, set up your local environment and start the app with:
make dev.setup # Install dependencies, create the database, etc.
make dev.start # Start the development server (UI at http://localhost:8000)These commands will spin up all required services in Docker containers.
When the process completes, you can access the SuperPlane at http://localhost:8000.
- Product Docs - Complete product documentation and user guides
- Architecture Overview - High-level system architecture and codebase structure
- Discord - Join our Discord community for discussions, questions, and collaboration
- Issue Tracking - How to report bugs, use the SuperPlane Board, and understand issue types
- Pull Requests - How to create pull-requests
- Commit Sign-off - Information about the Developer's Certificate of Origin and signing off commits
- E2E Testing - Writing, running, and debugging end-to-end tests
- Using AI Agents - Guide for using AI agents to help with development tasks
- Quality Standards - High-level principles for building maintainable, user-focused products
- Opening PRs for integrations — Checklist for opening and submitting integration PRs (title, description, video, frontend/backend/docs, CI, DCO)
- Integrations — Instructions for adding new third-party integrations to SuperPlane
- Component Implementation — Step-by-step instructions for creating new components or triggers
- Component Customization — Guide for customizing existing components or building behaviors
- Templates — Guide for creating and adding new workflow templates
- Integrations Board — View all integration-related work on the SuperPlane Board
- Integration bounties — How to claim, work on, and get paid for bounties via BountyHub; review and dispute process
- Connecting to Third-Party Services during Development