Files
antigravity-skills-reference/skills/loki-mode/demo/run-demo-auto.sh

294 lines
6.4 KiB
Bash
Executable File

#!/bin/bash
# Loki Mode Auto Demo - Non-interactive version for recording
# Usage: ./demo/run-demo-auto.sh
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
# Colors
GREEN='\033[0;32m'
BLUE='\033[0;34m'
YELLOW='\033[1;33m'
CYAN='\033[0;36m'
MAGENTA='\033[0;35m'
NC='\033[0m'
# Demo output helpers
banner() {
echo ""
echo -e "${CYAN}========================================${NC}"
echo -e "${CYAN} $1${NC}"
echo -e "${CYAN}========================================${NC}"
echo ""
sleep 1
}
step() {
echo -e "${GREEN}>>> $1${NC}"
sleep 0.5
}
info() {
echo -e "${BLUE} $1${NC}"
sleep 0.3
}
agent() {
echo -e "${MAGENTA} [$1]${NC} $2"
sleep 0.3
}
# Clear screen
clear
# Introduction
banner "LOKI MODE"
echo -e "${CYAN}Multi-Agent Autonomous Startup System${NC}"
echo ""
echo "From PRD to Production - Zero Human Intervention"
echo ""
sleep 2
# Show PRD
banner "STEP 1: Product Requirements"
step "PRD: Simple Todo App"
echo ""
cat << 'EOF'
Features:
- Add Todo - Create new task
- View Todos - List all tasks
- Complete - Mark task done
- Delete - Remove task
Tech Stack:
- React + TypeScript (Frontend)
- Express + SQLite (Backend)
EOF
echo ""
sleep 3
# Bootstrap
banner "STEP 2: Bootstrap Phase"
step "Initializing Loki Mode..."
sleep 1
echo ""
echo ".loki/"
echo " CONTINUITY.md <- Working memory"
echo " queue/"
echo " pending.json <- Task queue"
echo " in-progress.json"
echo " completed.json"
echo " state/"
echo " orchestrator.json <- Phase tracking"
echo " specs/"
echo " openapi.yaml <- API specification"
echo ""
sleep 2
# Discovery
banner "STEP 3: Discovery Phase"
step "Analyzing PRD and generating tasks..."
sleep 1
echo ""
echo "Tasks Generated:"
echo " [1] Set up Express backend"
echo " [2] Create SQLite database schema"
echo " [3] Implement GET /api/todos"
echo " [4] Implement POST /api/todos"
echo " [5] Implement PUT /api/todos/:id"
echo " [6] Implement DELETE /api/todos/:id"
echo " [7] Set up React with Vite"
echo " [8] Create TodoList component"
echo " [9] Create AddTodo component"
echo " [10] Write unit tests"
echo " [11] Write integration tests"
echo ""
info "11 tasks added to pending queue"
sleep 2
# Architecture
banner "STEP 4: Architecture Phase"
step "Creating OpenAPI specification..."
sleep 1
echo ""
cat << 'EOF'
openapi: 3.0.0
info:
title: Todo API
version: 1.0.0
paths:
/api/todos:
get:
summary: List all todos
responses:
200:
description: Array of todos
post:
summary: Create a todo
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TodoInput'
EOF
echo ""
info "Spec-first development: API defined before code"
sleep 2
# Agent Spawning
banner "STEP 5: Agent Orchestration"
step "Spawning specialized agents..."
echo ""
agent "SPAWN" "agent-backend-001 (Sonnet) - Backend implementation"
sleep 0.5
agent "SPAWN" "agent-frontend-001 (Sonnet) - Frontend development"
sleep 0.5
agent "SPAWN" "agent-database-001 (Haiku) - Database setup"
sleep 0.5
agent "SPAWN" "agent-qa-001 (Haiku) - Test execution"
echo ""
info "4 agents working in parallel"
info "Haiku for simple tasks, Sonnet for implementation"
sleep 2
# Development
banner "STEP 6: Development Phase"
echo ""
agent "backend-001" "Implementing Express server..."
sleep 0.8
agent "database-001" "Creating SQLite schema..."
sleep 0.5
agent "database-001" "DONE: Database ready"
sleep 0.3
agent "backend-001" "Implementing API endpoints..."
sleep 1
agent "frontend-001" "Setting up React + Vite..."
sleep 0.8
agent "backend-001" "DONE: All endpoints implemented"
sleep 0.3
agent "frontend-001" "Creating components..."
sleep 1
agent "qa-001" "Running unit tests..."
sleep 0.5
agent "frontend-001" "DONE: UI complete"
sleep 0.3
agent "qa-001" "DONE: 24/24 tests passing"
echo ""
sleep 2
# Code Review
banner "STEP 7: Code Review (Anti-Sycophancy)"
step "Launching 3 parallel reviewers (Opus model)..."
echo ""
echo " [1/3] Code Quality Reviewer"
echo " - SOLID principles"
echo " - Best practices"
echo " - Maintainability"
sleep 0.5
echo ""
echo " [2/3] Business Logic Reviewer"
echo " - Requirements alignment"
echo " - Edge cases"
echo " - User experience"
sleep 0.5
echo ""
echo " [3/3] Security Reviewer"
echo " - OWASP Top 10"
echo " - Input validation"
echo " - SQL injection"
echo ""
sleep 1.5
step "Review Results (Blind Review Mode):"
echo ""
echo -e " Code Quality: ${GREEN}APPROVED${NC} (0 issues)"
sleep 0.3
echo -e " Business Logic: ${GREEN}APPROVED${NC} (0 issues)"
sleep 0.3
echo -e " Security: ${GREEN}APPROVED${NC} (0 issues)"
echo ""
sleep 1
step "All approved - Running Devil's Advocate..."
sleep 1
echo ""
echo -e " Devil's Advocate: ${GREEN}APPROVED${NC}"
echo " Found 1 Low severity suggestion (added as TODO)"
echo ""
info "Anti-sycophancy protocol prevents groupthink"
sleep 2
# Quality Gates
banner "STEP 8: Quality Gates"
echo ""
echo "Static Analysis:"
echo -e " ESLint: ${GREEN}PASS${NC} (0 errors)"
echo -e " TypeScript: ${GREEN}PASS${NC} (strict mode)"
echo -e " CodeQL: ${GREEN}PASS${NC} (no vulnerabilities)"
echo ""
sleep 1
echo "Test Coverage:"
echo -e " Unit Tests: ${GREEN}24/24 PASS${NC} (92% coverage)"
echo -e " Integration Tests: ${GREEN}8/8 PASS${NC}"
echo ""
sleep 1
echo -e "Quality Gate: ${GREEN}PASSED${NC}"
echo ""
sleep 2
# CONTINUITY.md
banner "STEP 9: Memory System"
step "CONTINUITY.md - Working Memory"
echo ""
cat << 'EOF'
## Current State
Phase: DEVELOPMENT (complete)
Tasks: 11/11 done
## Decisions Made
- SQLite for simplicity (per PRD)
- React Query for data fetching
- TailwindCSS for styling
## Mistakes & Learnings
- Express handlers need explicit return types
- Run npm install before tests
EOF
echo ""
info "Context persists across sessions"
info "Learnings improve future runs"
sleep 2
# Completion
banner "COMPLETE"
echo ""
echo -e "${GREEN}Todo App Successfully Generated!${NC}"
echo ""
echo " Files created: 24"
echo " Tests passing: 32"
echo " Code coverage: 92%"
echo " Time elapsed: 8m 42s"
echo " Human input: 0"
echo ""
sleep 2
echo -e "${CYAN}From PRD to Production${NC}"
echo -e "${CYAN}Zero Human Intervention${NC}"
echo ""
echo "github.com/asklokesh/loki-mode"
echo ""
sleep 3