0.0
The project is in a healthy, maintained state
Crimson is an open-source minimal coding agent that gets things done. Supports OpenAI, Anthropic, OpenRouter, Mistral, xAI, and custom providers.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Development

~> 0.16
~> 3.12
~> 13.0
~> 3.13
~> 1.75
~> 0.22

Runtime

~> 1.48
~> 0.66
~> 0.8
~> 0.6
~> 0.23
 Project Readme

Crimson

CI Gem Version License Ruby

A minimal Ruby-based coding agent that gets things done.

Quick Start

# Install
gem install crimson-code

# Configure your API key
crimson setup

# Start coding
crimson "refactor this module to use dependency injection"

Features

  • Multi-provider support — OpenAI, Anthropic, OpenRouter, Mistral, xAI, and any OpenAI-compatible endpoint
  • Official SDKs — Uses the official OpenAI and Anthropic Ruby gems
  • Built-in tools — Read, write, edit, list files, run commands, search code, and glob
  • Streaming output — Real-time response with styled markdown rendering (headers, bold, italic, code, lists, links, blockquotes)
  • Colored tool display→Read, →Write, →Edit, $ command, ✱Search, ✱Glob, →List with per-tool colors
  • Thinking indicator — Spinner while thinking, with + Thought: X.Xs timing on first token
  • Run stats — Token usage, cost, and elapsed time shown at end of every run
  • Skills system — Customize agent behavior with markdown files
  • Session management — Save, load, fork, and name conversation sessions per directory
  • Conversation compaction — Automatic and manual compaction to stay within context limits
  • Cost tracking — Real-time token usage and cost tracking per run
  • Interactive REPL — Conversational coding assistant with tab-completion and slash commands

Requirements

  • Ruby 3.3+

Installation

Via RubyGems

gem install crimson-code

From source

git clone https://github.com/nankhor/crimson.git
cd crimson
bundle install
bundle exec exe/crimson setup

Configuration

crimson setup

This walks you through selecting a provider, entering your API key, and picking a model.

Configuration is stored in ~/.crimson/config.json (600 permissions).

You can also set the API key via environment variables:

Variable Description
OPENAI_API_KEY OpenAI API key
ANTHROPIC_API_KEY Anthropic API key
MISTRAL_API_KEY Mistral API key
XAI_API_KEY xAI API key

Usage

Interactive REPL

Start a conversational session:

crimson

Type your task and the agent will use its tools to read, write, and edit files in your project.

One-shot mode

Pass a task directly as an argument:

crimson "add error handling to the database module"

The agent completes the task and exits, showing the full conversation and cost summary.

Example session

$ crimson
Crimson v0.1.0
Type /help for commands, /exit to quit

> add a health check endpoint to the Sinatra app
→Read config.ru ...
→Read app.rb ...
✱Search app.rb for "get" ...
→Write app.rb ...
Done. Added GET /health endpoint returning JSON status.
Tokens: 1,234 ↑ | Cost: $0.0123 | Time: 12.3s

Slash commands

Command Description
/help Show available commands
/clear Clear conversation history
/model Switch model (interactive selector)
/thinking Set thinking level (off/low/medium/high)
/tools List available tools
/save Save conversation to file
/load Load conversation from file
/usage Show token usage and cost
/sessions List sessions for current directory
/name Set session name
/session Show session info
/fork Fork current session into new branch
/tree Show conversation tree
/compact Compact conversation history
/exit Exit crimson

Skills

Add .md files to ~/.crimson/skills/ to customize agent behavior. These are loaded into the system prompt automatically. Built-in skills are in the skills/ directory for reference.

Contributing

See CONTRIBUTING.md and CODE_OF_CONDUCT.md.

Changelog

See CHANGELOG.md.

License

MIT