chore: docs guides

This commit is contained in:
Jesús Pérez 2026-02-17 23:15:12 +00:00
parent 2f76728481
commit 868c6e04fa
Signed by: jesus
GPG Key ID: 9F243E355E0BC939
4 changed files with 86 additions and 55 deletions

View File

@ -345,7 +345,7 @@ Option A: Learning profiles with recency bias
<li><strong>Automatic</strong>: Each task completion generates execution record</li> <li><strong>Automatic</strong>: Each task completion generates execution record</li>
<li><strong>Learning</strong>: If decision had trade-offs, extract as ADR candidate</li> <li><strong>Learning</strong>: If decision had trade-offs, extract as ADR candidate</li>
<li><strong>Curation</strong>: ProjectManager/Architect reviews and approves</li> <li><strong>Curation</strong>: ProjectManager/Architect reviews and approves</li>
<li><strong>Archival</strong>: Stored in docs/architecture/adr/ (numbered, immutable)</li> <li><strong>Archival</strong>: Stored in docs/adrs/ (numbered, immutable)</li>
</ol> </ol>
<hr /> <hr />
<h2 id="-documentation-synchronization"><a class="header" href="#-documentation-synchronization">📚 Documentation Synchronization</a></h2> <h2 id="-documentation-synchronization"><a class="header" href="#-documentation-synchronization">📚 Documentation Synchronization</a></h2>

View File

@ -203,7 +203,7 @@ Option A: Learning profiles with recency bias
1. **Automatic**: Each task completion generates execution record 1. **Automatic**: Each task completion generates execution record
2. **Learning**: If decision had trade-offs, extract as ADR candidate 2. **Learning**: If decision had trade-offs, extract as ADR candidate
3. **Curation**: ProjectManager/Architect reviews and approves 3. **Curation**: ProjectManager/Architect reviews and approves
4. **Archival**: Stored in docs/architecture/adr/ (numbered, immutable) 4. **Archival**: Stored in docs/adrs/ (numbered, immutable)
--- ---

View File

@ -527,7 +527,7 @@ cargo run --example production_setup
## Referencias ## Referencias
- **ADR**: `docs/architecture/decisions/008-recursive-language-models-integration.md` - **ADR**: `docs/adrs/0029-rlm-recursive-language-models.md`
- **Production Guide**: `crates/vapora-rlm/PRODUCTION.md` - **Production Guide**: `crates/vapora-rlm/PRODUCTION.md`
- **API Docs**: `cargo doc --open -p vapora-rlm` - **API Docs**: `cargo doc --open -p vapora-rlm`
- **Tests**: `crates/vapora-rlm/tests/` - **Tests**: `crates/vapora-rlm/tests/`

View File

@ -3,7 +3,6 @@
# ║ Targets, cross-compilation, and distribution ║ # ║ Targets, cross-compilation, and distribution ║
# ╚══════════════════════════════════════════════════════════════════════╝ # ╚══════════════════════════════════════════════════════════════════════╝
# Help for distro module
distro-help: distro-help:
@echo "DISTRIBUTION & TARGET MODULE" @echo "DISTRIBUTION & TARGET MODULE"
@echo "" @echo ""
@ -17,18 +16,20 @@ distro-help:
@echo " just distro::build-all-targets Build for all installed targets" @echo " just distro::build-all-targets Build for all installed targets"
@echo "" @echo ""
@echo "Installation:" @echo "Installation:"
@echo " just distro::install Install binaries to ~/.local/bin" @echo " just distro::install Install server binaries to ~/.local/bin"
@echo " just distro::install DIR=/path Install to custom directory" @echo " just distro::install DIR=/path Install to custom directory"
@echo " just distro::install UI=true Also build frontend (trunk --release)"
@echo ""
@echo " Binaries installed: vapora-backend, vapora-agents, vapora-mcp-server,"
@echo " vapora-a2a, vapora (CLI)"
@echo "" @echo ""
@echo "Utilities:" @echo "Utilities:"
@echo " just distro::clean-targets Clean target build artifacts" @echo " just distro::clean-targets Clean target build artifacts"
# Workspace root directory - justfile_directory() returns vapora directory when called from module
WORKSPACE_ROOT := justfile_directory() WORKSPACE_ROOT := justfile_directory()
# === TARGETS === # === TARGETS ===
# List all installed Rust targets
[doc("List installed Rust targets")] [doc("List installed Rust targets")]
list-targets: list-targets:
@echo "=== Installed Rust Targets ===" @echo "=== Installed Rust Targets ==="
@ -40,9 +41,9 @@ list-targets:
@echo " aarch64-apple-darwin macOS ARM64 (Apple Silicon)" @echo " aarch64-apple-darwin macOS ARM64 (Apple Silicon)"
@echo " aarch64-unknown-linux-gnu Linux ARM64" @echo " aarch64-unknown-linux-gnu Linux ARM64"
@echo " x86_64-pc-windows-gnu Windows x86_64" @echo " x86_64-pc-windows-gnu Windows x86_64"
@echo " wasm32-unknown-unknown WebAssembly (frontend)"
# Install common cross-compilation targets [doc("Install common cross-compile targets including wasm32")]
[doc("Install common cross-compile targets")]
install-targets: install-targets:
#!/usr/bin/env bash #!/usr/bin/env bash
set -e set -e
@ -53,14 +54,18 @@ install-targets:
"aarch64-apple-darwin" "aarch64-apple-darwin"
"aarch64-unknown-linux-gnu" "aarch64-unknown-linux-gnu"
"x86_64-pc-windows-gnu" "x86_64-pc-windows-gnu"
"wasm32-unknown-unknown"
) )
for target in "${TARGETS[@]}"; do for target in "${TARGETS[@]}"; do
echo "Installing $target..." if rustup target list --installed | grep -q "$target"; then
rustup target add "$target" || echo " ⊘ $target (already installed)" echo " ✓ $target (already installed)"
else
echo " Installing $target..."
rustup target add "$target"
fi
done done
echo "✓ Targets installed" echo "✓ Targets installed"
# Install specific Rust target
[doc("Install specific Rust target")] [doc("Install specific Rust target")]
install-target TARGET: install-target TARGET:
#!/usr/bin/env bash #!/usr/bin/env bash
@ -71,7 +76,6 @@ install-target TARGET:
# === BUILD === # === BUILD ===
# Build for specific target
[doc("Build for specific target")] [doc("Build for specific target")]
build-target TARGET: build-target TARGET:
#!/usr/bin/env bash #!/usr/bin/env bash
@ -81,14 +85,13 @@ build-target TARGET:
cargo build --release --target "{{TARGET}}" --workspace cargo build --release --target "{{TARGET}}" --workspace
echo "✓ Build complete for {{TARGET}}" echo "✓ Build complete for {{TARGET}}"
# Build for all installed targets [doc("Build for all installed targets (excludes wasm32 — use frontend-build-release for that)")]
[doc("Build for all installed targets")]
build-all-targets: build-all-targets:
#!/usr/bin/env bash #!/usr/bin/env bash
set -e set -e
echo "=== Building for all targets ===" echo "=== Building for all native targets ==="
cd "{{ WORKSPACE_ROOT }}" cd "{{ WORKSPACE_ROOT }}"
TARGETS=$(rustup target list | grep installed | awk '{print $1}') TARGETS=$(rustup target list --installed | grep -v wasm32)
for target in $TARGETS; do for target in $TARGETS; do
echo "" echo ""
echo "Building for $target..." echo "Building for $target..."
@ -99,21 +102,27 @@ build-all-targets:
echo "✓ $target complete" echo "✓ $target complete"
done done
echo "" echo ""
echo "✓ All target builds complete" echo "✓ All native target builds complete"
# === INSTALLATION === # === INSTALLATION ===
# Build and install release binaries (default: ~/.local/bin) # Build and install all release binaries.
[doc("Build and install binaries (default: ~/.local/bin or DIR=<path>)")] #
install DIR="": # Usage:
# just distro::install → ~/.local/bin, native only
# just distro::install DIR=/usr/local/bin → custom dir, native only
# just distro::install UI=true → ~/.local/bin + trunk --release
# just distro::install DIR=/opt UI=true → custom dir + trunk --release
#
# Binaries: vapora-backend, vapora-agents, vapora-mcp-server, vapora-a2a, vapora (CLI)
[doc("Build and install server binaries (DIR=path, UI=true for frontend)")]
install DIR="" UI="false":
#!/bin/bash #!/bin/bash
set -e set -e
# Normalize workspace path using shell
WORKSPACE="{{ WORKSPACE_ROOT }}" WORKSPACE="{{ WORKSPACE_ROOT }}"
WORKSPACE="$(cd "$WORKSPACE" && pwd)" || { echo "✗ Failed to access workspace"; exit 1; } WORKSPACE="$(cd "$WORKSPACE" && pwd)" || { echo "✗ Failed to access workspace"; exit 1; }
# Resolve install directory
if [ -z "{{ DIR }}" ]; then if [ -z "{{ DIR }}" ]; then
INSTALL_DIR="$HOME/.local/bin" INSTALL_DIR="$HOME/.local/bin"
else else
@ -121,77 +130,99 @@ install DIR="":
fi fi
echo "=== Building and Installing VAPORA binaries ===" echo "=== Building and Installing VAPORA binaries ==="
echo "Build workspace: $WORKSPACE" echo "Workspace: $WORKSPACE"
echo "Install directory: $INSTALL_DIR" echo "Install directory: $INSTALL_DIR"
echo "Frontend (UI): {{ UI }}"
echo "" echo ""
# First, build release binaries # Build all server binaries in one pass (Cargo deduplicates shared deps)
echo "📦 Building release binaries..." echo "Building release binaries..."
cd "$WORKSPACE" || exit 1 cd "$WORKSPACE"
cargo build --release -p vapora-backend -p vapora-agents --quiet cargo build --release \
echo "✓ Build complete" -p vapora-backend \
-p vapora-agents \
-p vapora-mcp-server \
-p vapora-a2a \
-p vapora-cli \
--quiet
echo "✓ Native binaries built"
echo "" echo ""
# Create installation directory # Optionally build the Leptos frontend via trunk
mkdir -p "$INSTALL_DIR" || { echo "✗ Failed to create directory"; exit 1; } if [ "{{ UI }}" = "true" ]; then
echo "Installing binaries to $INSTALL_DIR..." if ! command -v trunk &>/dev/null; then
echo "✗ trunk not found. Install with: cargo install trunk"
exit 1
fi
echo "Building frontend (trunk --release)..."
cd "$WORKSPACE/crates/vapora-frontend"
trunk build --release
echo "✓ Frontend built → $WORKSPACE/crates/vapora-frontend/dist"
cd "$WORKSPACE"
echo ""
fi
# Track installations # Copy binaries to install dir
INSTALLED=0 mkdir -p "$INSTALL_DIR" || { echo "✗ Failed to create $INSTALL_DIR"; exit 1; }
echo "Installing to $INSTALL_DIR..."
# Define all binaries to install
declare -a BINARIES=( declare -a BINARIES=(
"vapora-backend" "vapora-backend"
"vapora-agents" "vapora-agents"
"vapora-mcp-server" "vapora-mcp-server"
"vapora-a2a"
"vapora" "vapora"
) )
# Install each binary INSTALLED=0
MISSING=0
for BIN_NAME in "${BINARIES[@]}"; do for BIN_NAME in "${BINARIES[@]}"; do
BIN_PATH="$WORKSPACE/target/release/$BIN_NAME" BIN_PATH="$WORKSPACE/target/release/$BIN_NAME"
if [ -f "$BIN_PATH" ]; then if [ -f "$BIN_PATH" ]; then
cp "$BIN_PATH" "$INSTALL_DIR/" cp "$BIN_PATH" "$INSTALL_DIR/"
chmod +x "$INSTALL_DIR/$BIN_NAME" chmod +x "$INSTALL_DIR/$BIN_NAME"
echo " ✓ $BIN_NAME" echo " ✓ $BIN_NAME"
INSTALLED=$((INSTALLED + 1)) INSTALLED=$((INSTALLED + 1))
else
echo " ✗ $BIN_NAME (not found in target/release — build may have failed)"
MISSING=$((MISSING + 1))
fi fi
done done
# Show warning if no binaries found
if [ $INSTALLED -eq 0 ]; then
echo " ⊘ No binaries found in $WORKSPACE/target/release"
fi
echo "" echo ""
if [ $INSTALLED -eq 0 ]; then if [ "$INSTALLED" -eq 0 ]; then
echo "✗ No binaries were installed" echo "✗ No binaries were installed"
exit 1 exit 1
fi fi
echo "✓ Installation complete ($INSTALLED binaries installed)" if [ "$MISSING" -gt 0 ]; then
echo "" echo "⚠ $MISSING binaries missing — check build output above"
echo "📋 Installation summary:" fi
echo " Install dir: $INSTALL_DIR"
echo " Binaries: $(ls -1 "$INSTALL_DIR"/vapora-* 2>/dev/null | xargs -I {} basename {})" echo "✓ Installation complete ($INSTALLED/$((INSTALLED + MISSING)) binaries)"
echo "" echo ""
echo "Install dir: $INSTALL_DIR"
if echo "$INSTALL_DIR" | grep -q "\.local/bin"; then if echo "$INSTALL_DIR" | grep -q "\.local/bin"; then
echo "⚠️ Shell setup required:" echo ""
echo " export PATH=\"\$PATH:$INSTALL_DIR\"" echo "Ensure PATH includes $INSTALL_DIR:"
echo " Or add to ~/.bashrc/.zshrc for persistent setup" echo " export PATH=\"\$PATH:$INSTALL_DIR\""
fi fi
echo "" echo ""
echo "🧪 Verify installation:" echo "Verify:"
echo " $INSTALL_DIR/vapora-backend --help" echo " $INSTALL_DIR/vapora-backend --help"
echo " $INSTALL_DIR/vapora-agents --help" echo " $INSTALL_DIR/vapora-agents --help"
echo " $INSTALL_DIR/vapora-a2a --help"
if [ "{{ UI }}" = "true" ]; then
echo ""
echo "Frontend dist: $WORKSPACE/crates/vapora-frontend/dist"
fi
echo "" echo ""
# === UTILITIES === # === UTILITIES ===
# Clean target build artifacts
[doc("Clean all target build artifacts")] [doc("Clean all target build artifacts")]
clean-targets: clean-targets:
@echo "=== Cleaning target artifacts ===" @echo "=== Cleaning target artifacts ==="