Bub it. Build it. Tape-first coding agent CLI.
Project description
Bub
Bub it. Build it.
Bub is a coding agent CLI built on republic.
It is designed for real engineering workflows where execution must be predictable, inspectable, and recoverable.
Four Things To Know
- Command boundary is strict: only lines starting with
,are treated as commands. - The same routing model is applied to both user input and assistant output.
- Successful commands return directly; failed commands fall back to the model with structured context.
- Session context is append-only tape with explicit
anchor/handofftransitions.
Quick Start
git clone https://github.com/psiace/bub.git
cd bub
uv sync
cp env.example .env
Minimal .env:
BUB_MODEL=openrouter:qwen/qwen3-coder-next
OPENROUTER_API_KEY=your_key_here
Start interactive CLI:
uv run bub
Interaction Rules
hello: natural language routed to model.,help: internal command.,git status: shell command., ls -la: shell command (space after comma is optional).
Common commands:
,help
,tools
,tool.describe name=fs.read
,skills.list
,skills.describe name=friendly-python
,handoff name=phase-1 summary="bootstrap done"
,anchors
,tape.info
,tape.search query=error
,tape.reset archive=true
,quit
Telegram (Optional)
BUB_TELEGRAM_ENABLED=true
BUB_TELEGRAM_TOKEN=123456:token
BUB_TELEGRAM_ALLOW_FROM='["123456789","your_username"]'
uv run bub message
Discord (Optional)
BUB_DISCORD_ENABLED=true
BUB_DISCORD_TOKEN=discord_bot_token
BUB_DISCORD_ALLOW_FROM='["123456789012345678","your_discord_name"]'
BUB_DISCORD_ALLOW_CHANNELS='["123456789012345678"]'
uv run bub message
Documentation
docs/index.md: getting started and usage overviewdocs/deployment.md: local + Docker deployment playbookdocs/features.md: key capabilities and why they matterdocs/cli.md: interactive CLI workflow and troubleshootingdocs/architecture.md: agent loop, tape, anchor, and tool/skill designdocs/telegram.md: Telegram integration and operationsdocs/discord.md: Discord integration and operations
Development
uv run ruff check .
uv run mypy
uv run pytest -q
just docs-test
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
bub-0.2.1.tar.gz
(1.0 MB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
bub-0.2.1-py3-none-any.whl
(100.3 kB
view details)
File details
Details for the file bub-0.2.1.tar.gz.
File metadata
- Download URL: bub-0.2.1.tar.gz
- Upload date:
- Size: 1.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
014653fb92253150a1975b55ef8c44e87531cbcdcf238bcb5bc6675d6e4c4358
|
|
| MD5 |
2ffe17efab20cffaee610e63847c4088
|
|
| BLAKE2b-256 |
105f0f6e72c0defe917dd817287d8b67171fc909699151f51aee68e37849aa2c
|
File details
Details for the file bub-0.2.1-py3-none-any.whl.
File metadata
- Download URL: bub-0.2.1-py3-none-any.whl
- Upload date:
- Size: 100.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
278f2b26f9c18c85b11aa40ad2ddc6fa504b409c8ff82ac988f293231acceeec
|
|
| MD5 |
f2ecd4f14aa21d42856bf56eaea02b1b
|
|
| BLAKE2b-256 |
155cd39e444f479eafb63d1c3df5d24cf36f4af89427e3233c2e4d97fc8a69e0
|