662 lines
34 KiB
HTML
662 lines
34 KiB
HTML
|
|
<!DOCTYPE HTML>
|
||
|
|
<html lang="en" class="light sidebar-visible" dir="ltr">
|
||
|
|
<head>
|
||
|
|
<!-- Book generated using mdBook -->
|
||
|
|
<meta charset="UTF-8">
|
||
|
|
<title>Quick Start - VAPORA Platform Documentation</title>
|
||
|
|
|
||
|
|
|
||
|
|
<!-- Custom HTML head -->
|
||
|
|
|
||
|
|
<meta name="description" content="Comprehensive documentation for VAPORA, an intelligent development orchestration platform built entirely in Rust.">
|
||
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
|
|
<meta name="theme-color" content="#ffffff">
|
||
|
|
|
||
|
|
<link rel="icon" href="favicon.svg">
|
||
|
|
<link rel="shortcut icon" href="favicon.png">
|
||
|
|
<link rel="stylesheet" href="css/variables.css">
|
||
|
|
<link rel="stylesheet" href="css/general.css">
|
||
|
|
<link rel="stylesheet" href="css/chrome.css">
|
||
|
|
<link rel="stylesheet" href="css/print.css" media="print">
|
||
|
|
|
||
|
|
<!-- Fonts -->
|
||
|
|
<link rel="stylesheet" href="FontAwesome/css/font-awesome.css">
|
||
|
|
<link rel="stylesheet" href="fonts/fonts.css">
|
||
|
|
|
||
|
|
<!-- Highlight.js Stylesheets -->
|
||
|
|
<link rel="stylesheet" id="highlight-css" href="highlight.css">
|
||
|
|
<link rel="stylesheet" id="tomorrow-night-css" href="tomorrow-night.css">
|
||
|
|
<link rel="stylesheet" id="ayu-highlight-css" href="ayu-highlight.css">
|
||
|
|
|
||
|
|
<!-- Custom theme stylesheets -->
|
||
|
|
|
||
|
|
|
||
|
|
<!-- Provide site root and default themes to javascript -->
|
||
|
|
<script>
|
||
|
|
const path_to_root = "";
|
||
|
|
const default_light_theme = "light";
|
||
|
|
const default_dark_theme = "dark";
|
||
|
|
</script>
|
||
|
|
<!-- Start loading toc.js asap -->
|
||
|
|
<script src="toc.js"></script>
|
||
|
|
</head>
|
||
|
|
<body>
|
||
|
|
<div id="mdbook-help-container">
|
||
|
|
<div id="mdbook-help-popup">
|
||
|
|
<h2 class="mdbook-help-title">Keyboard shortcuts</h2>
|
||
|
|
<div>
|
||
|
|
<p>Press <kbd>←</kbd> or <kbd>→</kbd> to navigate between chapters</p>
|
||
|
|
<p>Press <kbd>S</kbd> or <kbd>/</kbd> to search in the book</p>
|
||
|
|
<p>Press <kbd>?</kbd> to show this help</p>
|
||
|
|
<p>Press <kbd>Esc</kbd> to hide this help</p>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
<div id="body-container">
|
||
|
|
<!-- Work around some values being stored in localStorage wrapped in quotes -->
|
||
|
|
<script>
|
||
|
|
try {
|
||
|
|
let theme = localStorage.getItem('mdbook-theme');
|
||
|
|
let sidebar = localStorage.getItem('mdbook-sidebar');
|
||
|
|
|
||
|
|
if (theme.startsWith('"') && theme.endsWith('"')) {
|
||
|
|
localStorage.setItem('mdbook-theme', theme.slice(1, theme.length - 1));
|
||
|
|
}
|
||
|
|
|
||
|
|
if (sidebar.startsWith('"') && sidebar.endsWith('"')) {
|
||
|
|
localStorage.setItem('mdbook-sidebar', sidebar.slice(1, sidebar.length - 1));
|
||
|
|
}
|
||
|
|
} catch (e) { }
|
||
|
|
</script>
|
||
|
|
|
||
|
|
<!-- Set the theme before any content is loaded, prevents flash -->
|
||
|
|
<script>
|
||
|
|
const default_theme = window.matchMedia("(prefers-color-scheme: dark)").matches ? default_dark_theme : default_light_theme;
|
||
|
|
let theme;
|
||
|
|
try { theme = localStorage.getItem('mdbook-theme'); } catch(e) { }
|
||
|
|
if (theme === null || theme === undefined) { theme = default_theme; }
|
||
|
|
const html = document.documentElement;
|
||
|
|
html.classList.remove('light')
|
||
|
|
html.classList.add(theme);
|
||
|
|
html.classList.add("js");
|
||
|
|
</script>
|
||
|
|
|
||
|
|
<input type="checkbox" id="sidebar-toggle-anchor" class="hidden">
|
||
|
|
|
||
|
|
<!-- Hide / unhide sidebar before it is displayed -->
|
||
|
|
<script>
|
||
|
|
let sidebar = null;
|
||
|
|
const sidebar_toggle = document.getElementById("sidebar-toggle-anchor");
|
||
|
|
if (document.body.clientWidth >= 1080) {
|
||
|
|
try { sidebar = localStorage.getItem('mdbook-sidebar'); } catch(e) { }
|
||
|
|
sidebar = sidebar || 'visible';
|
||
|
|
} else {
|
||
|
|
sidebar = 'hidden';
|
||
|
|
}
|
||
|
|
sidebar_toggle.checked = sidebar === 'visible';
|
||
|
|
html.classList.remove('sidebar-visible');
|
||
|
|
html.classList.add("sidebar-" + sidebar);
|
||
|
|
</script>
|
||
|
|
|
||
|
|
<nav id="sidebar" class="sidebar" aria-label="Table of contents">
|
||
|
|
<!-- populated by js -->
|
||
|
|
<mdbook-sidebar-scrollbox class="sidebar-scrollbox"></mdbook-sidebar-scrollbox>
|
||
|
|
<noscript>
|
||
|
|
<iframe class="sidebar-iframe-outer" src="toc.html"></iframe>
|
||
|
|
</noscript>
|
||
|
|
<div id="sidebar-resize-handle" class="sidebar-resize-handle">
|
||
|
|
<div class="sidebar-resize-indicator"></div>
|
||
|
|
</div>
|
||
|
|
</nav>
|
||
|
|
|
||
|
|
<div id="page-wrapper" class="page-wrapper">
|
||
|
|
|
||
|
|
<div class="page">
|
||
|
|
<div id="menu-bar-hover-placeholder"></div>
|
||
|
|
<div id="menu-bar" class="menu-bar sticky">
|
||
|
|
<div class="left-buttons">
|
||
|
|
<label id="sidebar-toggle" class="icon-button" for="sidebar-toggle-anchor" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar">
|
||
|
|
<i class="fa fa-bars"></i>
|
||
|
|
</label>
|
||
|
|
<button id="theme-toggle" class="icon-button" type="button" title="Change theme" aria-label="Change theme" aria-haspopup="true" aria-expanded="false" aria-controls="theme-list">
|
||
|
|
<i class="fa fa-paint-brush"></i>
|
||
|
|
</button>
|
||
|
|
<ul id="theme-list" class="theme-popup" aria-label="Themes" role="menu">
|
||
|
|
<li role="none"><button role="menuitem" class="theme" id="default_theme">Auto</button></li>
|
||
|
|
<li role="none"><button role="menuitem" class="theme" id="light">Light</button></li>
|
||
|
|
<li role="none"><button role="menuitem" class="theme" id="rust">Rust</button></li>
|
||
|
|
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
|
||
|
|
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
|
||
|
|
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
|
||
|
|
</ul>
|
||
|
|
<button id="search-toggle" class="icon-button" type="button" title="Search (`/`)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="/ s" aria-controls="searchbar">
|
||
|
|
<i class="fa fa-search"></i>
|
||
|
|
</button>
|
||
|
|
</div>
|
||
|
|
|
||
|
|
<h1 class="menu-title">VAPORA Platform Documentation</h1>
|
||
|
|
|
||
|
|
<div class="right-buttons">
|
||
|
|
<a href="print.html" title="Print this book" aria-label="Print this book">
|
||
|
|
<i id="print-button" class="fa fa-print"></i>
|
||
|
|
</a>
|
||
|
|
<a href="https://github.com/vapora-platform/vapora" title="Git repository" aria-label="Git repository">
|
||
|
|
<i id="git-repository-button" class="fa fa-github"></i>
|
||
|
|
</a>
|
||
|
|
<a href="https://github.com/vapora-platform/vapora/edit/main/docs/src/../getting-started.md" title="Suggest an edit" aria-label="Suggest an edit">
|
||
|
|
<i id="git-edit-button" class="fa fa-edit"></i>
|
||
|
|
</a>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
|
||
|
|
<div id="search-wrapper" class="hidden">
|
||
|
|
<form id="searchbar-outer" class="searchbar-outer">
|
||
|
|
<input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
|
||
|
|
</form>
|
||
|
|
<div id="searchresults-outer" class="searchresults-outer hidden">
|
||
|
|
<div id="searchresults-header" class="searchresults-header"></div>
|
||
|
|
<ul id="searchresults">
|
||
|
|
</ul>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
|
||
|
|
<!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
|
||
|
|
<script>
|
||
|
|
document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
|
||
|
|
document.getElementById('sidebar').setAttribute('aria-hidden', sidebar !== 'visible');
|
||
|
|
Array.from(document.querySelectorAll('#sidebar a')).forEach(function(link) {
|
||
|
|
link.setAttribute('tabIndex', sidebar === 'visible' ? 0 : -1);
|
||
|
|
});
|
||
|
|
</script>
|
||
|
|
|
||
|
|
<div id="content" class="content">
|
||
|
|
<main>
|
||
|
|
<hr />
|
||
|
|
<h2>title: Vapora - START HERE
|
||
|
|
date: 2025-11-10
|
||
|
|
status: READY
|
||
|
|
version: 1.0
|
||
|
|
type: entry-point</h2>
|
||
|
|
<h1 id="-vapora---start-here"><a class="header" href="#-vapora---start-here">🌊 Vapora - START HERE</a></h1>
|
||
|
|
<p><strong>Welcome to Vapora! This is your entry point to the intelligent development orchestration platform.</strong></p>
|
||
|
|
<p>Choose your path below based on what you want to do:</p>
|
||
|
|
<hr />
|
||
|
|
<h2 id="-i-want-to-get-started-now-15-minutes"><a class="header" href="#-i-want-to-get-started-now-15-minutes">⚡ I Want to Get Started NOW (15 minutes)</a></h2>
|
||
|
|
<p>👉 <strong>Read:</strong> <a href="./QUICKSTART.html"><code>QUICKSTART.md</code></a></p>
|
||
|
|
<p>This is the fastest way to get up and running:</p>
|
||
|
|
<ul>
|
||
|
|
<li>Prerequisites check (2 min)</li>
|
||
|
|
<li>Build complete project (5 min)</li>
|
||
|
|
<li>Run backend & frontend (3 min)</li>
|
||
|
|
<li>Verify everything works (2 min)</li>
|
||
|
|
<li>Create first tracking entry (3 min)</li>
|
||
|
|
</ul>
|
||
|
|
<p><strong>Then:</strong> Try using the tracking system: <code>/log-change</code>, <code>/add-todo</code>, <code>/track-status</code></p>
|
||
|
|
<hr />
|
||
|
|
<h2 id="-i-want-complete-setup-instructions"><a class="header" href="#-i-want-complete-setup-instructions">🛠️ I Want Complete Setup Instructions</a></h2>
|
||
|
|
<p>👉 <strong>Read:</strong> <a href="./SETUP.html"><code>SETUP.md</code></a></p>
|
||
|
|
<p>Complete step-by-step guide covering:</p>
|
||
|
|
<ul>
|
||
|
|
<li>Prerequisites verification & installation</li>
|
||
|
|
<li>Workspace configuration (3 options)</li>
|
||
|
|
<li>Building all 8 crates</li>
|
||
|
|
<li>Running full test suite</li>
|
||
|
|
<li>IDE setup (VS Code, CLion)</li>
|
||
|
|
<li>Development workflow</li>
|
||
|
|
<li>Troubleshooting guide</li>
|
||
|
|
</ul>
|
||
|
|
<p><strong>Time:</strong> 30-45 minutes for complete setup with configuration</p>
|
||
|
|
<hr />
|
||
|
|
<h2 id="-i-want-to-understand-the-project"><a class="header" href="#-i-want-to-understand-the-project">🚀 I Want to Understand the Project</a></h2>
|
||
|
|
<p>👉 <strong>Read:</strong> <a href="./README.html"><code>README.md</code></a></p>
|
||
|
|
<p>Project overview covering:</p>
|
||
|
|
<ul>
|
||
|
|
<li>What is Vapora (intelligent development orchestration)</li>
|
||
|
|
<li>Key features (agents, LLM routing, tracking, K8s, RAG)</li>
|
||
|
|
<li>Architecture overview</li>
|
||
|
|
<li>Technology stack</li>
|
||
|
|
<li>Getting started links</li>
|
||
|
|
<li>Contributing guidelines</li>
|
||
|
|
</ul>
|
||
|
|
<p><strong>Time:</strong> 15-20 minutes to understand the vision</p>
|
||
|
|
<hr />
|
||
|
|
<h2 id="-i-want-deep-technical-understanding"><a class="header" href="#-i-want-deep-technical-understanding">📚 I Want Deep Technical Understanding</a></h2>
|
||
|
|
<p>👉 <strong>Read:</strong> <a href="./.coder/TRACKING_DOCUMENTATION_INDEX.html"><code>.coder/TRACKING_DOCUMENTATION_INDEX.md</code></a></p>
|
||
|
|
<p>Master documentation index covering:</p>
|
||
|
|
<ul>
|
||
|
|
<li>All documentation files (8+ docs)</li>
|
||
|
|
<li>Reading paths by role (PM, Dev, DevOps, Architect, User)</li>
|
||
|
|
<li>Complete architecture and design decisions</li>
|
||
|
|
<li>API reference and integration details</li>
|
||
|
|
<li>Performance characteristics</li>
|
||
|
|
<li>Troubleshooting strategies</li>
|
||
|
|
</ul>
|
||
|
|
<p><strong>Time:</strong> 1-2 hours for comprehensive understanding</p>
|
||
|
|
<hr />
|
||
|
|
<h2 id="-quick-navigation-by-role"><a class="header" href="#-quick-navigation-by-role">🎯 Quick Navigation by Role</a></h2>
|
||
|
|
<div class="table-wrapper"><table><thead><tr><th>Role</th><th>Start with</th><th>Then read</th><th>Time</th></tr></thead><tbody>
|
||
|
|
<tr><td><strong>New Developer</strong></td><td>QUICKSTART.md</td><td>SETUP.md</td><td>45 min</td></tr>
|
||
|
|
<tr><td><strong>Backend Dev</strong></td><td>SETUP.md</td><td>crates/vapora-backend/</td><td>1 hour</td></tr>
|
||
|
|
<tr><td><strong>Frontend Dev</strong></td><td>SETUP.md</td><td>crates/vapora-frontend/</td><td>1 hour</td></tr>
|
||
|
|
<tr><td><strong>DevOps / Ops</strong></td><td>SETUP.md</td><td>INTEGRATION.md</td><td>1 hour</td></tr>
|
||
|
|
<tr><td><strong>Project Lead</strong></td><td>README.md</td><td>.coder/ docs</td><td>2 hours</td></tr>
|
||
|
|
<tr><td><strong>Architect</strong></td><td>.coder/TRACKING_DOCUMENTATION_INDEX.md</td><td>All docs</td><td>2+ hours</td></tr>
|
||
|
|
<tr><td><strong>Tracking System User</strong></td><td>QUICKSTART_TRACKING.md</td><td>SETUP_TRACKING.md</td><td>30 min</td></tr>
|
||
|
|
</tbody></table>
|
||
|
|
</div>
|
||
|
|
<hr />
|
||
|
|
<h2 id="-projects-and-components"><a class="header" href="#-projects-and-components">📋 Projects and Components</a></h2>
|
||
|
|
<h3 id="main-components"><a class="header" href="#main-components">Main Components</a></h3>
|
||
|
|
<p><strong>Vapora is built from 8 integrated crates:</strong></p>
|
||
|
|
<div class="table-wrapper"><table><thead><tr><th>Crate</th><th>Purpose</th><th>Status</th></tr></thead><tbody>
|
||
|
|
<tr><td><strong>vapora-shared</strong></td><td>Shared types, utilities, errors</td><td>✅ Core</td></tr>
|
||
|
|
<tr><td><strong>vapora-agents</strong></td><td>Agent orchestration framework</td><td>✅ Complete</td></tr>
|
||
|
|
<tr><td><strong>vapora-llm-router</strong></td><td>Multi-LLM routing (Claude, GPT, Gemini, Ollama)</td><td>✅ Complete</td></tr>
|
||
|
|
<tr><td><strong>vapora-tracking</strong></td><td>Change & TODO tracking system (NEW)</td><td>✅ Production</td></tr>
|
||
|
|
<tr><td><strong>vapora-backend</strong></td><td>REST API server (Axum)</td><td>✅ Complete</td></tr>
|
||
|
|
<tr><td><strong>vapora-frontend</strong></td><td>Web UI (Leptos + WASM)</td><td>✅ Complete</td></tr>
|
||
|
|
<tr><td><strong>vapora-mcp-server</strong></td><td>MCP protocol support</td><td>✅ Complete</td></tr>
|
||
|
|
<tr><td><strong>vapora-doc-lifecycle</strong></td><td>Document lifecycle management</td><td>✅ Complete</td></tr>
|
||
|
|
</tbody></table>
|
||
|
|
</div>
|
||
|
|
<h3 id="system-architecture"><a class="header" href="#system-architecture">System Architecture</a></h3>
|
||
|
|
<pre><code>┌─────────────────────────────────────────────────┐
|
||
|
|
│ Vapora Platform (You are here) │
|
||
|
|
├─────────────────────────────────────────────────┤
|
||
|
|
│ │
|
||
|
|
│ Frontend (Leptos WASM) │
|
||
|
|
│ └─ http://localhost:8080 │
|
||
|
|
│ │
|
||
|
|
│ Backend (Axum REST API) │
|
||
|
|
│ └─ http://localhost:3000/api/v1/* │
|
||
|
|
│ │
|
||
|
|
│ ┌─────────────────────────────────────────┐ │
|
||
|
|
│ │ Core Services │ │
|
||
|
|
│ │ • Tracking System (vapora-tracking) │ │
|
||
|
|
│ │ • Agent Orchestration (vapora-agents) │ │
|
||
|
|
│ │ • LLM Router (vapora-llm-router) │ │
|
||
|
|
│ │ • Document Lifecycle Manager │ │
|
||
|
|
│ └─────────────────────────────────────────┘ │
|
||
|
|
│ │
|
||
|
|
│ ┌─────────────────────────────────────────┐ │
|
||
|
|
│ │ Infrastructure │ │
|
||
|
|
│ │ • SQLite Database (local dev) │ │
|
||
|
|
│ │ • SurrealDB (production) │ │
|
||
|
|
│ │ • NATS JetStream (messaging) │ │
|
||
|
|
│ │ • Kubernetes Ready │ │
|
||
|
|
│ └─────────────────────────────────────────┘ │
|
||
|
|
│ │
|
||
|
|
└─────────────────────────────────────────────────┘
|
||
|
|
</code></pre>
|
||
|
|
<hr />
|
||
|
|
<h2 id="-quick-start-options"><a class="header" href="#-quick-start-options">🚀 Quick Start Options</a></h2>
|
||
|
|
<h3 id="option-1-15-minute-build--run"><a class="header" href="#option-1-15-minute-build--run">Option 1: 15-Minute Build & Run</a></h3>
|
||
|
|
<pre><code class="language-bash"># Build entire project
|
||
|
|
cargo build
|
||
|
|
|
||
|
|
# Run backend (Terminal 1)
|
||
|
|
cargo run -p vapora-backend
|
||
|
|
|
||
|
|
# Run frontend (Terminal 2, optional)
|
||
|
|
cd crates/vapora-frontend && trunk serve
|
||
|
|
|
||
|
|
# Visit http://localhost:3000 and http://localhost:8080
|
||
|
|
</code></pre>
|
||
|
|
<h3 id="option-2-test-everything-first"><a class="header" href="#option-2-test-everything-first">Option 2: Test Everything First</a></h3>
|
||
|
|
<pre><code class="language-bash"># Build
|
||
|
|
cargo build
|
||
|
|
|
||
|
|
# Run all tests
|
||
|
|
cargo test --lib
|
||
|
|
|
||
|
|
# Check code quality
|
||
|
|
cargo clippy --all -- -W clippy::all
|
||
|
|
|
||
|
|
# Format code
|
||
|
|
cargo fmt
|
||
|
|
|
||
|
|
# Then run: cargo run -p vapora-backend
|
||
|
|
</code></pre>
|
||
|
|
<h3 id="option-3-step-by-step-complete-setup"><a class="header" href="#option-3-step-by-step-complete-setup">Option 3: Step-by-Step Complete Setup</a></h3>
|
||
|
|
<p>See <a href="./SETUP.html"><code>SETUP.md</code></a> for:</p>
|
||
|
|
<ul>
|
||
|
|
<li>Detailed prerequisites</li>
|
||
|
|
<li>Configuration options</li>
|
||
|
|
<li>IDE setup</li>
|
||
|
|
<li>Development workflow</li>
|
||
|
|
<li>Comprehensive troubleshooting</li>
|
||
|
|
</ul>
|
||
|
|
<hr />
|
||
|
|
<h2 id="-documentation-structure"><a class="header" href="#-documentation-structure">📖 Documentation Structure</a></h2>
|
||
|
|
<h3 id="in-vapora-root"><a class="header" href="#in-vapora-root">In Vapora Root</a></h3>
|
||
|
|
<div class="table-wrapper"><table><thead><tr><th>File</th><th>Purpose</th><th>Time</th></tr></thead><tbody>
|
||
|
|
<tr><td><strong>START_HERE.md</strong></td><td>This file - entry point</td><td>5 min</td></tr>
|
||
|
|
<tr><td><strong>QUICKSTART.md</strong></td><td>15-minute full project setup</td><td>15 min</td></tr>
|
||
|
|
<tr><td><strong>SETUP.md</strong></td><td>Complete setup guide</td><td>30 min</td></tr>
|
||
|
|
<tr><td><strong>README.md</strong></td><td>Project overview & features</td><td>15 min</td></tr>
|
||
|
|
</tbody></table>
|
||
|
|
</div>
|
||
|
|
<h3 id="in-coder-project-analysis"><a class="header" href="#in-coder-project-analysis">In <code>.coder/</code> (Project Analysis)</a></h3>
|
||
|
|
<div class="table-wrapper"><table><thead><tr><th>File</th><th>Purpose</th><th>Time</th></tr></thead><tbody>
|
||
|
|
<tr><td><strong>TRACKING_SYSTEM_STATUS.md</strong></td><td>Implementation status & API reference</td><td>30 min</td></tr>
|
||
|
|
<tr><td><strong>TRACKING_DOCUMENTATION_INDEX.md</strong></td><td>Master navigation guide</td><td>15 min</td></tr>
|
||
|
|
<tr><td><strong>OPTIMIZATION_SUMMARY.md</strong></td><td>Code improvements & architecture</td><td>20 min</td></tr>
|
||
|
|
</tbody></table>
|
||
|
|
</div>
|
||
|
|
<h3 id="in-crate-directories"><a class="header" href="#in-crate-directories">In Crate Directories</a></h3>
|
||
|
|
<div class="table-wrapper"><table><thead><tr><th>Crate</th><th>README</th><th>Integration</th><th>Other</th></tr></thead><tbody>
|
||
|
|
<tr><td>vapora-tracking</td><td>Feature overview</td><td>Full guide</td><td>Benchmarks</td></tr>
|
||
|
|
<tr><td>vapora-backend</td><td>API reference</td><td>Deployment</td><td>Tests</td></tr>
|
||
|
|
<tr><td>vapora-frontend</td><td>Component docs</td><td>WASM build</td><td>Examples</td></tr>
|
||
|
|
<tr><td>vapora-shared</td><td>Type definitions</td><td>Utilities</td><td>Tests</td></tr>
|
||
|
|
<tr><td>vapora-agents</td><td>Framework</td><td>Examples</td><td>Agents</td></tr>
|
||
|
|
<tr><td>vapora-llm-router</td><td>Router logic</td><td>Config</td><td>Examples</td></tr>
|
||
|
|
</tbody></table>
|
||
|
|
</div>
|
||
|
|
<h3 id="tools-directory-toolscoder"><a class="header" href="#tools-directory-toolscoder">Tools Directory (<code>~/.Tools/.coder/</code>)</a></h3>
|
||
|
|
<div class="table-wrapper"><table><thead><tr><th>File</th><th>Purpose</th><th>Language</th></tr></thead><tbody>
|
||
|
|
<tr><td><strong>BITACORA_TRACKING_DONE.md</strong></td><td>Implementation summary</td><td>Spanish</td></tr>
|
||
|
|
</tbody></table>
|
||
|
|
</div>
|
||
|
|
<hr />
|
||
|
|
<h2 id="-key-features-at-a-glance"><a class="header" href="#-key-features-at-a-glance">✨ Key Features at a Glance</a></h2>
|
||
|
|
<h3 id="-project-management"><a class="header" href="#-project-management">🎯 Project Management</a></h3>
|
||
|
|
<ul>
|
||
|
|
<li>Kanban board (Todo → Doing → Review → Done)</li>
|
||
|
|
<li>Change tracking with impact analysis</li>
|
||
|
|
<li>TODO system with priority & estimation</li>
|
||
|
|
<li>Real-time collaboration</li>
|
||
|
|
</ul>
|
||
|
|
<h3 id="-ai-agent-orchestration"><a class="header" href="#-ai-agent-orchestration">🤖 AI Agent Orchestration</a></h3>
|
||
|
|
<ul>
|
||
|
|
<li>12+ specialized agents (Architect, Developer, Reviewer, Tester, etc.)</li>
|
||
|
|
<li>Parallel pipeline execution with approval gates</li>
|
||
|
|
<li>Multi-LLM routing (Claude, OpenAI, Gemini, Ollama)</li>
|
||
|
|
<li>Customizable & extensible agent system</li>
|
||
|
|
</ul>
|
||
|
|
<h3 id="-intelligent-routing"><a class="header" href="#-intelligent-routing">🧠 Intelligent Routing</a></h3>
|
||
|
|
<ul>
|
||
|
|
<li>Automatic LLM selection per task</li>
|
||
|
|
<li>Manual override capability</li>
|
||
|
|
<li>Fallback chains</li>
|
||
|
|
<li>Cost tracking & budget alerts</li>
|
||
|
|
</ul>
|
||
|
|
<h3 id="-knowledge-management"><a class="header" href="#-knowledge-management">📚 Knowledge Management</a></h3>
|
||
|
|
<ul>
|
||
|
|
<li>RAG integration for semantic search</li>
|
||
|
|
<li>Document lifecycle management</li>
|
||
|
|
<li>Team decisions & docs discoverable</li>
|
||
|
|
<li>Code & guide integration</li>
|
||
|
|
</ul>
|
||
|
|
<h3 id="-infrastructure-ready"><a class="header" href="#-infrastructure-ready">☁️ Infrastructure Ready</a></h3>
|
||
|
|
<ul>
|
||
|
|
<li>Kubernetes native (K3s, RKE2, vanilla)</li>
|
||
|
|
<li>Istio service mesh</li>
|
||
|
|
<li>Self-hosted (no SaaS)</li>
|
||
|
|
<li>Horizontal scaling</li>
|
||
|
|
</ul>
|
||
|
|
<hr />
|
||
|
|
<h2 id="-what-you-can-do-after-getting-started"><a class="header" href="#-what-you-can-do-after-getting-started">🎬 What You Can Do After Getting Started</a></h2>
|
||
|
|
<p>✅ <strong>Build & Run</strong></p>
|
||
|
|
<ul>
|
||
|
|
<li>Build complete project: <code>cargo build</code></li>
|
||
|
|
<li>Run backend: <code>cargo run -p vapora-backend</code></li>
|
||
|
|
<li>Run frontend: <code>trunk serve</code> (in frontend dir)</li>
|
||
|
|
<li>Run tests: <code>cargo test --lib</code></li>
|
||
|
|
</ul>
|
||
|
|
<p>✅ <strong>Use Tracking System</strong></p>
|
||
|
|
<ul>
|
||
|
|
<li>Log changes: <code>/log-change "description" --impact backend</code></li>
|
||
|
|
<li>Create TODOs: <code>/add-todo "task" --priority H --estimate M</code></li>
|
||
|
|
<li>Check status: <code>/track-status --limit 10</code></li>
|
||
|
|
<li>Export reports: <code>./scripts/export-tracking.nu json</code></li>
|
||
|
|
</ul>
|
||
|
|
<p>✅ <strong>Use Agent Framework</strong></p>
|
||
|
|
<ul>
|
||
|
|
<li>Orchestrate AI agents for tasks</li>
|
||
|
|
<li>Multi-LLM routing for optimal model selection</li>
|
||
|
|
<li>Pipeline execution with approval gates</li>
|
||
|
|
</ul>
|
||
|
|
<p>✅ <strong>Integrate & Extend</strong></p>
|
||
|
|
<ul>
|
||
|
|
<li>Add custom agents</li>
|
||
|
|
<li>Integrate with external services</li>
|
||
|
|
<li>Deploy to Kubernetes</li>
|
||
|
|
<li>Customize LLM routing</li>
|
||
|
|
</ul>
|
||
|
|
<p>✅ <strong>Develop & Contribute</strong></p>
|
||
|
|
<ul>
|
||
|
|
<li>Understand codebase architecture</li>
|
||
|
|
<li>Modify agents and services</li>
|
||
|
|
<li>Add new features</li>
|
||
|
|
<li>Submit pull requests</li>
|
||
|
|
</ul>
|
||
|
|
<hr />
|
||
|
|
<h2 id="-system-requirements"><a class="header" href="#-system-requirements">🛠️ System Requirements</a></h2>
|
||
|
|
<p><strong>Minimum:</strong></p>
|
||
|
|
<ul>
|
||
|
|
<li>macOS 10.15+ / Linux / Windows</li>
|
||
|
|
<li>Rust 1.75+</li>
|
||
|
|
<li>4GB RAM</li>
|
||
|
|
<li>2GB disk space</li>
|
||
|
|
<li>Internet connection</li>
|
||
|
|
</ul>
|
||
|
|
<p><strong>Recommended:</strong></p>
|
||
|
|
<ul>
|
||
|
|
<li>macOS 12+ (M1/M2) / Linux</li>
|
||
|
|
<li>Rust 1.75+</li>
|
||
|
|
<li>8GB+ RAM</li>
|
||
|
|
<li>5GB+ disk space</li>
|
||
|
|
<li>NuShell 0.95+ (for scripts)</li>
|
||
|
|
</ul>
|
||
|
|
<hr />
|
||
|
|
<h2 id="-learning-paths"><a class="header" href="#-learning-paths">📚 Learning Paths</a></h2>
|
||
|
|
<h3 id="path-1-quick-user-30-minutes"><a class="header" href="#path-1-quick-user-30-minutes">Path 1: Quick User (30 minutes)</a></h3>
|
||
|
|
<ol>
|
||
|
|
<li>Read: QUICKSTART.md (15 min)</li>
|
||
|
|
<li>Build: <code>cargo build</code> (8 min)</li>
|
||
|
|
<li>Run: Backend & frontend (5 min)</li>
|
||
|
|
<li>Try: <code>/log-change</code>, <code>/track-status</code> (2 min)</li>
|
||
|
|
</ol>
|
||
|
|
<h3 id="path-2-developer-2-hours"><a class="header" href="#path-2-developer-2-hours">Path 2: Developer (2 hours)</a></h3>
|
||
|
|
<ol>
|
||
|
|
<li>Read: README.md (15 min)</li>
|
||
|
|
<li>Read: SETUP.md (30 min)</li>
|
||
|
|
<li>Setup: Development environment (20 min)</li>
|
||
|
|
<li>Build: Full project (5 min)</li>
|
||
|
|
<li>Explore: Crate documentation (30 min)</li>
|
||
|
|
<li>Code: Try modifying something (20 min)</li>
|
||
|
|
</ol>
|
||
|
|
<h3 id="path-3-architect-3-hours"><a class="header" href="#path-3-architect-3-hours">Path 3: Architect (3+ hours)</a></h3>
|
||
|
|
<ol>
|
||
|
|
<li>Read: README.md (15 min)</li>
|
||
|
|
<li>Read: .coder/TRACKING_DOCUMENTATION_INDEX.md (30 min)</li>
|
||
|
|
<li>Deep dive: All architecture docs (1+ hour)</li>
|
||
|
|
<li>Review: Source code (1+ hour)</li>
|
||
|
|
<li>Plan: Extensions and modifications</li>
|
||
|
|
</ol>
|
||
|
|
<h3 id="path-4-tracking-system-focus-1-hour"><a class="header" href="#path-4-tracking-system-focus-1-hour">Path 4: Tracking System Focus (1 hour)</a></h3>
|
||
|
|
<ol>
|
||
|
|
<li>Read: QUICKSTART_TRACKING.md (15 min)</li>
|
||
|
|
<li>Build: <code>cargo build -p vapora-tracking</code> (5 min)</li>
|
||
|
|
<li>Setup: Tracking system (10 min)</li>
|
||
|
|
<li>Explore: Tracking features (20 min)</li>
|
||
|
|
<li>Try: /log-change, /track-status, exports (10 min)</li>
|
||
|
|
</ol>
|
||
|
|
<hr />
|
||
|
|
<h2 id="-quick-links"><a class="header" href="#-quick-links">🔗 Quick Links</a></h2>
|
||
|
|
<h3 id="getting-started"><a class="header" href="#getting-started">Getting Started</a></h3>
|
||
|
|
<ul>
|
||
|
|
<li><a href="./QUICKSTART.html">QUICKSTART.md</a> - 15-minute setup</li>
|
||
|
|
<li><a href="./SETUP.html">SETUP.md</a> - Complete setup guide</li>
|
||
|
|
<li><a href="./README.html">README.md</a> - Project overview</li>
|
||
|
|
</ul>
|
||
|
|
<h3 id="documentation"><a class="header" href="#documentation">Documentation</a></h3>
|
||
|
|
<ul>
|
||
|
|
<li><a href="./QUICKSTART_TRACKING.html">QUICKSTART_TRACKING.md</a> - Tracking system quick start</li>
|
||
|
|
<li><a href="./SETUP_TRACKING.html">SETUP_TRACKING.md</a> - Tracking system detailed setup</li>
|
||
|
|
<li><a href="./.coder/TRACKING_DOCUMENTATION_INDEX.html">.coder/TRACKING_DOCUMENTATION_INDEX.md</a> - Master guide</li>
|
||
|
|
</ul>
|
||
|
|
<h3 id="code--architecture"><a class="header" href="#code--architecture">Code & Architecture</a></h3>
|
||
|
|
<ul>
|
||
|
|
<li><a href="./crates/">Source code</a> - Implementation</li>
|
||
|
|
<li><a href="./crates/vapora-backend/README.html">API endpoints</a> - REST API</li>
|
||
|
|
<li><a href="./crates/vapora-tracking/README.html">Tracking system</a> - Tracking crate</li>
|
||
|
|
<li><a href="./crates/vapora-tracking/INTEGRATION.html">Integration guide</a> - System integration</li>
|
||
|
|
</ul>
|
||
|
|
<h3 id="project-management"><a class="header" href="#project-management">Project Management</a></h3>
|
||
|
|
<ul>
|
||
|
|
<li><a href="./README.html#-roadmap">Roadmap</a> - Future features</li>
|
||
|
|
<li><a href="./README.html#-contributing">Contributing</a> - How to contribute</li>
|
||
|
|
<li><a href="https://github.com/vapora/vapora/issues">Issues</a> - Bug reports & features</li>
|
||
|
|
</ul>
|
||
|
|
<hr />
|
||
|
|
<h2 id="-quick-help"><a class="header" href="#-quick-help">🆘 Quick Help</a></h2>
|
||
|
|
<h3 id="im-stuck-on-installation"><a class="header" href="#im-stuck-on-installation">"I'm stuck on installation"</a></h3>
|
||
|
|
<p>→ See <a href="./SETUP.html#troubleshooting">SETUP.md Troubleshooting</a></p>
|
||
|
|
<h3 id="i-dont-know-how-to-use-the-tracking-system"><a class="header" href="#i-dont-know-how-to-use-the-tracking-system">"I don't know how to use the tracking system"</a></h3>
|
||
|
|
<p>→ See <a href="./QUICKSTART_TRACKING.html#-first-time-usage">QUICKSTART_TRACKING.md Usage</a></p>
|
||
|
|
<h3 id="i-need-to-understand-the-architecture"><a class="header" href="#i-need-to-understand-the-architecture">"I need to understand the architecture"</a></h3>
|
||
|
|
<p>→ See <a href="./CODER/TRACKING_DOCUMENTATION_INDEX.html">.coder/TRACKING_DOCUMENTATION_INDEX.md</a></p>
|
||
|
|
<h3 id="i-want-to-deploy-to-production"><a class="header" href="#i-want-to-deploy-to-production">"I want to deploy to production"</a></h3>
|
||
|
|
<p>→ See <a href="./crates/vapora-tracking/INTEGRATION.html#deployment">INTEGRATION.md Deployment</a></p>
|
||
|
|
<h3 id="im-not-sure-where-to-start"><a class="header" href="#im-not-sure-where-to-start">"I'm not sure where to start"</a></h3>
|
||
|
|
<p>→ Choose your role from the table above and follow the reading path</p>
|
||
|
|
<hr />
|
||
|
|
<h2 id="-next-steps"><a class="header" href="#-next-steps">🎯 Next Steps</a></h2>
|
||
|
|
<p><strong>Choose one:</strong></p>
|
||
|
|
<h3 id="1-fast-track-15-minutes"><a class="header" href="#1-fast-track-15-minutes">1. Fast Track (15 minutes)</a></h3>
|
||
|
|
<pre><code class="language-bash"># Read and follow
|
||
|
|
# QUICKSTART.md
|
||
|
|
|
||
|
|
# Expected outcome: Project running, first tracking entry created
|
||
|
|
</code></pre>
|
||
|
|
<h3 id="2-complete-setup-45-minutes"><a class="header" href="#2-complete-setup-45-minutes">2. Complete Setup (45 minutes)</a></h3>
|
||
|
|
<pre><code class="language-bash"># Read and follow:
|
||
|
|
# SETUP.md (complete with configuration and IDE setup)
|
||
|
|
|
||
|
|
# Expected outcome: Full development environment ready
|
||
|
|
</code></pre>
|
||
|
|
<h3 id="3-understanding-first-1-2-hours"><a class="header" href="#3-understanding-first-1-2-hours">3. Understanding First (1-2 hours)</a></h3>
|
||
|
|
<pre><code class="language-bash"># Read in order:
|
||
|
|
# 1. README.md (project overview)
|
||
|
|
# 2. .coder/TRACKING_DOCUMENTATION_INDEX.md (architecture)
|
||
|
|
# 3. SETUP.md (setup with full understanding)
|
||
|
|
|
||
|
|
# Expected outcome: Deep understanding of system design
|
||
|
|
</code></pre>
|
||
|
|
<h3 id="4-tracking-system-only-30-minutes"><a class="header" href="#4-tracking-system-only-30-minutes">4. Tracking System Only (30 minutes)</a></h3>
|
||
|
|
<pre><code class="language-bash"># Read and follow:
|
||
|
|
# QUICKSTART_TRACKING.md
|
||
|
|
|
||
|
|
# Expected outcome: Tracking system running and in use
|
||
|
|
</code></pre>
|
||
|
|
<hr />
|
||
|
|
<h2 id="-installation-checklist"><a class="header" href="#-installation-checklist">✅ Installation Checklist</a></h2>
|
||
|
|
<p><strong>Before you start:</strong></p>
|
||
|
|
<ul>
|
||
|
|
<li><input disabled="" type="checkbox"/>
|
||
|
|
Rust 1.75+ installed</li>
|
||
|
|
<li><input disabled="" type="checkbox"/>
|
||
|
|
Cargo available</li>
|
||
|
|
<li><input disabled="" type="checkbox"/>
|
||
|
|
Git installed</li>
|
||
|
|
<li><input disabled="" type="checkbox"/>
|
||
|
|
2GB+ disk space available</li>
|
||
|
|
<li><input disabled="" type="checkbox"/>
|
||
|
|
Internet connection working</li>
|
||
|
|
</ul>
|
||
|
|
<p><strong>After quick start:</strong></p>
|
||
|
|
<ul>
|
||
|
|
<li><input disabled="" type="checkbox"/>
|
||
|
|
<code>cargo build</code> succeeds</li>
|
||
|
|
<li><input disabled="" type="checkbox"/>
|
||
|
|
<code>cargo test --lib</code> passes</li>
|
||
|
|
<li><input disabled="" type="checkbox"/>
|
||
|
|
Backend runs on port 3000</li>
|
||
|
|
<li><input disabled="" type="checkbox"/>
|
||
|
|
Frontend loads on port 8080 (optional)</li>
|
||
|
|
<li><input disabled="" type="checkbox"/>
|
||
|
|
Can create tracking entries</li>
|
||
|
|
<li><input disabled="" type="checkbox"/>
|
||
|
|
Code formats correctly</li>
|
||
|
|
</ul>
|
||
|
|
<p><strong>All checked? ✅ You're ready to develop with Vapora!</strong></p>
|
||
|
|
<hr />
|
||
|
|
<h2 id="-pro-tips"><a class="header" href="#-pro-tips">💡 Pro Tips</a></h2>
|
||
|
|
<ul>
|
||
|
|
<li><strong>Start simple:</strong> Begin with QUICKSTART.md, expand later</li>
|
||
|
|
<li><strong>Use the docs:</strong> Every crate has README.md with examples</li>
|
||
|
|
<li><strong>Check status:</strong> Run <code>/track-status</code> frequently</li>
|
||
|
|
<li><strong>IDE matters:</strong> Set up VS Code or CLion properly</li>
|
||
|
|
<li><strong>Ask questions:</strong> Check documentation first, then ask the community</li>
|
||
|
|
<li><strong>Contribute:</strong> Once comfortable, consider contributing improvements</li>
|
||
|
|
</ul>
|
||
|
|
<hr />
|
||
|
|
<h2 id="-welcome-to-vapora"><a class="header" href="#-welcome-to-vapora">🌟 Welcome to Vapora!</a></h2>
|
||
|
|
<p>You're about to join a platform that's changing how development teams work together. Whether you're here to build, contribute, or just explore, you've come to the right place.</p>
|
||
|
|
<p><strong>Choose your starting point above and begin your Vapora journey! 🚀</strong></p>
|
||
|
|
<hr />
|
||
|
|
<p><strong>Quick decision guide:</strong></p>
|
||
|
|
<ul>
|
||
|
|
<li>⏱️ <strong>Have 15 min?</strong> → QUICKSTART.md</li>
|
||
|
|
<li>⏱️ <strong>Have 45 min?</strong> → SETUP.md</li>
|
||
|
|
<li>⏱️ <strong>Have 2 hours?</strong> → README.md + Deep dive</li>
|
||
|
|
<li>⏱️ <strong>Just tracking?</strong> → QUICKSTART_TRACKING.md</li>
|
||
|
|
</ul>
|
||
|
|
<hr />
|
||
|
|
<p><strong>Last updated:</strong> 2025-11-10 | <strong>Status:</strong> ✅ Production Ready | <strong>Version:</strong> 1.0</p>
|
||
|
|
|
||
|
|
</main>
|
||
|
|
|
||
|
|
<nav class="nav-wrapper" aria-label="Page navigation">
|
||
|
|
<!-- Mobile navigation buttons -->
|
||
|
|
<a rel="prev" href="../index.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
|
||
|
|
<i class="fa fa-angle-left"></i>
|
||
|
|
</a>
|
||
|
|
|
||
|
|
<a rel="next prefetch" href="../quickstart.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
|
||
|
|
<i class="fa fa-angle-right"></i>
|
||
|
|
</a>
|
||
|
|
|
||
|
|
<div style="clear: both"></div>
|
||
|
|
</nav>
|
||
|
|
</div>
|
||
|
|
</div>
|
||
|
|
|
||
|
|
<nav class="nav-wide-wrapper" aria-label="Page navigation">
|
||
|
|
<a rel="prev" href="../index.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
|
||
|
|
<i class="fa fa-angle-left"></i>
|
||
|
|
</a>
|
||
|
|
|
||
|
|
<a rel="next prefetch" href="../quickstart.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
|
||
|
|
<i class="fa fa-angle-right"></i>
|
||
|
|
</a>
|
||
|
|
</nav>
|
||
|
|
|
||
|
|
</div>
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
<script>
|
||
|
|
window.playground_copyable = true;
|
||
|
|
</script>
|
||
|
|
|
||
|
|
|
||
|
|
<script src="elasticlunr.min.js"></script>
|
||
|
|
<script src="mark.min.js"></script>
|
||
|
|
<script src="searcher.js"></script>
|
||
|
|
|
||
|
|
<script src="clipboard.min.js"></script>
|
||
|
|
<script src="highlight.js"></script>
|
||
|
|
<script src="book.js"></script>
|
||
|
|
|
||
|
|
<!-- Custom JS scripts -->
|
||
|
|
|
||
|
|
|
||
|
|
</div>
|
||
|
|
</body>
|
||
|
|
</html>
|