Skip to content

Quick Start

Mo Abualruz edited this page Dec 9, 2025 · 4 revisions

Quick Start Guide

Last Updated: December 3, 2025

Get up and running with RiceCoder in 5 minutes.

Overview

This quick start guide gets you from zero to productive with RiceCoder in just 5 minutes. You'll install RiceCoder, configure your AI provider, start your first chat, and generate your first code. For more detailed information, see the full documentation.

Prerequisites

  • Rust 1.75+ (for building from source)
  • Git
  • An AI provider API key (OpenAI, Anthropic, etc.) OR Ollama for local models

Installation

From Source

# Clone the repository
git clone https://github.com/moabualruz/ricecoder.git
cd ricecoder

# Build and install
cargo install --path projects/ricecoder

# Verify installation
rice --version

Using Cargo

cargo install ricecoder

Initial Setup

1. Initialize RiceCoder

rice init

This creates:

  • ~/.ricecoder/ - Global configuration directory
  • .agent/ - Project-specific configuration

2. Configure Your AI Provider

Option A: Use OpenAI

rice config set provider openai
rice config set model gpt-4
rice config set api-key YOUR_OPENAI_API_KEY

Option B: Use Anthropic

rice config set provider anthropic
rice config set model claude-3-opus
rice config set api-key YOUR_ANTHROPIC_API_KEY

Option C: Use Local Models (Ollama)

# First, install Ollama from https://ollama.ai

# Pull a model
ollama pull mistral

# Configure RiceCoder
rice config set provider ollama
rice config set model mistral
rice config set ollama-url http://localhost:11434

3. Verify Configuration

rice config show

Your First Chat

Start Interactive Chat

rice chat

You'll see:

r[ > 

Ask a Question

r[ > What's the best way to structure a Rust project?

RiceCoder will:

  1. Analyze your project
  2. Understand your context
  3. Generate a response
  4. Display it in the TUI

Navigate the Chat

  • Arrow Keys: Scroll through messages
  • Page Up/Down: Scroll faster
  • Ctrl+C: Exit chat
  • Ctrl+L: Clear screen

Your First Code Generation

Create a Specification

rice spec create hello-world

This creates .agent/specs/hello-world/ with:

  • requirements.md - What to build
  • design.md - How to build it
  • tasks.md - Implementation tasks

Define Requirements

Edit .agent/specs/hello-world/requirements.md:

# Hello World Feature

## Requirements

### Requirement 1: Print Hello World

**User Story**: As a user, I want to print "Hello, World!" to the console

#### Acceptance Criteria

1. WHEN the program runs THEN it SHALL print "Hello, World!"
2. WHEN the program runs THEN it SHALL exit with code 0

Generate Implementation

rice gen --spec hello-world

RiceCoder will:

  1. Read your specification
  2. Analyze your project
  3. Generate implementation code
  4. Show a diff for review
  5. Ask for approval

Review and Apply

Apply changes? (y/n): y

Done! Your code is generated and applied.

Common Commands

Chat Commands

# Start chat
rice chat

# Chat with specific model
rice chat --model gpt-4

# Chat with local model
rice chat --provider ollama

Code Generation

# Generate from spec
rice gen --spec my-feature

# Generate with preview
rice gen --spec my-feature --preview

# Generate without approval
rice gen --spec my-feature --auto-approve

Configuration

# Show current config
rice config show

# Set a value
rice config set key value

# Get a specific value
rice config get key

# Reset to defaults
rice config reset

Project Management

# Initialize a project
rice init

# Show project info
rice info

# List available specs
rice spec list

# Create a new spec
rice spec create my-feature

Tips & Tricks

1. Use Specs for Complex Features

For anything more than a quick question, create a spec:

rice spec create my-feature
# Edit requirements, design, tasks
rice gen --spec my-feature

2. Leverage Local Models for Privacy

Use Ollama for sensitive code:

rice config set provider ollama
rice chat

3. Use Custom Commands

Define custom shell commands in .agent/config.yaml:

commands:
  test:
    command: cargo test
    description: Run tests
  build:
    command: cargo build --release
    description: Build release binary

Then use them in chat:

r[ > /test

4. Configure Permissions

Control what RiceCoder can do:

permissions:
  file-write: ask
  file-delete: deny
  shell-execute: ask

5. Use Themes

Customize the TUI appearance:

rice config set theme dracula
rice config set theme nord
rice config set theme solarized

Troubleshooting

"API key not found"

rice config set api-key YOUR_KEY

"Connection refused" (Ollama)

Make sure Ollama is running:

ollama serve

"Model not found"

Pull the model first:

ollama pull mistral

"Permission denied"

Check file permissions:

ls -la .agent/

Phase 6 Features (Alpha v0.1.6)

RiceCoder now includes powerful infrastructure features:

Multi-Project Orchestration

Manage multiple projects as one workspace:

# Create workspace
ricecoder workspace create my-app
ricecoder workspace add-project ./frontend ./backend

# Build all projects
ricecoder orchestrate build --workspace my-app --parallel

Learn more: Orchestration Guide

Domain-Specific Agents

Get specialized AI for your domain:

# Automatic domain detection
ricecoder chat

# Or explicit selection
ricecoder chat --agent frontend

Learn more: Domain-Specific Agents

Learning & Personalization

System learns from your usage:

# View what system learned
ricecoder learning analytics

# Apply learned rules
ricecoder learning enable-rule <rule-id>

Learn more: Learning System

Undo/Redo with Snapshots

Experiment safely with full history:

# Create snapshot
ricecoder snapshot create --name "Before refactoring"

# Undo operations
ricecoder undo

# Restore snapshot
ricecoder snapshot restore <snapshot-id>

Learn more: Undo/Redo System

Next Steps

  1. Configuration Guide - Customize RiceCoder
  2. CLI Commands - Learn all commands
  3. Spec-Driven Development - Master specs
  4. TUI Interface - Navigate the interface
  5. Phase 6 Features - Explore new infrastructure features

Getting Help

See Also


Happy coding with RiceCoder!

Last updated: December 3, 2025

Clone this wiki locally