ChatUp CLI Capability Map¶
This page is the concise capability map for the current ChatUp CLI. Use it to check which machine bootstrap, local-service, and agent-toolchain workflows have first-class commands, and which boundaries still belong to sibling projects or system operations.
For complete options, default paths, and command contracts, see Command Reference. For the new-machine path, see Quick Start.
Top-level Commands¶
chatup
|-- doctor # Check that ChatUp is callable
|-- uv # Install uv and create the default ChatArch Python runtime
|-- workspace # Initialize the ChatArch workspace scaffold
|-- nodejs # Install default LTS Node.js (nvm on POSIX; ChatArch portable ZIP on Windows)
|-- docker # Check Docker and show sudo guidance when needed
|-- zsh # Configure zsh / oh-my-zsh / plugins / aliases
|-- chrome # Install regular Google Chrome for the current OS
|-- snipaste # Install Snipaste on macOS or Windows
|-- iterm # Install iTerm2 (macOS only)
|-- macos # Select supported macOS apps, including Blender on Apple Silicon
|-- remotion # Initialize a locked local video project
|-- chrome-for-testing # Manage Google Chrome for Testing browsers
|-- chromedriver # Manage ChromeDriver WebDriver servers
|-- playwright # Manage Playwright packages and Chromium browsers
|-- frp # Install FRP Client/Server
|-- gitea # Install ChatTea-compatible Gitea runtime/config/service
|-- glance # Install a verified loopback ChatArch Glance runtime
|-- mysql # Install ChatData-compatible MySQL runtime/instance/service
|-- nginx # Prepare user-level NGINX runtime and entry templates
|-- crs # Install local Claude Relay Service + Redis + smoke check
|-- cc-connect # Install CC Connect CLI and runtime dependencies
|-- claude # Configure Claude Code CLI and config files
|-- chatgpt # Install the new ChatGPT desktop app (includes Codex)
|-- codex # Configure Codex CLI and config files (uses CODEX_HOME when set)
|-- opencode # Configure OpenCode CLI and config files
|-- hermes # Install Hermes Agent and optional WebUI
`-- lark-cli # Configure official lark-cli with ChatEnv Feishu config
Capability Groups¶
-
Base Runtime
uv,nodejs,docker,zsh,chrome-for-testing,chromedriver,playwright, andfrpprepare common dependencies for a new machine.doctoris the minimum health check. -
Local Services
gitea,glance,mysql,nginx, andcrsprepare common ChatArch local services with user-level defaults under~/.chatarch/.... -
Agent Toolchains
claude,codex,opencode,hermes,cc-connect, andlark-cliconfigure model CLIs, agent runtimes, and Feishu/Lark tooling. -
Workspace Scaffold
workspacecreates the ChatArch workspace directories such asAGENTS.md,projects/,core/,skills/, andpublic/.
Base Runtime¶
chatup doctor # Check that the CLI is callable
chatup uv # Install/reuse uv and create ~/.chatarch/venv
chatup nodejs # Install default LTS Node.js (nvm on POSIX; ChatArch portable ZIP on Windows)
chatup docker # Check Docker daemon and current-user permissions
chatup zsh # Configure zsh / oh-my-zsh / plugins / aliases
chatup chrome-for-testing # Manage versioned Google Chrome for Testing browsers
chatup chromedriver # Manage ChromeDriver WebDriver servers
chatup playwright # Manage Playwright packages and Chromium browsers
chatup frp # Install FRP Client/Server
These commands only prepare the dependencies ChatArch commonly needs. They are not a general-purpose OS package-management layer. On Windows, chatup nodejs first reads a suitable Node/npm runtime from the current PATH; otherwise it installs an official Node.js LTS portable ZIP verified against the official SHA-256 manifest under $CHATARCH_HOME/nodejs, and npm runs through the detected node.exe and npm-cli.js argv list. Global packages installed through that managed runtime use $CHATARCH_HOME/nodejs/npm, not a system npm prefix. Running chatup nodejs or directly setting up Codex/OpenCode and other npm tools de-duplicates and saves the managed Node and npm directories in the current-user PATH, reads them back, and prepends them to the current process without dropping its Python/system entries; it does not modify system PATH. Fresh terminals can resolve the corresponding tools directly. A suitable existing Node installation is reused instead of forcibly replaced. chatup chrome-for-testing exposes a machine-readable browser descriptor for extension/CDP consumers such as ChatPost; chatup chromedriver exposes an independent driver descriptor for WebDriver consumers. chatup playwright pins the Playwright package, browser revision/version, and executable path. Profiles, accounts, and cookies remain consumer-owned.
Local Services¶
chatup gitea # Align with ChatTea binary/work path/config/service
chatup glance # Verify and initialize a loopback runtime without starting it
chatup mysql # Align with ChatData runtime/instance/service
chatup nginx # Prepare ~/.chatarch/nginx runtime/config/log/run/temp
chatup crs # Prepare local CRS, Redis, secrets, admin SPA, and smoke check
Local-service commands use user-level layouts by default:
| Command | Default directory | Runtime boundary |
|---|---|---|
chatup gitea |
~/.chatarch/chattea |
Gitea binds to 127.0.0.1:3000 by default; public entry belongs to NGINX/public-entry. |
chatup glance |
~/.chatarch/glance |
Installs only verified maintained artifacts and preserves runtime data; start, update and public entry remain explicit operations. |
chatup mysql |
~/.chatarch/chatdata |
MySQL binds to 127.0.0.1:3307 by default and can create a user-level service. |
chatup nginx |
~/.chatarch/nginx |
Does not write /etc/nginx or reload system services; can render entry templates. |
chatup crs |
~/.chatarch/crs/local |
Local CRS + Redis + smoke check with restricted secret-file permissions. |
Desktop App¶
chatup macos checks all supported apps by default: Snipaste, iTerm2, Chrome and Blender on Apple Silicon, or the first three on Intel. It supports explicit --app subsets, -I for scripts and --dry-run previews, using signed official downloads without Homebrew. Blender also checks the pinned artifact's SHA-256 and notarization. See the macOS install command.
chatup remotion PROJECT_DIR creates a local video project with locked dependencies and a renderable example. It requires existing Node/npm, protects existing directories and detects a local browser. Projects can use the Chrome/Blender tools prepared by the macOS installer. See the Remotion contract.
chatup chrome installs regular Google Chrome for the current OS. chatup snipaste installs Snipaste on macOS or Windows. chatup iterm installs iTerm2 on macOS. All three support --dry-run and reuse verified existing installations; macOS does not require Homebrew and Windows verifies exact WinGet package IDs. See the install contract.
chatup chatgpt installs the official new ChatGPT desktop app including Codex through Homebrew on macOS or the exact Microsoft Store product on Windows. --dry-run has no side effects; installation is checked through the package manager. Native app/cache paths are owned by the package manager and OpenAI, not ChatArch. No launch, login, Codex CLI config changes or automatic Linux preview installation. See the desktop install contract.
Agent Toolchains¶
chatup claude # Configure Claude Code CLI and config files
chatup codex # Configure Codex CLI and config files (uses CODEX_HOME when set)
chatup opencode # Configure OpenCode CLI and config files
chatup hermes # Install Hermes Agent and optional WebUI
chatup cc-connect # Install CC Connect CLI and runtime dependencies
chatup lark-cli # Configure official lark-cli with ChatEnv Feishu config
These commands prepare local CLIs and config files. Provider accounts, tokens, workflow permissions, and platform policies remain owned by the corresponding tool or ChatEnv.
Workspace¶
workspace creates and syncs directories and conventions. It does not replace project repo initialization, task PRDs, progress records, or review workflows. See Workspace Scaffold.
Out of Scope¶
- No system-level service orchestration; defaults do not write
/etc, modify system NGINX, or create root-level services. - No general-purpose package-management promise; ChatUp only collects common ChatArch setup flows.
- No secret, token, connection string, or Authorization header echo.
- No planned commands in the formal CLI tree; future capabilities belong in a roadmap or PRD until implemented.