Babel42 analyzes ROS2 workspaces: package discovery, manifest checks, launch file validation, and more. Use it to find issues in your ROS2 projects and integrate checks into CI.
- internals: Shared library for ROS2 project analysis (package discovery, package.xml parsing, workspace structure)
- cli: Open-source CLI with analysis and check commands
git clone https://github.com/elan8/babel42.git
cd babel42
cargo install --path clicargo build
cargo testUnit tests run without fixtures. For integration tests, fetch fixtures first (see Test Fixtures).
# Analyze a ROS2 workspace
babel42 analyze <path>
# Check for issues (CI-friendly)
babel42 check <path>
# Export project model to JSON
babel42 export <path> --format jsonOr via cargo run:
cargo run -p cli -- analyze <path>
cargo run -p cli -- check <path>Example GitHub Actions workflow:
- name: Babel42 check
run: |
cargo install --path cli
babel42 check . --fail-on errorThis repo includes .github/workflows/ci.yml: unit tests and fmt/clippy on every push/PR, integration tests nightly.
Fixture repos are gitignored. Clone them with scripts/fetch_fixtures.ps1 (Windows) or scripts/fetch_fixtures.sh (Linux/macOS). See tests/fixtures/README.md for the full list and integration test instructions.
See RULES.md for all checks, severities, and fix hints.