$ show renatoasse/opensquad
Opensquad is a multi-agent orchestration framework that enables users to create, manage, and run teams of AI agents (squads) for automated content workflows. The system is primarily a CLI tool (`npx opensquad init`) that bootstraps projects with agent definitions, pipeline configurations, and IDE integrations. It includes a Phaser-based 2D dashboard that visualizes agents working in a virtual office, updated in real-time via WebSocket. The architecture is file-based: squads are defined as YAML/Markdown files in `squads/`, pipelines as step sequences with bash validation gates, and skills as self-contained directories with `SKILL.md` manifests. The framework supports multiple content formats (Instagram carousels, blog posts, email newsletters) through a best-practices catalog and platform-specific Sherlock investigators that extract real engagement data from social media profiles. Key entry points include `bin/opensquad.js` (CLI dispatcher), `src/init.js` (project initialization), `src/update.js` (core file updates), `src/skills.js` (skill registry management), and `src/agents.js` (agent management). The dashboard is a React + Vite app with a Phaser scene (`OfficeScene.ts`) that renders pixel-art sprites and desks. External dependencies include Node.js 20+, Playwright (for browser automation and image rendering), and various MCP services (Apify, Canva, Blotato, Resend). The system is designed for non-technical users and emphasizes zero-config setup, progressive disclosure of complexity, and token-efficient phased execution (discovery → investigation → design → build).
The LLM identified 4 files worth highlighting for reuse:
Self-contained localization module that loads locale JSON files (en, pt-BR, es) and provides `t()` for string interpolation, `loadLocale()`, and `getLocaleCode()`. Used across all CLI interactions. Could be extracted into any Node.js project needing i18n with minimal modification.
JSONL logger that writes structured events to `_opensquad/logs/cli.log` with `logEvent()` and reads them back with `readCliLogs()`. Includes silent fallback when file is unwritable. Demonstrates clean separation of concerns and is reusable in any CLI tool requiring audit trails.
Wraps `@inquirer/*` packages to provide `createPrompt()` for input, select, and checkbox prompts, plus a custom `multiChoose()` using `@inquirer/checkbox`. Handles error states and provides a consistent interface. Could be extracted as a standalone helper for any Node.js CLI project.
Phaser scene builder that constructs a 2D office layout from a tile map and places agent sprites with desks. Uses asset key constants and palette definitions for pixel-art consistency. Demonstrates a clean pattern for programmatic scene generation in Phaser, reusable for any game or visualization project using similar tile-based rendering.