First off, thank you for considering contributing to Compozy! It's people like you that make Compozy such a great tool. We welcome contributions from the community, whether it's reporting a bug, suggesting a feature, or submitting a pull request.
This project and everyone participating in it is governed by the Compozy Code of Conduct. By participating, you are expected to uphold this code.
- Fork the repository on GitHub.
- Clone your fork locally:
git clone https://github.com/YOUR_USERNAME/compozy.git cd compozy - Install dependencies:
make deps
- Set up the database and other services:
make start-docker make migrate-up
First, you need to set up the environment variables. Copy the .env.example file to .env and fill in the values.
cp .env.example .envTo start the development server with hot-reloading, you can run any example workflow with:
make dev EXAMPLE=[example-name] # example name is the folder name under the examples/ directoryThis will start the Compozy server and watch for changes in the source code.
To run the test suite, use the following command:
make testThis command runs both Go and Bun tests.
Before committing your changes, make sure to lint and format your code:
make fmt
make lintThis will format both Go and TypeScript/JavaScript code and run the linters.
We follow the Conventional Commits specification. This allows for automated changelog generation and helps keep the commit history clean and readable.
Format:
<type>[optional scope]: <description>
[optional body]
[optional footer(s)]
Example:
feat(engine): add support for parallel tasks
- Ensure that your code adheres to the project's coding standards and that all tests pass.
- Create a new pull request from your fork to the
mainbranch of the Compozy repository. - Provide a clear and descriptive title and description for your pull request.
- The team will review your pull request and may suggest changes.
- Once your pull request is approved, it will be merged into the
mainbranch.
We have a set of coding standards that we follow to ensure code quality and consistency. These are documented in the .cursor/rules directory. Please review these documents before contributing.
By contributing to Compozy, you agree that your contributions will be licensed under its Business Source License 1.1 (BUSL-1.1).