// bone agent

A fast, hackable terminal AI agent.

Built in Rust, extended in Lua — runs anywhere a binary can.


Installation

Install via npm:

npm install -g bone-agent

Or use without installing:

npx bone-agent

Or build from source:

git clone https://github.com/vincentm65/bone cd bone && cargo build --release

The npm wrapper downloads a prebuilt Rust binary for your platform.

Requires:
├── Node.js 18+ (npm install only)
├── Rust toolchain (build from source only)
└── Python + uv (optional: web_search & cron)

LLM Providers

├── cloud
│ ├── openai (gpt-4o-mini)
│ ├── anthropic (claude-3.5-sonnet)
│ ├── gemini (gemini-1.5-flash)
│ ├── deepseek (deepseek-v4-pro)
│ ├── openrouter (50+ models)
│ ├── glm (GLM-5)
│ ├── kimi (moonshot-v1-8k)
│ ├── minimax (MiniMax-M2.7)
│ └── codex (gpt-5.5)
└── llama.cpp (local, any GGUF model)

Set keys in providers.yaml or via /config.

Tools

├── read_file read files
├── write_file create new files
├── edit_file edit existing files
├── shell run commands
├── web_search search online
├── subagents parallel background jobs
├── task_list manage tasks
├── ask_user ask the user
├── cron scheduled jobs
└── Lua plugin system extend with your own

Approval workflows for dangerous operations.

Configuration

Settings live in ~/.bone-rust — providers.yaml for keys and models, config/*.yaml for app settings, command-policy.yaml for shell command safety tiers, and memory.md for persistent preferences. Run /config to view and edit. Extend bone at startup with init.lua.

Commands

├── /provider switch provider
├── /model set or show model
├── /config change settings
├── /stats token dashboard
├── /tools enable or disable tools
├── /compact compact context
├── /memory build preferences
├── /usage token usage
├── /review review changes
├── /history conversation history
├── /customize customize config
└── /help show help

Use /help in-app for full menu.

[Select a menu item above]