← Back to Skills Marketplace
jkeesh

bool-cli

by Jeremy Keeshin · GitHub ↗ · v1.0.1
cross-platform ✓ Security Clean
317
Downloads
2
Stars
0
Active Installs
2
Versions
Install in OpenClaw
/install bool-cli
Description
Deploy sites to Bool.com via the bool CLI. Use when creating, deploying, updating, or managing Bool projects.
README (SKILL.md)

Using bool-cli

CLI tool for managing projects on Bool.com. Requires Node.js >=18.

Prerequisites

  1. Install: npm install -g bool-cli
  2. Authenticate: Set BOOL_API_KEY env var, or run bool auth login interactively
  3. Verify: Run bool auth status to confirm the connection

The API key is saved to ~/.config/bool-cli/config.json. The BOOL_API_KEY environment variable takes precedence over the saved config.

Important: Non-Interactive Commands

The bool auth login and bool bools delete \x3Cslug> commands are interactive (they prompt for input). When using them from an agent:

  • Auth: Set the BOOL_API_KEY environment variable instead of running bool auth login
  • Delete: Always pass -y / --yes to skip the confirmation prompt: bool bools delete \x3Cslug> -y

Commands Reference

Authentication

bool auth login          # Interactive: prompts for API key
bool auth status         # Check auth + API health (non-interactive)

Managing Bools

bool bools list [count]        # List Bools (default: 5)
bool bools create \x3Cname>       # Create a new Bool
bool bools info [slug]         # Show Bool details + latest version info
bool bools update [slug] --name "New Name" --description "desc" --visibility public
bool bools delete [slug] -y    # Delete a Bool (always use -y to skip prompt)
bool bools open [slug]         # Open Bool in browser
bool bools visibility [slug]         # Show current visibility
bool bools visibility [slug] --set private    # Change visibility

Visibility options: private, team, unlisted, public

Versions & Deployment

bool versions [slug]                           # List version history
bool deploy [slug] [dir] -m "commit message"   # Deploy local files (auto-creates Bool if needed)
bool pull [slug] [dir] --version N             # Download files locally

Quick Ship (Anonymous Bools)

Ship a project without needing an API key:

bool shipit [directory]                        # Create anonymous Bool + deploy
bool shipit --slug \x3Cslug> -m "update message"  # Update existing anonymous Bool
bool shipit --name "My Project"                # Set a custom name

The shipit command stores the slug and secret in .bool/config so subsequent runs in the same directory automatically update the same Bool.

JSON Output

All commands support --json for machine-readable output. Always use --json when you need to parse output programmatically.

bool bools list --json
bool bools info my-project --json
bool versions my-project --json

Project Config (.bool/config)

When you deploy, pull, or shipit in a directory, bool-cli stores project metadata in .bool/config:

{
  "slug": "my-project",
  "name": "My Project",
  "secret": "optional_anonymous_secret"
}

This allows you to omit the [slug] argument on subsequent commands when working in the same directory. For example:

# First time: specify slug explicitly
bool deploy my-project ./src -m "Initial deploy"

# After that, run from the same directory and slug is read from .bool/config
bool deploy -m "Another deploy"
bool versions
bool bools info

Add .bool/ to your .gitignore to keep secrets local.

Common Workflows

Create and deploy a new Bool (Option A: explicit)

bool bools create "My Project"
# note the slug from the output, e.g. "my-project"
bool deploy my-project ./src -m "Initial deploy"

Create and deploy a new Bool (Option B: auto-create)

# Deploy without a slug—a new Bool is created automatically
bool deploy ./src -m "Initial deploy"

This creates a Bool named after the directory and displays the live URL.

Quick anonymous ship (no API key needed)

bool shipit ./my-project
# outputs: https://\x3Cslug>.bool01.com
# subsequent updates from same directory:
bool shipit ./my-project -m "Updated version"

Pull, edit, and redeploy

bool pull my-project ./my-project
# ... make changes to files in ./my-project/ ...
bool deploy my-project ./my-project -m "Updated files"

Check what's deployed

bool bools info my-project            # See latest version summary
bool versions my-project              # See full version history
bool pull my-project ./tmp            # Download current files to inspect

Manage visibility

bool bools visibility my-project                 # Show current visibility
bool bools visibility my-project --set private    # Make it private
bool bools visibility my-project --set public     # Make it public

Deploy a specific subdirectory with exclusions

bool deploy my-project ./src --exclude "*.test.js" --exclude "*.spec.js" -m "Production build"

Deploy Behavior

  • bool deploy recursively reads the directory and uploads all text files
  • Auto-create Bool: If no slug is provided (and no .bool/config exists), a new Bool is created automatically, named after the directory
  • Live URL: The live deployment URL is displayed in the output after successful deployment
  • Binary files (images, PDFs, archives, fonts, etc.) are automatically skipped
  • Default excludes: .git, node_modules, __pycache__, .DS_Store, .bool
  • Custom excludes: Use --exclude \x3Cpattern> (repeatable) for additional patterns
  • .boolignore: If a .boolignore file exists in the deploy directory, it is respected (gitignore syntax)
  • File paths in the payload are relative to the deploy directory

Pull Behavior

  • bool pull \x3Cslug> downloads files to ./\x3Cslug>/ by default
  • Specify a custom output directory: bool pull \x3Cslug> ./my-dir
  • Pull a specific version: bool pull \x3Cslug> --version 3
  • Creates subdirectories as needed

Environment Variables

Variable Purpose Default
BOOL_API_KEY API key (overrides saved config)
BOOL_API_URL API base URL https://bool.com/api
BOOL_BASE_URL Base URL for shipit https://bool.com

Error Handling

  • All errors print to stderr with a non-zero exit code
  • API errors surface the server's error message (e.g., "Bool not found")
  • If no API key is configured, commands fail with: No API key configured. Run: bool auth login

Tips

  • Use bool bools list --json | jq '.[].slug' to get all slugs for scripting
  • The Bool slug (not name) is the identifier used in all commands
  • After bool bools create, the slug is derived from the name (e.g., "My Project" -> my-project)
  • Use bool bools info \x3Cslug> --json to get the latest version number programmatically
  • The live URL for any Bool is https://\x3Cslug>.bool01.com
Usage Guidance
This skill is coherent with its purpose, but take these precautions before installing/using it: 1) Verify the npm package (bool-cli) source and version on the official repo (https://github.com/codehs/bool-cli) to avoid supply-chain tampering. 2) Only provide an API key (BOOL_API_KEY) with the minimal permissions needed and avoid storing high-privilege keys in shared environments. 3) Ensure .bool/ is added to .gitignore and do not deploy directories that contain secrets or private keys (the CLI uploads local files). 4) The registry metadata appears to have a minor rendering issue ("[object Object]")—confirm the declared required env vars in the registry or README if that matters for automation. 5) If you allow an agent to run this skill autonomously, prefer using BOOL_API_KEY (non-interactive) rather than interactive login so credentials are explicit and auditable.
Capability Analysis
Type: OpenClaw Skill Name: bool-cli Version: 1.0.1 The skill bundle provides clear and well-documented instructions for installing and using the `bool-cli` to manage projects on `bool.com`. It explicitly guides the agent on how to handle interactive commands and utilize JSON output, without any evidence of prompt injection attempts to manipulate the agent. While the skill handles API keys and project-specific secrets, it includes responsible advice to add `.bool/` to `.gitignore` to protect these secrets. There are no indicators of data exfiltration, malicious execution, persistence, or obfuscation.
Capability Assessment
Purpose & Capability
Name/description match the requested binary (bool) and the documented env var (BOOL_API_KEY). One minor metadata inconsistency: the registry summary shows "Required env vars: [object Object]" while SKILL.md clearly documents a single optional BOOL_API_KEY—this looks like a serialization/display bug rather than a capability mismatch.
Instruction Scope
SKILL.md instructions are narrowly scoped to installing/using the bool CLI, authenticating, reading/writing the CLI's config (~/.config/bool-cli/config.json) and a per-project .bool/config, and uploading project files for deployment. These actions are expected for a deploy tool, but note that deploy reads local project files and will upload them to Bool.com — ensure no sensitive files are included in the directory being deployed.
Install Mechanism
The skill is instruction-only (no install spec in the registry), but SKILL.md recommends installing the CLI via a global npm package (npm install -g bool-cli). Installing an npm package globally is a common approach but carries the usual supply-chain considerations—verify the package source (official repo) and prefer installing from trusted package feeds or using a pinned version.
Credentials
The only credential referenced is an optional BOOL_API_KEY (or interactive login). That matches the use case. The skill also reads/writes two config paths it documents; that is proportional. Confirm the API key has minimal required permissions and that other unrelated credentials are not requested.
Persistence & Privilege
The skill is not always-on and is user-invocable; it does not request system-wide persistent privileges. It does store CLI config and per-project .bool/config (normal for a CLI).
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install bool-cli
  3. After installation, invoke the skill by name or use /bool-cli
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.1
- Added homepage and source links to documentation metadata. - Declared required environment variable (`BOOL_API_KEY`) and described its purpose. - Specified config file paths and their roles in CLI metadata. - No functionality changes; documentation and metadata improvements only.
v1.0.0
Initial release of bool-cli – a CLI for deploying and managing projects on Bool.com. - Deploy, create, update, and manage sites using the `bool` CLI tool. - Supports authentication via API key/environment variable or interactive login. - Includes commands for listing, creating, updating, deleting, and viewing Bool projects. - Provides deployment and download (pull) of project files, with support for excludes and `.boolignore`. - Features "shipit" mode for anonymous, quick deployments without an API key. - All commands support `--json` output for automation and scripting. - Stores per-project config in `.bool/config` and provides clear environment variable and workflow documentation.
Metadata
Slug bool-cli
Version 1.0.1
License
All-time Installs 0
Active Installs 0
Total Versions 2
Frequently Asked Questions

What is bool-cli?

Deploy sites to Bool.com via the bool CLI. Use when creating, deploying, updating, or managing Bool projects. It is an AI Agent Skill for Claude Code / OpenClaw, with 317 downloads so far.

How do I install bool-cli?

Run "/install bool-cli" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is bool-cli free?

Yes, bool-cli is completely free (open-source). You can download, install and use it at no cost.

Which platforms does bool-cli support?

bool-cli is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created bool-cli?

It is built and maintained by Jeremy Keeshin (@jkeesh); the current version is v1.0.1.

💬 Comments