The togo command — a Laravel-artisan-like CLI for the togo framework.
Install
npm (downloads the prebuilt binary for your platform):
npm install -g @togo-framework/cli
npm 11: the binary is fetched by a postinstall script, and npm 11 gates install scripts behind
allowScripts. By default it only warns (not yet covered by allowScripts); with strict-allow-scripts
or --ignore-scripts the script is skipped and no binary is installed. Allow it explicitly:
npm install -g --allow-scripts=@togo-framework/cli @togo-framework/cli
# or once, for every future global install:
npm config set allow-scripts=@togo-framework/cli --location=user
Or skip npm: use go install (below) or grab a binary from
GitHub releases.
Linux / macOS
curl -fsSL https://raw.githubusercontent.com/togo-framework/cli/main/install.sh | sh
togo install togo-framework/auth # a plugin (Go capability) — go get + auto-register
togo install agent:togo-backend # an AI agent → .claude/agents/togo-backend.md
togo install skill:resource # a skill → .claude/commands/resource.md
togo install claude # the togo Claude Code plugin (15-agent team + auto-wired MCP)
togo install --list # list every installable plugin, agent and skill
Agents and skills are sourced from the togo Claude Code plugin and dropped into your project's .claude/ so Claude Code picks them up immediately.
Deploy
togo deploy ships a togo app to your server fast — build locally, rsync the
artifact (scp fallback), and run a restart command over SSH. Config lives in
togo.yaml:
deploy:
host: 203.0.113.10
user: deploy
path: /opt/myapp
restart: systemctl restart myapp # run over SSH after upload
# optional: port · ssh_key · build · binary · goos · goarch · remote_build
# include: [".env.production.example"] # extra paths --remote-build may ship
# multi-environment instead of the inline target:
# default: production
# targets:
# production: { host: …, user: …, path: …, restart: … }
# staging: { host: …, user: …, path: …, restart: … }
togo deploy # the inline target (or deploy.default)
togo deploy staging # a named target
togo deploy --dry-run # print the plan, change nothing
togo deploy --remote-build # rsync source and build on the server
--remote-build ships the source tree but never .env, .env.* (except
.env.example), .git/, local database files (*.db, *.sqlite, -wal/-shm),
node_modules/ or .togo/, and it honours .gitignore. Use deploy.include to
opt a path back in. It requires rsync (the scp fallback is refused for remote
builds because it cannot exclude files). --dry-run lists the exclusions.
togo make:resource Post title:string body:text:nullable published:bool emits
per-resource fragments across six targets plus regenerated route/resolver
registries, all driven by togo.resources.yaml. Field types: string, text, int, bool, float, decimal, uuid, time, date, json; append :nullable (or a
quoted ?) to make a field optional. Flags: --dry-run, --force.
CLI is plugin-extensible
Any executable named togo-<cmd> on PATH or in ~/.togo/bin becomes
togo <cmd> (git/kubectl-style), and togo install owner/repo registers plugin
commands.
License
MIT
💎 Premium sponsors
togo is proudly sponsored by ID8 Media and One Studio.
Plugin assets — .claude/ + frontend (injected on install)
togo install <owner>/<repo> injects a plugin's project-side assets into your app:
.claude/ — any agents/, skills/ (or commands/), hooks/, rules/ the plugin ships are copied into your project's .claude/ so Claude Code picks them up next session.
frontend — pages/components are injected into your web/ (the app's frontend dir).
Existing project files are kept (merge); pass --force to overwrite. A plugin declares these in togo.plugin.yaml (claude: .claude, frontend.dir: web) or they're auto-detected.
Command togo is the CLI for the togo framework — a Laravel-artisan-like developer experience for the Go + sqlc + Atlas + GraphQL/OpenAPI + Next.js stack.
Command togo is the CLI for the togo framework — a Laravel-artisan-like developer experience for the Go + sqlc + Atlas + GraphQL/OpenAPI + Next.js stack.
Package config loads and represents a togo project's configuration (togo.yaml) and the resource manifest (togo.resources.yaml) that drives code generation.
Package config loads and represents a togo project's configuration (togo.yaml) and the resource manifest (togo.resources.yaml) that drives code generation.
Package templates embeds the per-artifact generator stubs and resolves them, preferring per-project overrides published to ./.togo/stubs (artisan parity).
Package templates embeds the per-artifact generator stubs and resolves them, preferring per-project overrides published to ./.togo/stubs (artisan parity).
Package toolchain ensures the external tools togo needs — Go, Node/npm, sqlc, atlas — are present, installing any that are missing into ~/.togo/toolchain and putting them on PATH for the current process (and child exec.Commands).
Package toolchain ensures the external tools togo needs — Go, Node/npm, sqlc, atlas — are present, installing any that are missing into ~/.togo/toolchain and putting them on PATH for the current process (and child exec.Commands).