@boboddy/cli
v0.2.12-alpha
Published
`boboddy` is a Bun + TypeScript CLI workspace with a modular command layout and compiled binary distribution support.
Readme
boboddy CLI
boboddy is a Bun + TypeScript CLI workspace with a modular command layout and compiled binary distribution support.
Project Shape
apps/cli/
src/
index.ts
commands/
hello.ts
script/
build.ts
bin/
boboddy
test/
cli.test.ts
package.json
tsconfig.json
README.mdPrerequisites
- Bun
1.2.9or newer
Local Development
Install dependencies from the workspace root:
bun installRun the CLI directly from source:
bun run apps/cli/src/index.ts hello
bun run apps/cli/src/index.ts hello Connor
bun run apps/cli/src/index.ts work 01966a2c-9494-7db5-aa46-0f8f5cbbe001
bun run apps/cli/src/index.ts auth statusOr from the package directory:
cd apps/cli
bun run src/index.ts hello Connor
bun run src/index.ts work 01966a2c-9494-7db5-aa46-0f8f5cbbe001Type Checking
bun run --filter @boboddy/cli typecheckTests
bun run --filter @boboddy/cli testThe tests spawn the CLI as a subprocess, so they do not require a global install.
Build Binaries
bun run --filter @boboddy/cli buildThis creates standalone binaries in apps/cli/dist/ for:
boboddy-darwin-arm64boboddy-darwin-x64boboddy-linux-x64boboddy-linux-arm64boboddy-windows-x64.exe
npm Bin Wrapper
The package publishes the boboddy executable through bin/boboddy.
- The wrapper detects the current platform and architecture.
- It runs the matching compiled binary from
dist/when available. - It prints a clear error when the current platform is unsupported or the expected binary is missing.
After building, run the wrapper locally:
./bin/boboddy hello Connor
./bin/boboddy auth loginAuthentication
Authenticate the CLI through the browser-based Better Auth device flow:
boboddy auth login
boboddy auth status
boboddy auth whoami
boboddy auth logoutBy default the CLI targets http://127.0.0.1:3000. Override that with
--base-url or the BOBODDY_BASE_URL environment variable.
Authenticated CLI credentials are stored in ~/.boboddy.json.
npm-Style Installation
When this workspace is published as a package, the bin field maps the boboddy command to ./bin/boboddy.
Typical install and usage shape:
npm install -g <published-package-name>
boboddy hello ConnorFuture GitHub Releases
For GitHub Releases, upload the compiled files from apps/cli/dist/ as release assets. Consumers can then download the platform-specific binary directly without installing through npm.
