Thank you for your interest in contributing to the DataRealm Humanoid Application Lab (HumanoidAppLab)! We are building software that connects humanoid robotics to the industrial world, and we welcome contributions from engineers, researchers, roboticists, and open-source enthusiasts.
By contributing to any repository under the HumanoidAppLab organization, you agree to abide by our Code of Conduct.
All contributors and participants must adhere to our Code of Conduct. Please report any unacceptable behavior to info@DataRealmInc.com.
Before creating a bug report, please check existing issues to ensure the issue has not already been reported or resolved.
If you find a new bug, please file a report using our Bug Report Issue Template:
- Provide a clear, descriptive title.
- Describe the expected versus actual behavior.
- Include step-by-step reproduction instructions.
- Provide environment details (operating system, runtime/framework versions, robot platform or simulator details).
- Attach relevant log snippets, error traces, or screenshots.
Note
If you have discovered a potential security vulnerability, please do not open a public issue. Follow our Security Policy instead.
We welcome proposals for new features, hardware interfaces, algorithms, and documentation improvements.
Please submit your proposal using our Feature Request Template:
- Explain the use case and the problem being solved.
- Provide a concrete description of the proposed solution or API design.
- Outline any alternative approaches you considered.
If you'd like to work on an existing issue:
- Comment on the issue expressing your interest so work isn't duplicated.
- Look for issues labeled
good first issueorhelp wantedif you are new to the codebase. - Wait for confirmation or an assignment from maintainers if it is a major change.
Create feature branches branching off the default branch (main). Use descriptive branch names with conventional prefixes:
feature/<short-description>– New feature or capabilityfix/<short-description>– Bug fixdocs/<short-description>– Documentation improvementsrefactor/<short-description>– Code cleanup with no functional changestest/<short-description>– Adding or improving testschore/<short-description>– Tooling, dependencies, or maintenance
We encourage following the Conventional Commits specification:
<type>(<scope>): <short summary>
[optional body explaining context and rationale]
[optional footer(s), e.g., Fixes #123]
Common types:
feat: A new featurefix: A bug fixdocs: Documentation only changesstyle: Changes that do not affect code meaning (white-space, formatting, etc.)refactor: A code change that neither fixes a bug nor adds a featureperf: A code change that improves performancetest: Adding missing tests or correcting existing testschore: Changes to build process, auxiliary tools, or libraries
- Testing: Ensure all automated tests pass before opening a pull request. Add tests covering any new code or bug fixes.
- Style & Linting: Follow the coding style and linter rules defined in the repository (e.g., Black/Ruff for Python, Prettier/ESLint for JS/TS, clang-format for C++).
- Documentation: Update documentation, docstrings, and README files to reflect any API or behavioral changes.
- Fork & Branch: Fork the target repository and create your working branch.
- Commit: Keep commits atomic and logically separated.
- Rebase: Keep your branch up to date with the upstream
mainbranch. - Pull Request Template: Fill out the Pull Request Template completely, describing the change, testing steps, and linking related issues (e.g.,
Closes #42). - Review: Address feedback promptly. Maintainers may suggest adjustments to align with project architecture and standards.
- CI Checks: Ensure all Continuous Integration checks pass.
Do not report security vulnerabilities through public issues or pull requests. Please refer to our Security Policy for instructions on coordinated vulnerability disclosure.
If you have questions about using or contributing to our software, please review our Support Resources or visit HumanoidAppLab.com.