Skip to main content
A workspace directory is a local clone of the GitHub workspace repository connected to your platform workspace. The platform creates new workspace repositories from the Osmosis workspace template.
repository/
├── rollouts/                            # AgentWorkflow + Grader code
├── configs/
│   ├── eval/                            # Evaluation configs
│   ├── AGENTS.md                        # AI assistant instructions for configs
│   └── training/
│       └── default.toml                 # Training config template
├── data/                                # Local test datasets
├── pyproject.toml                       # Python project config
├── README.md                            # Project readme
├── AGENTS.md                            # AI coding assistant instructions
├── CLAUDE.md                            # Claude Code instructions
└── .gitignore                           # Git ignore rules

Required Directories

The CLI expects these directories to exist:
PathPurpose
rollouts/Rollout code, one subdirectory per rollout
configs/training/Training run TOML files for osmosis train submit
configs/eval/Evaluation run TOML files for osmosis eval submit
data/Local datasets used by osmosis dataset upload
Run a health check from anywhere inside the workspace directory:
osmosis doctor
Repair missing scaffold directories without overwriting existing files:
osmosis doctor --fix

rollouts/

The directory where your AgentWorkflow and Grader code lives. Each rollout is a subdirectory containing an entrypoint file (typically main.py) that defines the agent workflow and grading logic.
rollouts/
└── my-rollout/
    ├── main.py          # Entrypoint: defines AgentWorkflow + Grader
    ├── pyproject.toml   # Rollout package dependencies
    └── README.md        # Rollout notes
Create a new rollout scaffold:
osmosis rollout init <name>
Or apply a starter template:
osmosis template list
osmosis template apply multiply-local-strands

configs/

Configuration files for the two CLI operations: training and evaluation.
SubdirectoryPurposeReference
configs/training/Training run configs for osmosis train submitTraining Config
configs/eval/Evaluation run configs for osmosis eval submitEvaluation Config
The configs/training/default.toml template and rollout-specific evaluation configs named configs/eval/<rollout-name>.toml are pre-populated with required fields and commented-out optional settings. See Configuration Files for the full TOML schema reference.

data/

Directory for local dataset files. Upload them to the platform with osmosis dataset upload, then reference the uploaded dataset by name from your training and evaluation configs.
osmosis dataset upload data/<dataset-file>.jsonl

pyproject.toml

Standard Python project configuration for the workspace repository. Individual rollouts can also have their own rollouts/<name>/pyproject.toml files for rollout-specific dependencies.
pyproject.toml
[project]
name = "osmosis-workspace"
description = "Osmosis workspace repository"
version = "0.1.0"
requires-python = ">=3.12"
dependencies = [
    "osmosis-ai>=0.2.21",
]

AGENTS.md & CLAUDE.md

Instruction files for AI coding assistants. AGENTS.md provides general guidance for any AI assistant (GitHub Copilot, Cursor, etc.), while CLAUDE.md contains Claude Code-specific instructions. Both files describe the workspace structure, conventions, and Osmosis-specific patterns so your AI assistant can effectively help you write rollout code.

Generated Runtime State

The CLI may create local runtime files under .osmosis/, such as exported metrics. Treat those as local state, not source code.

Next Steps

Workspace Repository

Learn how the CLI resolves the connected workspace.

Configuration Files

Review training and evaluation TOML schemas.