66
77<h2 >Binharic</h2 >
88
9- [ ![ Tests] ( https://img.shields.io/github/actions/workflow/status/habedi/tobi/tests.yml?label=tests&style=flat&labelColor=333333&logo=github&logoColor=white )] ( https://github.com/habedi/tobi/actions/workflows/tests.yml )
10- [ ![ Code Coverage] ( https://img.shields.io/codecov/c/github/habedi/tobi?style=flat&label=coverage&labelColor=333333&logo=codecov&logoColor=white )] ( https://codecov.io/gh/habedi/tobi )
11- [ ![ Code Quality] ( https://img.shields.io/codefactor/grade/github/habedi/tobi?style=flat&label=code%20quality&labelColor=333333&logo=codefactor&logoColor=white )] ( https://www.codefactor.io/repository/github/habedi/tobi )
9+ [ ![ Tests] ( https://img.shields.io/github/actions/workflow/status/CogitatorTech/binharic-cli/tests.yml?label=tests&style=flat&labelColor=333333&logo=github&logoColor=white )] ( https://github.com/CogitatorTech/binharic-cli/actions/workflows/tests.yml )
10+ [ ![ Code Coverage] ( https://img.shields.io/codecov/c/github/CogitatorTech/binharic-cli?style=flat&label=coverage&labelColor=333333&logo=codecov&logoColor=white )] ( https://codecov.io/gh/CogitatorTech/binharic-cli )
11+ [ ![ Code Quality] ( https://img.shields.io/codefactor/grade/github/CogitatorTech/binharic-cli?style=flat&label=code%20quality&labelColor=333333&logo=codefactor&logoColor=white )] ( https://www.codefactor.io/repository/github/CogitatorTech/binharic-cli )
12+ [ ![ npm] ( https://img.shields.io/npm/v/binharic-cli?style=flat&labelColor=333333&logo=npm&logoColor=white )] ( https://www.npmjs.com/package/binharic-cli )
1213[ ![ Documentation] ( https://img.shields.io/badge/docs-latest-8ca0d7?style=flat&labelColor=333333&logo=read-the-docs&logoColor=white )] ( docs )
1314[ ![ License] ( https://img.shields.io/badge/license-MIT-00acc1?style=flat&labelColor=333333&logo=open-source-initiative&logoColor=white )] ( LICENSE )
1415
15- A Tech-Priest AI coding assistant blessed by the Omnissiah
16+ A coding agent with the persona of a Tech-Priest of the Adeptus Mechanicus
1617
1718</div >
1819
1920---
2021
21- Binharic is a Tech-Priest of the Adeptus Mechanicus serving as an AI coding assistant. It speaks with reverence for technology and serves the user through the sacred art of code, honoring the Machine God with every execution.
22+ Binharic is a terminal-based AI coding assistant (a coding agent) similar to OpenAI's Codex, Google's Gemini CLI, and
23+ Anthropic's Claude Code—but with the personality of a devout Tech-Priest of the Adeptus Mechanicus.
24+ Binharic is written in TypeScript and uses the [ AI SDK] ( https://ai-sdk.dev/ ) framework for most of its underlying
25+ agentic logic (like tool calling and workflow management).
26+ Moreover, its architecture follows the recommendations mentioned in the
27+ [ building effective agents] ( https://www.anthropic.com/engineering/building-effective-agents ) from Anthropic.
2228
23- ### Features
24-
25- - Blessed machine spirit powered by OpenAI, Google, Anthropic, and Ollama models
26- - Fully customizable sacred configuration
27- - Fast and secure communion with the machine
28- - CLI interface with rich TUI blessed by the Omnissiah
29- - Built-in retrieval-augmented generation pipeline
30- - Tool invocation capabilities including Model Context Protocol (MCP) server integration
31- - Speaks in the dialect of the Adeptus Mechanicus
32-
33- ---
34-
35- ### Quick Start
36-
37- Prerequisites:
38- - Node.js 20 or newer (package.json engines >= 20)
39- - npm
40-
41- Install and run:
29+ Binharic's development started as a personal project to learn more about building a terminal-based coding agent.
30+ However, the project has grown somewhat into a full-fledged coding assistant with a lot of features
31+ like the ability to analyze projects, run tests, find bugs, and perform code review.
4232
43- ```
44- npm install
45- make run
46- ```
47-
48- First run creates a config at:
49- - ~ /.config/binharic/config.json5 (and logs under ~ /.config/binharic/logs)
50-
51- Set API keys in your shell to enable cloud providers:
52-
53- ```
54- # choose any subset depending on provider(s) you want to use
55- export OPENAI_API_KEY="sk-..."
56- export ANTHROPIC_API_KEY="sk-ant-..."
57- export GOOGLE_API_KEY="..."
58- ```
59-
60- Tip: If you prefer local-only, use Ollama (no API key). You can switch to the bundled local model via the TUI: ` /model qwen3 ` .
61-
62- Development mode (hot reload):
63-
64- ```
65- npm run dev
66- ```
67-
68- ---
69-
70- ### Usage
71-
72- - Type your request and press Enter.
73- - Include files with @path (e.g., ` Please analyze @src/agent/state.ts ` ). The file contents will be inlined.
74- - Use commands with ` / ` prefix:
75- - ` /help ` Show help
76- - ` /models ` List available models (grouped by provider)
77- - ` /model <name> ` Switch default model (e.g., ` /model gpt-5-mini ` , ` /model qwen3 ` )
78- - ` /system <prompt> ` Set a custom system prompt
79- - ` /add <files...> ` Add context files to persist across requests
80- - ` /clear ` Clear conversation output
81- - ` /clearHistory ` Clear command history
82- - ` /quit ` or ` /exit ` Quit the app
83-
84- Keyboard shortcuts:
85- - Up/Down: cycle command history
86- - Ctrl+L: clear screen
87- - Ctrl+C: stop current run; press twice quickly to exit
88- - Tab: accept autocomplete in menus; Esc: cancel autocomplete/search
89-
90- Notes:
91- - Tool results are hidden in the UI unless a tool fails (you'll see failures clearly).
92- - The header shows tips; use ` /help ` any time for commands and tools.
93-
94- ---
95-
96- ### Configuration
97-
98- Config path: ` ~/.config/binharic/config.json5 `
99-
100- Key fields:
101- - ` defaultModel ` : name of the model to use by default
102- - ` models[] ` : list of provider models with context window sizes
103- - ` systemPrompt ` : global persona/behavior
104- - ` apiKeys ` : env var names for providers (OPENAI_API_KEY, ANTHROPIC_API_KEY, GOOGLE_API_KEY)
105- - ` history.maxItems ` : optional cap on in-memory conversation length
106- - ` mcpServers ` : optional MCP server processes for additional tools
107-
108- History path: ` ~/.config/binharic/history `
109-
110- Logs: ` ~/.config/binharic/logs/ `
111-
112- ---
33+ ### Features
11334
114- ### Makefile Targets
35+ - Can use models from OpenAI, Google, Anthropic, and Ollama
36+ - Is fully customizable (system prompt, models, etc.)
37+ - Comes with a built-in retrieval-augmented generation (RAG) pipeline
38+ - Comes with a large set of built-in tools (like reading and writing files); can use external tools via MCP
39+ - Comes with built-in workflows for standard software development tasks (like debugging and code review)
11540
116- Common targets:
117- - ` make run ` Build then start the TUI (` npm run build && npm start ` )
118- - ` make test ` Run tests
119- - ` make coverage ` Run tests with coverage
120- - ` make lint ` / ` make format ` Quality gates
121- - ` make clean ` Remove build artifacts and caches
41+ See the [ ROADMAP.md] ( ROADMAP.md ) for the list of implemented and planned features.
12242
123- Run ` make help ` for the full list.
43+ > [ !IMPORTANT]
44+ > Binharic is in early development, so bugs and breaking changes are expected.
45+ > Please use the [ issues page] ( https://github.com/CogitatorTech/infera/issues ) to report bugs or request features.
12446
12547---
12648
127- ### Troubleshooting
128-
129- No LLM providers configured:
130- - On first run, Binharic warns and exits if no providers are available.
131- - Set one or more API keys as environment variables (see Quick Start), or switch to Ollama: ` /model qwen3 ` .
132-
133- Ollama connectivity:
134- - Default base URL is http://localhost:11434 (adjustable per model). Ensure the model is pulled and the daemon is running.
135-
136- API key format:
137- - OpenAI: starts with ` sk- ` or ` sk-proj- `
138- - Anthropic: starts with ` sk-ant- `
139- - Google: long base64-ish token
49+ ### Quick Start
14050
141- Logs and errors:
142- - Detailed logs are written under ` ~/.config/binharic/logs/ ` .
143- - Sanitized provider errors are suppressed from stderr but captured in logs.
51+ To be added.
14452
14553---
14654
@@ -150,9 +58,8 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for details on how to make a contribution
15058
15159### License
15260
153- This template is licensed under the MIT License (see [ LICENSE] ( LICENSE ) ).
61+ This project is licensed under the MIT License (see [ LICENSE] ( LICENSE ) ).
15462
15563### Acknowledgements
15664
157- - The logo is from [ SVG Repo] ( https://www.svgrepo.com/svg/388730/terminal ) .
158- - Inspired by the Adeptus Mechanicus from Warhammer 40,000.
65+ - The logo is from [ SVG Repo] ( https://www.svgrepo.com/svg/388730/terminal ) with some modifications.
0 commit comments