Skip to content

Anybuild CLI

The Anybuild CLI syncs your application’s source files between your local machine and your Anybuild instance. The workflow is git-like: clone an application, edit files locally, check status, and push changes back.


Terminal window
npm install -g @anybuild-ai/ab

Requires Node.js 20+. Use the anybuild command - the package also installs ab as a shim, but on most systems that name is already taken by ApacheBench.

Terminal window
npm install -g @anybuild-ai/ab@latest
anybuild --version

Terminal window
anybuild login https://your-host.example.com
anybuild clone https://your-host.example.com/my-app-id
cd my-app-id
# edit tracked files, then:
anybuild status
anybuild push

Sign out when finished, especially on shared machines:

Terminal window
anybuild logout https://your-host.example.com

CommandDescription
anybuild login <host-url>Sign in - prompts for username and password
anybuild logout <host-url>Sign out and remove the local session for that host
anybuild clone <host-url>/<application_id> [directory]Download an application into ./<application_id>/ (or [directory]; use . for cwd). Options: --force, --debug
anybuild pullDownload the latest remote changes. Options: --force, --debug
anybuild statusList local added, modified, and deleted files
anybuild push [paths…]Upload local changes. Optionally pass specific file paths. Option: --debug

Also: anybuild help, anybuild -v / --version.

The last segment of the URL is the application_id - find it in the Designer under application settings. It is not the display name or the system ID.

Terminal window
anybuild clone https://your-host.example.com/my-app-id
# → ./my-app-id/
anybuild clone https://your-host.example.com/my-app-id .
# → current directory
anybuild clone https://your-host.example.com/my-app-id ./other-folder --force

If a push fails due to a conflict with remote changes, pull first and then push again:

Terminal window
anybuild pull
anybuild push

Pass file paths after push to upload only those files:

Terminal window
anybuild push ui/lit/components/my_widget.js
anybuild push be/node/my_handler.js be/plv8/my_function.js

The CLI syncs three folders only:

FolderContains
ui/lit/componentsPortal pages and components
be/nodeServer functions (Node.js)
be/plv8Database workflow code (PLV8)

Do not manually edit files outside these three folders - other folders in the cloned tree are managed by the platform and will not be tracked or pushed.

You can create your own folders at the project root for anything that does not get pushed - for example, a folder with design references, screenshots, or instructions you want to feed into an AI tool alongside your code.


When you clone an application, the project includes ready-made instruction files for working with AI coding tools. A root AGENTS.md file is picked up automatically by AI agents and references more specific instruction sets for different types of work - UI, PLV8, and Node.js. You do not need to configure or point the agent at anything; the instructions are structured so the agent finds the right context for the task at hand. See AI Code Assistant for more on working with external tools.


LocationPurpose
~/.ab/config.jsonYour login sessions - credentials for each host
.ab/ in the projectProject settings and sync state (no passwords)

Run project commands (pull, push, status) from inside a cloned application directory.


  • Sessions are stored in ~/.ab/ with restrictive file permissions on Unix. Do not share or commit that directory.
  • Use HTTPS host URLs in all environments.
  • On shared machines, run anybuild logout <host-url> when done.
  • Avoid --debug in shared or CI logs - it can output request and response details.