Thank you for your interest in contributing to UBuilder! This document provides guidelines for contributing to the project.
- CMake 3.16 or higher
- C/C++ compiler (GCC, Clang, or MSVC)
- Git
-
Clone the repository:
git clone <repository-url> cd ubuilder
-
Build the project:
chmod +x build-system/build.sh ./build-system/build.sh
-
Run tests:
cd build make test
ubuilder/
├── src/ # Core C/C++ source code
│ ├── core/ # Core UBuilder functionality
│ └── runtimes/ # Runtime-specific implementations
├── examples/ # Example applications
├── tests/ # Test suite
├── build-system/ # Build automation scripts
└── docs/ # Documentation
The project is currently organized into phases as outlined in docs/user/guides/project-instructions.md:
- Phase 1: Foundation (Current) - Basic embedding and Python runtime
- Phase 2: Multi-Platform Support
- Phase 3: Runtime Modularity
- Phase 4: Advanced Features
- Phase 5: Production Ready
- Use C11 for C code and C++17 for C++ code
- Follow consistent naming conventions
- Add comprehensive error handling
- Include unit tests for new functionality
- Document public APIs thoroughly
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests for new functionality
- Ensure all tests pass
- Submit a pull request
Please use the issue tracker to report bugs or request features. Include:
- Detailed description of the issue
- Steps to reproduce
- Expected vs actual behavior
- Platform and version information
By contributing, you agree that your contributions will be licensed under the MIT License.