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.
Installation
Section titled “Installation”npm install -g @anybuild-ai/abRequires 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.
Updating
Section titled “Updating”npm install -g @anybuild-ai/ab@latestanybuild --versionQuick start
Section titled “Quick start”anybuild login https://your-host.example.comanybuild clone https://your-host.example.com/my-app-idcd my-app-id# edit tracked files, then:anybuild statusanybuild pushSign out when finished, especially on shared machines:
anybuild logout https://your-host.example.comCommands
Section titled “Commands”| Command | Description |
|---|---|
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 pull | Download the latest remote changes. Options: --force, --debug |
anybuild status | List 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.
Clone examples
Section titled “Clone examples”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.
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 --forcePush conflicts
Section titled “Push conflicts”If a push fails due to a conflict with remote changes, pull first and then push again:
anybuild pullanybuild pushPushing specific files
Section titled “Pushing specific files”Pass file paths after push to upload only those files:
anybuild push ui/lit/components/my_widget.jsanybuild push be/node/my_handler.js be/plv8/my_function.jsTracked files
Section titled “Tracked files”The CLI syncs three folders only:
| Folder | Contains |
|---|---|
ui/lit/components | Portal pages and components |
be/node | Server functions (Node.js) |
be/plv8 | Database 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.
AI instructions
Section titled “AI instructions”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.
Configuration
Section titled “Configuration”| Location | Purpose |
|---|---|
~/.ab/config.json | Your login sessions - credentials for each host |
.ab/ in the project | Project settings and sync state (no passwords) |
Run project commands (pull, push, status) from inside a cloned application directory.
Security
Section titled “Security”- 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
--debugin shared or CI logs - it can output request and response details.