A developer assistant CLI and bot that can plan tasks, run autonomous agents, and answer codebase questions. Supports interactive CLI, Telegram bot mode, and web-enabled research tools.
- Interactive CLI with
agent,plan, andaskmodes - Telegram bot for remote interaction and approvals
- Plan generation that outputs short, actionable steps
- Agent tooling to propose and (with approval) apply code changes
- Web search, crawl and fetch integration (optional, via Firecrawl)
Prerequisites
- Bun (required)
OPENROUTER_API_KEY(required) — API key for the OpenRouter provider used by the AI model.OPENROUTER_DEFAULT_MODEL(optional) — Model id to use (defaults toopenrouter/free).FIRECRAWL_API_KEY(optional) — Enablesweb_search,web_crawl, andfetch_urltools.TELEGRAM_BOT_TOKENandTELEGRAM_OWNER_ID— Required to run the Telegram bot mode.
Install dependencies
Using Bun:
bun installRun the app (CLI)
With Bun (runs TypeScript directly):
bun index.tsThe startup menu will show interactive modes. From there choose CLI or Telegram.
Run the Telegram bot
-
Ensure the required environment variables are set (see the "Environment Variables" section above).
-
Start the app and select
Telegramfrom the startup menu, or run the bot process directly:
bun index.tsThe bot will send a welcome message to the owner and begin listening for commands.
-
CLI Modes
agent: Run an autonomous agent that can propose and apply changes (approval required before applying).plan: Generate a short plan (1–15 steps) for a user goal and optionally execute selected steps.ask: Ask questions about the repository and optionally save answers as markdown notes.
-
Telegram Commands
/ask <question>— Ask a question and receive a researched answer/agent <task>— Run the agent on a task (approval UI provided)/plan <goal>— Generate a plan and interactively select steps to execute
Contributions welcome. Please open issues for bugs or feature requests and send pull requests for review.