Community
Bagel gets better every time someone brings a format we haven't seen. The project is Apache 2.0, so use it commercially, fork it, ship it. It is developed in public. Whether you have five minutes or a whole weekend, there is a useful help below.
Bagel by Extelligence is an open-source MCP server for analyzing robotics, drone and IoT data with auditable SQL. Reports from actual workflows help improve its tools and documentation.
Good first steps
Add a data format · a weekend
Adapters follow a consistent source / topic / message / logging family. If Bagel cannot read your recordings yet, that is the highest-value contribution on the board.
Open a format request ↗Report a bug you hit · ten minutes
A bag that fails to parse, a query that returns the wrong shape, a container that will not start. Include the format, the service you ran and the prompt.
File an issue ↗Sharpen a runbook · half an hour
Documentation lives in doc/ next to the code. If a guide lost a step or your environment needed one more command, a docs pull request is very welcome.
Browse doc/ ↗Answer a question in Discord · five minutes
Maintainers and users hang out there regularly. Helping someone get their first bag answered is real contribution, no commit required.
Join the server ↗Contribution flow
01 · Fork and branch
Branch from main. Keep the change focused. One concern per pull request makes review fast.
02 · Match the house style
Ruff via pre-commit, tests beside the code they cover, and a coverage gate in CI. Run the suite in the container matching your change.
03 · Open the pull request
Explain what you verified and how. Stacked work lands through a tip landing PR as the final review gate.
04 · Review and land
Maintainers review in the open. Releases follow semver, with prerelease tags for larger waves of change.
git clone https://github.com/<you>/bagel.git && cd bagel
uv sync # dependencies from uv.lock
pre-commit install # ruff on every commit
pytest # non-ROS subset on a laptop
# full suite inside the matching container
docker compose run ros2-jazzy pytestSecurity
Found a vulnerability? Please report it privately first. See the security policy. Credentials are redacted from Bagel's errors, logs and metadata by design.
