mirror of https://github.com/buster-so/buster.git
1.3 KiB
1.3 KiB
Buster CLI
The official command-line interface for Buster, built with TypeScript, Commander.js, and Ink for a beautiful terminal experience.
Architecture
This CLI is designed as a thin client that communicates with the Buster server API. It handles:
- File system operations (reading/writing YAML files)
- API communication
- Rich terminal UI using Ink (React for CLI)
Development
Setup
# Install dependencies
pnpm install
# Run in development mode
pnpm dev
# Build the CLI
pnpm build
# Run tests
pnpm test
Commands
auth
- Authenticate with Busterinit
- Initialize a new Buster projectdeploy
- Deploy models to Busterparse
- Parse and validate YAML model filesconfig
- Manage Buster configurationupdate
- Update CLI to the latest versionstart
- Start Buster servicesstop
- Stop Buster servicesreset
- Reset Buster services and data
Testing
# Run all tests
pnpm test
# Run unit tests only
pnpm test:unit
# Run integration tests
pnpm test:integration
# Watch mode
pnpm test:watch
Building Binaries
# Build binaries for all platforms
pnpm build:binary
This creates standalone executables for Linux, macOS, and Windows using Bun's compile feature.
Contributing
See CLAUDE.md for detailed development guidelines.