---
title: "Oh My Sol"
description: "The Solana harness, batteries included. A terminal app for building on Solana with the model you already use."
url: https://barestate.xyz/docs
---

# Oh My Sol

> The Solana harness, batteries included. A terminal app for building on Solana with the model you already use.

```sh
npx @barestate/oms doctor --install   # once: downloads Surfpool 1.7.0 and checks your setup
npx @barestate/oms
```

You need Node 22.19.0 or newer and Git, on macOS or Linux. On Windows, run it under WSL 2. The current version is 0.1.0, the first public release.

## What it does

Oh My Sol (OMS) runs on your machine and uses the model access you already have. You describe the work, the model edits files in a separate worktree for the task, and when it thinks it is finished it can only propose that. A checker that the model cannot touch then runs your requirements against a fresh Surfpool chain, and the task closes only if they pass.

While it works, the model has Solana references, program error decoding and toolchain checks close at hand, which matters because models were trained on older Solana and tend to get the newer details wrong. You talk to OMS in a chat view, and you can switch to the Workbench when you want the files and a shell in front of you.

Once OMS is open, run `/connect` to add a model provider and `/model` to pick one, then type a request. Nothing is sent to a model until you do. The [quickstart](https://barestate.xyz/docs/quickstart) covers each step and what to do if one fails.

## Your keys stay yours

On macOS, every command OMS runs goes through a Seatbelt sandbox. It blocks reads from your home folder, apart from the toolchains OMS needs, and it always blocks keypair files and folders like `~/.ssh` and `~/.config/solana`. [Security](https://barestate.xyz/docs/security/overview) explains each protection and which ones have tests behind them.

## Where to go next

**[Quickstart](https://barestate.xyz/docs/quickstart)**
Install, launch and connect a model.

**[How a task runs](https://barestate.xyz/docs/concepts/how-a-task-runs)**
The loop from your request to a closed task.

**[The independent checker](https://barestate.xyz/docs/concepts/independent-checker)**
What "verified" means, and what it does not mean.

**[Slash commands](https://barestate.xyz/docs/reference/slash-commands)**
All 43 commands, grouped by what they do.

**[Security](https://barestate.xyz/docs/security/overview)**
What each protection does and which parts have tests.

**[Benchmarks](https://barestate.xyz/docs/benchmarks/overview)**
Results, methods and limits, with the tables.
