Contributing to Splice

Thank you for your interest in contributing to Splice.

Splice is an open project and contributions are welcome. This guide explains the workflow used to safely add changes to the project.


Development Workflow

Splice uses a simple two-branch workflow.

main
Stable production code.

Test
Development branch where all new changes are submitted and tested.

All contributors push changes to the Test branch first. After review and testing, maintainers move the code to main.

Workflow:

Developer → Test branch → Pull Request Review → Merge to main


Important Rule

Never push changes directly to main.

All development happens in the Test branch.


Contribution Process

Follow these steps to contribute.


1. Clone the Repository

git clone https://github.com/Open-Splice/Splice.git
cd Splice

2. Switch to the Test Branch

Before making changes, switch to the Test branch.

git checkout Test

If the branch is not local yet:

git checkout -b Test origin/Test

3. Make Your Changes

Examples of contributions:

• improving the runtime
• fixing bugs
• improving documentation
• adding examples
• improving the SDK

Make sure your changes compile and run correctly.


4. Commit Your Changes

Use clear commit messages.

git add .
git commit -m "Fix: correct arithmetic behavior"

5. Push to the Test Branch

Push your changes directly to the Test branch.

git push origin Test

6. Open a Pull Request

Create a Pull Request from Test to main.

A maintainer will review the changes before merging them.

During review we check:

• code correctness
• stability
• compatibility with the runtime
• documentation updates if needed


7. Merge to Main

After approval and testing, maintainers merge the code:

Test → main

This promotes the changes to the stable branch.


Code Style

General guidelines:

• keep code simple and readable
• follow the style used in existing files
• keep the runtime portable
• avoid unnecessary dependencies

The Splice runtime is written in C, so contributions should maintain portability across systems.


Documentation Contributions

Documentation improvements are encouraged.

You can contribute by:

• improving explanations
• adding examples
• fixing typos
• expanding the language guide

Documentation is located in:

docs/

Reporting Issues

If you find a bug, please open a GitHub issue and include:

• description of the problem
• steps to reproduce it
• expected behavior
• platform information


Thank You

Contributions help improve Splice and make the project stronger for everyone.