-
Notifications
You must be signed in to change notification settings - Fork 58
How to Contribute
We welcome contributions to RocketRide Engine. This page walks through the process from forking to merging.
-
Fork the repository on GitHub: rocketride-org/rocketride-server
-
Clone your fork:
git clone https://github.com/YOUR-USERNAME/rocketride-server.git cd rocketride-server -
Add the upstream remote:
git remote add upstream https://github.com/rocketride-org/rocketride-server.git
-
Build the project:
./builder build
See Installation for detailed setup instructions.
Always branch from develop (the integration branch):
git checkout develop
git pull upstream develop
git checkout -b feature/your-feature-nameSee PR Process for branch naming conventions.
Follow the Code Style guidelines for the language you are working in. Key points:
- C++: C++17, meaningful names, MIT license header
- Python: PEP 8, type hints, single quotes, docstrings, MIT license header
- TypeScript: ESLint strict mode, interfaces over types, JSDoc, MIT license header
# Run all tests
./builder test
# Test specific modules
./builder nodes:test # Pipeline node contract tests
./builder nodes:test-full # Integration tests (requires running server)
./builder client-typescript:test
./builder client-python:testMake sure all existing tests pass and add new tests for new functionality.
Use Conventional Commits format:
git add .
git commit -m "feat: add support for new vector store"Prefixes:
| Prefix | Use For |
|---|---|
feat: |
New features |
fix: |
Bug fixes |
docs: |
Documentation changes |
style: |
Formatting, no code change |
refactor: |
Code restructuring |
test: |
Adding or updating tests |
chore: |
Build process, tooling, dependencies |
git push origin feature/your-feature-nameOpen a Pull Request against the develop branch on GitHub. See PR Process for template requirements and review workflow.
- Bug fixes -- check the issue tracker for open bugs
-
New pipeline nodes -- add a new node under
nodes/src/nodes/ - Documentation improvements -- update README files, wiki pages, or inline comments
- Tests -- improve test coverage for existing functionality
- Performance improvements -- optimize hot paths with benchmarks
When filing an issue, include:
- A clear, descriptive title
- Steps to reproduce
- Expected vs. actual behavior
- Environment details (OS, Node.js version, etc.)
- Relevant logs or error messages
- Check existing issues for duplicates
- Describe the use case and expected behavior
- Consider implementation implications
- Open a GitHub Discussion
- Review closed issues for similar questions
- PR Process -- branch naming, PR template, review workflow
- Code Style -- language-specific style guides
- Code of Conduct -- community guidelines
Getting Started
Architecture
API Reference
Contributing
Governance