---
title: Vapora Project - Quick Start Guide
date: 2025-11-10
status: READY
version: 1.0
---

# 🚀 Vapora - Quick Start Guide

**⏱️ Time to get running: 15-20 minutes**

This guide walks you through building and running the complete Vapora project in the simplest way possible.

---

## 📋 Prerequisites

You need:
- ✅ Rust 1.75+ (install from https://rustup.rs)
- ✅ Cargo (comes with Rust)
- ✅ Git
- ✅ NuShell 0.95+ (for scripts)
- ✅ 2GB free disk space
- ✅ Bash or Zsh shell

**Check if you have everything:**
```bash
rustc --version      # Should show Rust 1.75+
cargo --version      # Should show Cargo 1.75+
which git            # Should show /usr/bin/git or similar
nu --version         # Should show NuShell 0.95+
```

**Install NuShell if needed:**
```bash
# Using Homebrew (macOS)
brew install nu

# Or download from: https://www.nushell.sh/
```

---

## 🎯 15-Minute Quick Start

### Step 1: Navigate to Vapora
```bash
# Verify structure
ls crates/
# Should show: vapora-backend, vapora-frontend, vapora-shared, vapora-agents, vapora-llm-router, vapora-mcp-server, vapora-tracking
```

### Step 2: Install Dependencies

```bash
# Update Rust (optional but recommended)
rustup update stable

# Install workspace dependencies
cargo fetch
```

### Step 3: Build All Crates

```bash
# Build the complete workspace
cargo build

# This builds all 7 crates:
# - vapora-shared (shared utilities)
# - vapora-agents (agent framework)
# - vapora-llm-router (LLM routing)
# - vapora-tracking (change tracking system)
# - vapora-backend (REST API)
# - vapora-frontend (WASM UI)
# - vapora-mcp-server (MCP protocol support)
```

**Build time:** 2-5 minutes (first time)

**Expected output:**
```
    Finished `dev` profile [unoptimized + debuginfo] target(s) in XXXs
```

### Step 4: Run Tests

```bash
# Run all tests in the workspace
cargo test --lib

# Run tests for specific crate
cargo test -p vapora-backend --lib
cargo test -p vapora-tracking --lib

# Expected output:
# test result: ok. XXX passed; 0 failed
```

### Step 5: Start the Backend Service

```bash
# Run the backend server (development mode)
cargo run -p vapora-backend

# Expected output:
# 🚀 Vapora Backend Server running on http://127.0.0.1:3000
# Available endpoints:
#   GET    /api/v1/health
#   GET    /api/v1/tracking/summary
#   POST   /api/v1/agents/orchestrate
#   GET    /api/v1/projects
```

**The server will be available at:** `http://localhost:3000`

### Step 6: (In Another Terminal) Start Frontend Development

```bash
cd crates/vapora-frontend

# Install frontend dependencies
cargo install trunk

# Run frontend with hot-reload
trunk serve

# Expected output:
# 🦕 Listening on http://127.0.0.1:8080
```

**The UI will be available at:** `http://localhost:8080`

### Step 7: Verify Everything Works

```bash
# Check health of backend
curl http://localhost:3000/api/v1/health

# Expected response:
# {
#   "status": "ok",
#   "service": "vapora-backend",
#   "timestamp": "2025-11-10T14:30:00Z"
# }

# Check tracking system
curl http://localhost:3000/api/v1/tracking/summary

# Expected response:
# {
#   "total_entries": 0,
#   "changes": 0,
#   "todos": 0
# }
```

---

## 🏗️ Project Structure Overview

```
├── Cargo.toml (workspace config)
├── crates/
│   ├── vapora-shared/          ← Shared utilities & types
│   ├── vapora-agents/          ← Agent orchestration framework
│   ├── vapora-llm-router/      ← Multi-LLM routing (Claude, OpenAI, Gemini, Ollama)
│   ├── vapora-tracking/        ← Change & TODO tracking system (NEW)
│   ├── vapora-backend/         ← REST API (Axum)
│   ├── vapora-frontend/        ← Web UI (Leptos + WASM)
│   └── vapora-mcp-server/      ← MCP protocol server
├── scripts/
│   ├── sync-tracking.nu        ← Sync tracking data
│   ├── export-tracking.nu      ← Export reports
│   └── start-tracking-service.nu ← Start tracking service
└── docs/
    └── (API docs, architecture, etc.)
```

---

## 📊 Available Commands

### Build Commands

```bash
# Build specific crate
cargo build -p vapora-backend
cargo build -p vapora-tracking

# Build for production (optimized)
cargo build --release

# Check without building
cargo check

# Clean build artifacts
cargo clean
```

### Test Commands

```bash
# Run all tests
cargo test --lib

# Run tests for specific crate
cargo test -p vapora-tracking --lib

# Run tests with output
cargo test -- --nocapture

# Run specific test
cargo test -p vapora-backend test_health_endpoint -- --exact
```

### Development Commands

```bash
# Run backend server
cargo run -p vapora-backend

# Run with verbose logging
RUST_LOG=debug cargo run -p vapora-backend

# Format code
cargo fmt

# Lint code
cargo clippy -- -W clippy::all
```

### Documentation

```bash
# Generate and open documentation
cargo doc -p vapora-backend --open

# Generate for specific crate
cargo doc -p vapora-tracking --open
```

---

## 🎯 What You Can Do Now

After the quick start, you have:

✅ **Backend API running** at `http://localhost:3000`
- Health checks
- Tracking system endpoints
- Agent orchestration API

✅ **Frontend UI running** at `http://localhost:8080`
- Real-time project dashboard
- Agent status monitoring
- Change tracking interface

✅ **Tracking System**
- Log changes: `/log-change "description"`
- Create TODOs: `/add-todo "task"`
- Check status: `/track-status`
- Export reports: `./scripts/export-tracking.nu`

✅ **Agent Framework**
- Orchestrate AI agents
- Multi-LLM routing
- Parallel pipeline execution

---

## 🔗 Integration Points

### Using the Tracking System

The tracking system integrates with the backend:

```bash
# Log a change
/log-change "Implemented user authentication" \
  --impact backend \
  --files 5

# Create a TODO
/add-todo "Review code changes" \
  --priority H \
  --estimate M

# Check tracking status
/track-status --limit 10

# Export to report
./scripts/export-tracking.nu json --output report.json
```

### Using the Agent Framework

```bash
# Orchestrate agents for a task
curl -X POST http://localhost:3000/api/v1/agents/orchestrate \
  -H "Content-Type: application/json" \
  -d '{
    "task": "Code review",
    "agents": ["developer", "reviewer"],
    "context": "Review the authentication module"
  }'
```

### Using the LLM Router

```bash
# Query the LLM router for optimal model selection
curl http://localhost:3000/api/v1/llm-router/select \
  -H "Content-Type: application/json" \
  -d '{
    "task_type": "code_implementation",
    "complexity": "high"
  }'
```

---

## 🐛 Troubleshooting

### Build Fails

```bash
# Update Rust
rustup update stable

# Clean and rebuild
cargo clean
cargo build

# Check specific error
cargo build --verbose
```

### Tests Fail

```bash
# Run with output
cargo test --lib -- --nocapture --test-threads=1

# Check Rust version
rustc --version  # Should be 1.75+
```

### Backend Won't Start

```bash
# Check if port 3000 is in use
lsof -i :3000

# Use different port
VAPORA_PORT=3001 cargo run -p vapora-backend

# Check logs
RUST_LOG=debug cargo run -p vapora-backend
```

### Frontend Build Issues

```bash
# Update trunk
cargo install --locked trunk

# Clear build cache
rm -rf crates/vapora-frontend/target

# Rebuild
cargo run -p vapora-frontend
```

---

## 📚 Next Steps

### Short Term (This Session)
1. ✅ Build and run the complete project
2. ✅ Visit frontend at `http://localhost:8080`
3. ✅ Test API endpoints
4. ✅ Create first tracking entry

### Medium Term (This Week)
1. Read [`SETUP.md`](./SETUP.md) - Complete setup with configuration
2. Explore crate documentation: `cargo doc --open`
3. Set up development environment
4. Configure tracking system

### Long Term (Ongoing)
1. Contribute to the project
2. Deploy to production (see [`INTEGRATION.md`](./crates/vapora-tracking/INTEGRATION.md))
3. Customize agents and LLM routing
4. Integrate with external services

---

## 📖 Learning Resources

| Resource | Location | Time |
|----------|----------|------|
| Project README | [`README.md`](./README.md) | 10 min |
| Complete Setup | [`SETUP.md`](./SETUP.md) | 20 min |
| Tracking System | [`QUICKSTART_TRACKING.md`](./QUICKSTART_TRACKING.md) | 10 min |
| Architecture | [`.coder/`](./.coder/) | 30 min |
| Source Code | [`crates/`](./crates/) | varies |
| API Docs | `cargo doc --open` | varies |

---

## 🎬 Quick Reference

```bash
# One-command build and test
cargo build && cargo test --lib

# Run backend in one terminal
cargo run -p vapora-backend

# Run frontend in another terminal
cd crates/vapora-frontend && trunk serve

# Check everything is working
curl http://localhost:3000/api/v1/health

# View logs
RUST_LOG=debug cargo run -p vapora-backend

# Format and lint all code
cargo fmt && cargo clippy --all -- -W clippy::all
```

---

## 🆘 Getting Help

**Issues during quick start?**
1. Check [`SETUP.md`](./SETUP.md) - Troubleshooting section
2. Read crate-specific docs in `crates/*/README.md`
3. Check inline code documentation: `cargo doc --open`
4. Review `.coder/` documentation

---

## ✅ Success Checklist

- [ ] Rust 1.75+ installed
- [ ] Git repository available
- [ ] `cargo build` succeeds
- [ ] `cargo test --lib` shows all tests passing
- [ ] Backend runs at `http://localhost:3000`
- [ ] Frontend runs at `http://localhost:8080`
- [ ] Health endpoint responds
- [ ] Can create tracking entries

**All checked? ✅ You're ready to develop with Vapora!**

---

**For complete setup with configuration options:** See [`SETUP.md`](./SETUP.md)

**For tracking system specific guide:** See [`QUICKSTART_TRACKING.md`](./QUICKSTART_TRACKING.md)
