Skip to main content
With Local Rollout, your training components live alongside your application code in Git. Organize MCP tools, reward functions, and rubrics in a standard folder structure, push to GitHub (public or private), and Osmosis picks them up automatically — no manual uploads or platform-side configuration needed.
To connect your repository, install the Osmosis GitHub App from the platform. See GitHub Integration for setup instructions.

Why Use Local Rollout?

By connecting your GitHub repository to Osmosis, you can:
  • Version control your evaluation logic alongside your application code
  • Collaborate with your team using familiar Git workflows
  • Automate deployments through CI/CD pipelines
  • Keep repositories private while still syncing with Osmosis
  • Manage multiple rubrics and functions in one place
For quick local testing and development, use the Python SDK directly instead.

What Can You Sync?

Osmosis automatically discovers and syncs three types of components from your repository:
  1. MCP Tools - Extend AI agent capabilities with custom functions
  2. Reward Functions - Provide deterministic, numeric scoring for LLM outputs
  3. Reward Rubrics - Use LLMs to evaluate outputs with natural language criteria

Example Repository

Check out our reference implementation: osmosis-git-sync-example This example demonstrates the complete folder structure and code artifacts that the Osmosis GitHub integration discovers and syncs.

Getting Started

For a complete working example, see the official example repository.
1

Set Up Repository

Create the required directory structure and pyproject.toml. See Folder Structure for the complete layout and dependency configuration.
mkdir -p my-osmosis-repo/{mcp/{server,tools,test},reward_fn,reward_rubric}
cd my-osmosis-repo
2

Add Components

Add your MCP tools, reward functions, and reward rubrics to the corresponding directories:
3

Test Locally

pip install -e .

# Test MCP server
python mcp/main.py

# Test reward function
python -c "from reward_fn.compute_reward import numbers_match_reward; print(numbers_match_reward('#### 42', '42'))"
4

Push to GitHub

git init
git add .
git commit -m "Initial Osmosis sync setup"
git remote add origin https://github.com/your-username/my-osmosis-repo.git
git push -u origin main
5

Connect to Platform

Follow the GitHub Integration guide to install the Osmosis GitHub App and connect your repository. Once connected, Osmosis automatically syncs on every push.

Next Steps

Folder Structure

Required repository layout

GitHub Integration

Connect your repository

Best Practices

Production guidelines