Pack Toolbelt
Professional tools for creating, testing, and publishing BBR Packs.
Requires BBR Pro
Early Access Documentation
The Pack Toolbelt is currently in development. This documentation provides a preview of planned functionality. Features and APIs may change before final release.
What is a Pack?
A Pack is a collection of custom actions that extend Bober's capabilities. Packs can include native integrations, shell scripts, or composite scenarios.Pack Structure
my-pack/
├── manifest.json # Pack metadata
├── actions/
│ ├── action1.json # Action definitions
│ └── action2.json
├── scenarios/
│ └── demo.json # Example scenarios
├── assets/
│ └── icon.png # 256x256 pack icon
└── signature.bbr # BBR signature (ecosystem only)
Manifest Format
{
"id": "com.yourname.mypack",
"name": "My Custom Pack",
"version": "1.0.0",
"bbrVersion": ">=2.0.0",
"author": {
"name": "Your Name",
"email": "[email protected]"
},
"description": "Pack description",
"permissions": ["accessibility", "automation"],
"trust_level": "local",
"actions": [
{
"id": "my_action",
"name": "My Action",
"type": "script",
"entrypoint": "actions/action1.json",
"params": [
{"name": "target", "type": "string", "required": true}
]
}
]
}
Permissions
| Permission | Description |
|---|---|
accessibility | UI element access |
automation | AppleScript execution |
screen_recording | Screen capture |
files | File system access |
network | Outbound requests |
Trust Levels
| Level | Source | Requirements | Capabilities |
|---|---|---|---|
| verified | BBR Ecosystem | BBR signature + code review | Full system access |
| signed | Third-party | Developer signature | Limited to declared permissions |
| local | User's machine | User consent only | Sandboxed execution |
Local Development Workflow
1. Create Pack
mkdir my-pack && cd my-pack
touch manifest.json
mkdir actions scenarios assets
2. Define Action
actions/greet.json:
{
"type": "scenario",
"steps": [
{"action": "msg", "text": "Hello, {target}!", "duration": 2.0}
]
}
3. Test Locally
# Install for testing
ln -s "$(pwd)" ~/Library/Application\ Support/Bober/Packs/my-pack
Reload packs in Bober
File → Reload Packs
4. Use in Scenario
{"action": "my-pack.greet", "target": "World"}
Publishing to BBR Ecosystem
Step 1: Prepare
- Ensure
manifest.jsonis complete - Add
icon.png(256×256) - Write demo scenario
Step 2: Submit
bbr pack submit ./my-pack
Step 3: Review Process
- 1. Automated scan — Security checks, permission validation
- 2. Manual review — BBR team code review
- 3. Approval — Pack is signed and published
Step 4: Distribution
Published packs appear in Bober → Pack Gallery.Guardrails for Local Packs
⚠️ Local packs are NOT verified. Users accept full responsibility.
User Consent Dialog
When loading an unverified pack, Bober displays:
⚠️ Unverified Pack Warning
This pack has not been reviewed by BBR.
Running unverified code may pose security risks.
Pack: {pack_name}
Author: {author}
Permissions: {permissions}
[Cancel] [I Accept Full Responsibility]
Sandbox Restrictions
Local packs operate with:- No network access by default
- File access limited to
~/Documents/Bober - Process spawning requires explicit whitelist
- All executions logged to audit trail
Trust Record
User consent stored in:~/.bober/local-trust.json
Re-prompted on pack version changes.
CLI Tools (Coming Soon)
bbr pack init # Scaffold new pack
bbr pack validate # Check manifest
bbr pack test # Run test scenarios
bbr pack sign # Sign with developer key
bbr pack submit # Submit for review