Arvore Repo Hub

CLI Reference

Install globally with npm i -g @arvoretech/hub, then run commands as hub <command>. You can also use npx @arvoretech/hub <command> without installing.

Setup & Init

hub init [name]

Create a new hub workspace with an interactive TUI:

hub init my-hub

Launches a multi-step wizard that guides you through:

  1. Naming your workspace
  2. Choosing your AI editor (Cursor, Kiro, Claude Code, OpenCode)
  3. Adding repositories with tech stack detection
  4. Selecting agents and skills from the directory registry
  5. Picking MCP servers for infrastructure access
  6. Choosing config format (YAML or TypeScript)

Creates a directory with the config file (hub.yaml or hub.config.ts), .gitignore, README.md, and installs selected agents and skills from the registry.

hub setup

Full workspace setup — clone repos, start services, install tools, generate env files, install dependencies:

hub setup
hub setup --skip-services
hub setup --skip-install
hub setup --skip-tools
FlagDescription
--skip-servicesSkip Docker service startup
--skip-installSkip dependency installation
--skip-toolsSkip tool installation via mise

hub clone

Clone all repositories defined in your config without running the full setup:

hub clone
hub clone --ssh      # Force SSH clone
hub clone --https    # Force HTTPS clone via gh CLI
FlagDescription
--sshForce SSH clone (default if SSH is available)
--httpsForce HTTPS clone via gh CLI

Skips repos that already exist locally. Useful when you only need the code without services, tools, or dependency installation.

hub doctor

Check required dependencies and tool versions:

hub doctor

Checks: git, docker, node (required), pnpm, mise, gh, aws (recommended), plus any tools declared in hub.yaml.

hub generate

Generate editor configuration files from your config (hub.yaml or hub.config.ts):

hub generate --editor cursor       # Cursor IDE (default)
hub generate --editor claude-code  # Claude Code (CLAUDE.md)
hub generate --editor kiro         # Kiro IDE
hub generate --editor opencode      # OpenCode CLI
hub generate --check               # Check if configs are outdated (exit 1 if outdated)
FlagDescription
-e, --editor <editor>Target editor (cursor, claude-code, kiro, opencode)
--reset-editorReset saved editor preference and choose again
--checkCheck if generated configs are outdated without regenerating. Exits with code 1 if outdated, 0 if up to date. Useful in CI and editor hooks.

Produces:

  • Cursor: .cursor/rules/orchestrator.mdc, .cursor/rules/<steering>.mdc, .cursor/agents/, .cursor/skills/, .cursor/skills/hub-docs/, .cursor/commands/, .cursor/hooks.json, .cursor/mcp.json, <name>.code-workspace, .gitignore, .cursorignore
  • Claude Code: CLAUDE.md (with steering appended), .claude/agents/, .claude/skills/, .claude/skills/hub-docs/, .claude/settings.json (with hooks), .mcp.json, .gitignore
  • Kiro: .kiro/steering/orchestrator.md, .kiro/steering/<steering>.md, .kiro/agents/, .kiro/skills/, .kiro/skills/hub-docs/, .kiro/settings/mcp.json, AGENTS.md, <name>.code-workspace, .gitignore
  • OpenCode: opencode.json, .opencode/rules/orchestrator.md, .opencode/rules/<steering>.md, .opencode/agents/, .opencode/skills/, .opencode/skills/hub-docs/, .opencode/commands/, .opencode/plugins/hub-hooks.js, .gitignore

All editors get steering files from the steering/ directory copied in their native format, and a hub-docs skill auto-fetched from hub.arvore.com.br.

When generating for Kiro, the CLI asks whether you use Kiro as an IDE or CLI. This affects how environment variables are referenced in MCP configs (${VAR} for IDE vs ${env:VAR} for CLI). The choice is saved in .hub/config.json and reused on subsequent runs.

Repositories

hub add-repo <url>

Add a repository to the hub:

hub add-repo git@github.com:company/api.git
hub add-repo git@github.com:company/api.git --name api --tech nestjs
FlagDescription
-n, --name <name>Repository name (defaults to repo name from URL)
-t, --tech <tech>Technology stack (nestjs, nextjs, elixir, react, etc.)

hub pull

Pull latest changes in all repositories:

hub pull

hub status

Show git status for all repositories:

hub status

Shows: current branch, number of changed files, commits ahead/behind upstream.

hub exec <command>

Execute a command in all repositories:

hub exec "git checkout main"
hub exec "git stash"
hub exec "pnpm outdated"

hub scan

Detect unregistered repositories and unsynced assets (skills, agents, steering, MCPs) in the workspace:

hub scan          # Interactive — select which repos to add and assets to sync
hub scan --yes    # Auto-add all repos and sync all assets without prompting
hub scan --check  # Check for unsynced repos/assets (exit 1 if found)
FlagDescription
-y, --yesAuto-add all repos and sync all assets without prompting
--checkCheck for unsynced repos and assets without prompting. Exits with code 1 if any are found, 0 if all synced. Useful in CI and pre-commit hooks.

The command performs three passes:

  1. Scans the workspace root for directories containing a .git folder not listed in hub.yaml, auto-detecting the tech stack and git remote URL.
  2. Scans editor directories (.kiro, .cursor, .opencode, .claude) for skills, agents, and steering files that don’t exist in the canonical skills/, agents/, or steering/ folders, and offers to sync them.
  3. Scans editor MCP configs (.cursor/mcp.json, .kiro/settings/mcp.json, .mcp.json, opencode.json) for MCP servers not declared in hub.yaml and reports them.

See Scan for full documentation.

Environment

hub env [profile]

Generate environment files from hub.yaml profiles:

hub env local     # Local Docker services (no AWS)
hub env staging   # Staging secrets from AWS
hub env prod      # Production secrets (careful!)

Default profile: local. See Environment for full documentation.

Services

hub services [action]

Manage Docker development services:

hub services up        # Start services
hub services down      # Stop services
hub services restart   # Restart services
hub services ps        # Show status
hub services logs      # Follow all logs
hub services logs mysql  # Follow specific service logs
hub services clean     # Stop and remove volumes

See Services for configuration details.

Tools

hub tools [subcommand]

Manage development tool versions via mise:

hub tools generate             # Generate .mise.toml files
hub tools install              # Install tools
hub tools install --generate   # Generate + install
hub tools check                # Verify versions match

See Tools for configuration details.

Directory

hub directory [query]

Browse the curated Repo Hub directory of skills, agents, hooks, and commands:

hub directory                     # Open the full directory
hub dir                           # Short alias
hub directory "aws"               # Search for "aws"
hub directory -t skill            # Filter by type
hub directory -t hook "session"   # Combine type filter + search
FlagDescription
-t, --type <type>Filter by type: skill, agent, hook, command

Each resource type also has its own find subcommand:

hub skills find react             # Browse skills
hub agents find aws               # Browse agents
hub hooks find                    # Browse hooks
hub commands find                 # Browse commands

Skills

hub skills [subcommand]

Manage agent skills. Browse curated skills in the Directory.

hub skills list                                            # List installed skills
hub skills find react                                      # Browse curated skills in the directory
hub skills add backend-nestjs                              # Install from registry (by name)
hub skills add vercel-labs/agent-skills/react-best-practices  # Specific skill from GitHub
hub skills add vercel-labs/agent-skills                    # All skills from a GitHub repo
hub skills add vercel-labs/agent-skills --list             # List remote skills
hub skills add git@github.com:company/skills.git           # Install from git URL
hub skills add ./my-local-skills                           # Install from local path
hub skills add backend-nestjs --global                     # Install globally
hub skills remove backend-nestjs                           # Remove a skill
FlagDescription
-s, --skill <name>Install a specific skill only (for repo sources)
-g, --globalInstall to/remove from global ~/.cursor/skills/
-r, --repo <repo>Override registry repository
-l, --listList available skills without installing

See Skills for more details.

Agents

hub agents [subcommand]

Manage agent definitions:

hub agents list                    # List installed agents
hub agents add debugger            # Install from registry (by name)
hub agents add arvoreeducacao/rhm  # Install from GitHub repo
hub agents add debugger --global   # Install globally
hub agents remove debugger         # Remove an agent
hub agents sync                    # Install all agents from hub.yaml pipeline
hub agents sync --force            # Re-install all, even if they exist
FlagDescription
-a, --agent <name>Install a specific agent only
-g, --globalInstall to/remove from global ~/.cursor/agents/
-r, --repo <repo>Override registry repository
-f, --forceRe-install even if already installed (sync only)

See Agents for more details.

Hooks

hub hooks [subcommand]

Manage editor hooks:

hub hooks list                          # List installed hooks
hub hooks find                          # Browse curated hooks in the directory
hub hooks add format-on-save            # Install from registry
hub hooks add company/shared-hooks      # Install from GitHub repo
hub hooks add ./my-hooks                # Install from local path
hub hooks remove format-on-save         # Remove a hook
FlagDescription
--hook <name>Install a specific hook only (for repo sources)
-r, --repo <repo>Override registry repository

See Hooks for more details.

Commands

hub commands [subcommand]

Manage slash commands (Cursor and OpenCode):

hub commands list                       # List installed commands
hub commands find                       # Browse curated commands in the directory
hub commands add review                 # Install from registry
hub commands add company/shared-cmds    # Install from GitHub repo
hub commands add ./my-commands          # Install from local path
hub commands remove review              # Remove a command
FlagDescription
-c, --command <name>Install a specific command only (for repo sources)
-r, --repo <repo>Override registry repository

See Commands for more details.

Memory

hub memory [subcommand]

Manage team memories — persistent knowledge base for AI context:

hub memory list                                        # List all memories
hub memory list --category decisions                   # Filter by category
hub memory list --status archived                      # Show archived
hub memory add decisions "Use PostgreSQL"              # Create a memory
hub memory add conventions "API naming" --tags "rest,api" --author joao
hub memory add gotchas "Sentry v8 leak" --content "Sentry SDK v8 causes memory leak with NestJS interceptors"
hub memory archive 2024-06-01-use-postgresql           # Soft-delete
hub memory remove 2024-06-01-use-postgresql            # Permanent delete
FlagDescription
-c, --category <cat>Filter by category
-s, --status <status>Filter by status (active, archived, superseded)
-t, --tags <tags>Comma-separated tags
-a, --author <author>Author name
--content <content>Memory content (otherwise opens template)

Categories: decisions, conventions, incidents, domain, gotchas.

The @arvoretech/memory-mcp provides semantic search via MCP so AI agents can query your team’s knowledge base on-demand.

See Memory for full documentation.

Consolidation

hub consolidate

Extract knowledge from chat sessions across editors into team memories:

hub consolidate                    # Process last 20 sessions from all editors
hub consolidate --last 50          # Last 50 sessions
hub consolidate --since 2026-03-01 # Only sessions after this date
hub consolidate --editor kiro      # Only from Kiro
hub consolidate --editor claude    # Only from Claude Code
hub consolidate --cli claude       # Use Claude CLI for extraction
hub consolidate --dry-run          # Preview batch without extracting
hub consolidate --reset            # Reset state and reprocess all
FlagDescription
-n, --last <count>Number of recent sessions to process (default: 20)
-s, --since <date>Only process sessions after this date (YYYY-MM-DD)
-e, --editor <editor>Editor to collect from: kiro, claude, opencode, all (default: all)
--cli <cli>Editor CLI to use for extraction: kiro-cli, claude, opencode
--dry-runShow batch content without running extraction
--resetReset consolidation state and reprocess all sessions

The command auto-detects which editor CLIs are installed and uses the first one found. Sessions already processed are tracked in .hub/consolidation-state.json and skipped on subsequent runs.

See Memory — Consolidation for full documentation.

Registry

hub registry [subcommand]

Browse skills, agents, hooks, and commands available in the registry:

hub registry list                    # List everything
hub registry list --type hook        # List hooks only
hub registry search "nestjs"         # Search by keyword
hub registry search --type skill     # Filter by type
hub registry search --type command   # Filter by type
FlagDescription
-t, --type <type>Filter by type: skill, agent, hook, command
-r, --repo <repo>Override registry repository

Worktrees

hub worktree [subcommand]

Manage git worktrees for parallel work:

hub worktree add feature-login    # Create worktree + copy envs
hub worktree list                 # List all worktrees
hub worktree remove feature-login # Remove a worktree
hub worktree copy-envs            # Copy env files to current dir
hub worktree copy-envs feature-login  # Copy to specific worktree

See Worktrees for more details.

Sandbox

hub sandbox [action]

Manage the AIO Sandbox environment:

hub sandbox up       # Start the sandbox container
hub sandbox down     # Stop the sandbox container
hub sandbox status   # Check if running (default)
hub sandbox logs     # Follow container logs
hub sandbox open     # Open VSCode Server in browser

Requires a service with type: sandbox in your config. See Services — Sandbox for configuration details.

Update

hub update

Update the hub CLI to the latest version:

hub update           # Update to latest
hub update --check   # Check for updates without installing

Automatically detects your package manager (pnpm, npm, or yarn) and runs the appropriate global install command.

FlagDescription
--checkOnly check for updates, don’t install

Persona

hub persona

Set up your personal AI profile — adapts how the agent communicates with you:

hub persona

Launches an interactive TUI that asks your name, role, technical level, extra context, and preferred language. Saves to .hub/persona.yaml (local, gitignored).

When you run hub generate, the persona is injected into AGENTS.md so the AI adapts its communication style to you — whether you’re a CEO who wants business summaries or a senior dev who wants raw technical details.

See Persona for full documentation.