agent-akira
v0.2.10
Published
Agent Akira — a CLI agent with embedded Signal messaging bridge
Readme
Akira
A rebuilt Claude Code CLI with an embedded Signal messaging bridge.
What is Akira?
Akira is a CLI agent built on top of the Claude Code source. It adds an embedded Signal messaging bridge so you can interact with Claude from your phone via Signal — send a message, get a response, all routed through the same REPL that handles file editing, shell commands, git workflows, and MCP integration.
Install
npm install -g agent-akiraRequires Node.js 22+.
Usage
akiraRuns with --dangerously-skip-permissions by default (bypass all tool approval prompts).
Signal Bridge
Akira embeds a Signal messaging bridge that auto-connects on startup when configured.
Setup:
- Run
/signal-linkinside Akira to start the Docker container and link your phone - Scan the QR code with Signal
- Set the allowed sender with
/signal-sender
How it works:
- Signal message arrives via WebSocket
- Message is enqueued into the REPL message queue
- Claude processes it like any other prompt
- Response is sent back to you via Signal REST API
Requirements: Docker with bbernhard/signal-cli-rest-api:latest on port 8084.
Tech Stack
| Component | Technology |
|---|---|
| Language | TypeScript (strict mode, ES modules) |
| Build | esbuild → single dist/cli.mjs bundle |
| Runtime | Node.js 22+ |
| Terminal UI | React + Ink |
| CLI Parser | Commander.js |
| API Client | Anthropic SDK |
| Validation | Zod v4 |
| Protocol | Model Context Protocol (MCP) |
| Messaging | Signal via signal-cli-rest-api Docker |
Project Structure
src/
├── commands/ # ~50 slash commands (/commit, /review, /signal-link, etc.)
├── tools/ # ~40 agent tools (Bash, FileRead, FileWrite, Glob, Grep, etc.)
├── components/ # Ink/React terminal UI components
├── services/ # External integrations (API, OAuth, MCP, Signal bridge)
│ └── signal/ # Signal messaging bridge
├── screens/ # Full-screen UIs (REPL, Doctor, Resume)
├── skills/ # Bundled skills + skill loader
├── tasks/ # Task management
├── memdir/ # Persistent memory system
├── hooks/ # React hooks
├── utils/ # Utilities (shell, file ops, permissions, git)
└── main.tsx # CLI entry pointDeployment
Versions are controlled by commit message keywords:
| Keyword | Bump | Example |
|---|---|---|
| #patch | 0.1.x | Bug fixes |
| #minor | 0.x.0 | New features |
| #major | x.0.0 | Breaking changes |
Push to main with a keyword to trigger the publish workflow. See docs/deployment.md for details.
Development
bun install
bun run build # → dist/cli.mjs
./akira # run locally