From f12d6079dcc748eed6c95fa507bda885a696d863 Mon Sep 17 00:00:00 2001 From: Hassan Abedi Date: Thu, 16 Oct 2025 15:18:17 +0200 Subject: [PATCH 1/4] The base commit --- README.md | 5 ++--- package.json | 2 +- src/ui/Header.tsx | 2 +- src/ui/HelpMenu.tsx | 2 +- tests/ui/Header.test.tsx | 2 +- 5 files changed, 6 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 6f5dd4d..b1dde0e 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,7 @@ like the ability to analyze projects, run tests, find bugs, and perform code rev - Can use models from OpenAI, Google, Anthropic, and Ollama - Is fully customizable (like customizing system prompt) -- Comes with a built-in retrieval-augmented generation (RAG) pipeline +- Comes with a built-in keyword-based retrieval-augmented generation (RAG) pipeline - Comes with a large set of built-in tools (like reading and writing files) - Can use external tools via the Model Context Protocol (MCP) - Comes with built-in workflows for standard software development tasks (like debugging and code review) @@ -82,10 +82,9 @@ binharic Alternatively, you can run Binharic in a container: ```sh -# API keys should be available in the environment already +# API keys and PWD should be available in the environment already docker run -it --rm \ -v $(PWD):/workspace \ - -w /workspace \ -e OPENAI_API_KEY \ -e ANTHROPIC_API_KEY \ -e GOOGLE_API_KEY \ diff --git a/package.json b/package.json index 9935db5..d1929d2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@cogitator/binharic-cli", - "version": "0.1.0-alpha.5", + "version": "0.1.0-alpha.6", "description": "A coding agent with the persona of a Tech-Priest of the Adeptus Mechanicus", "main": "dist/cli.js", "type": "module", diff --git a/src/ui/Header.tsx b/src/ui/Header.tsx index 405f82f..a2ddb9d 100644 --- a/src/ui/Header.tsx +++ b/src/ui/Header.tsx @@ -23,7 +23,7 @@ export function Header() { 1. Ask questions, edit files, or run commands. 2. Be specific for the best results. - 3. Create BINHARIC.md files to customize your interactions with Binharic. + 3. Create a BINHARIC.md file to customize your interactions with Binharic. 4. /help for more information. diff --git a/src/ui/HelpMenu.tsx b/src/ui/HelpMenu.tsx index 70ba268..314f3f6 100644 --- a/src/ui/HelpMenu.tsx +++ b/src/ui/HelpMenu.tsx @@ -243,7 +243,7 @@ export function HelpMenu() { - Tip: Create BINHARIC.md files to customize interactions with the agent + Tip: Create a BINHARIC.md file to customize interactions with the agent diff --git a/tests/ui/Header.test.tsx b/tests/ui/Header.test.tsx index 369c111..b496698 100644 --- a/tests/ui/Header.test.tsx +++ b/tests/ui/Header.test.tsx @@ -11,7 +11,7 @@ describe("Header", () => { expect(lastFrame()).toContain("1. Ask questions, edit files, or run commands."); expect(lastFrame()).toContain("2. Be specific for the best results."); expect(lastFrame()).toContain( - "3. Create BINHARIC.md files to customize your interactions with Binharic.", + "3. Create a BINHARIC.md file to customize your interactions with Binharic.", ); expect(lastFrame()).toContain("4. /help for more information."); }); From 9c154f96ff93f10bc4624b616f238a5d4f6c6d76 Mon Sep 17 00:00:00 2001 From: Hassan Abedi Date: Thu, 16 Oct 2025 20:25:18 +0200 Subject: [PATCH 2/4] Remove `AGENT.md` from the project --- .dockerignore | 1 - .gitignore | 1 - Dockerfile | 2 +- README.md | 8 ++++---- package.json | 2 +- src/agent/core/state.ts | 2 +- src/ui/ContextSummaryDisplay.tsx | 2 +- 7 files changed, 8 insertions(+), 10 deletions(-) diff --git a/.dockerignore b/.dockerignore index 6fb5550..a7b3c56 100644 --- a/.dockerignore +++ b/.dockerignore @@ -78,7 +78,6 @@ LICENSE CODE_OF_CONDUCT.md CONTRIBUTING.md BINHARIC.md -AGENT.md /docs/ /tests/ vitest.config.ts diff --git a/.gitignore b/.gitignore index c2d56f8..0226fcf 100644 --- a/.gitignore +++ b/.gitignore @@ -162,7 +162,6 @@ coverage/ .env *_test.txt BINHARIC.md -AGENT.md *.tar.gz *.tgz test.txt diff --git a/Dockerfile b/Dockerfile index 0e4f583..f66c459 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,7 +7,7 @@ COPY src ./src RUN npm run build FROM node:20-alpine AS runtime -RUN apk add --no-cache bash git grep findutils coreutils sed gawk curl wget openssh-client ca-certificates make +RUN apk add --no-cache bash git grep findutils coreutils sed gawk curl wget openssh-client ca-certificates make nano WORKDIR /app ENV NODE_ENV=production COPY package*.json ./ diff --git a/README.md b/README.md index b1dde0e..69c792e 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ [![Documentation](https://img.shields.io/badge/docs-latest-8ca0d7?style=flat&labelColor=333333&logo=read-the-docs&logoColor=white)](docs) [![License](https://img.shields.io/badge/license-MIT-00acc1?style=flat&labelColor=333333&logo=open-source-initiative&logoColor=white)](LICENSE) -A coding agent with the persona of a Tech-Priest of the Adeptus Mechanicus +A terminal-based AI coding agent with the persona of a Tech-Priest @@ -34,11 +34,11 @@ like the ability to analyze projects, run tests, find bugs, and perform code rev ### Features - Can use models from OpenAI, Google, Anthropic, and Ollama -- Is fully customizable (like customizing system prompt) +- Is fully customizable and extendable (system prompt and adding new tools) - Comes with a built-in keyword-based retrieval-augmented generation (RAG) pipeline -- Comes with a large set of built-in tools (like reading and writing files) +- Comes with a large set of built-in tools (like for reading files and running Bash commands) - Can use external tools via the Model Context Protocol (MCP) -- Comes with built-in workflows for standard software development tasks (like debugging and code review) +- Comes with predefined workflows for common software development tasks (like debugging and code review) See the [ROADMAP.md](ROADMAP.md) for the list of implemented and planned features. diff --git a/package.json b/package.json index d1929d2..11c8f15 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@cogitator/binharic-cli", "version": "0.1.0-alpha.6", - "description": "A coding agent with the persona of a Tech-Priest of the Adeptus Mechanicus", + "description": "A terminal-based AI coding agent with the persona of a Tech-Priest", "main": "dist/cli.js", "type": "module", "bin": { diff --git a/src/agent/core/state.ts b/src/agent/core/state.ts index 29a209a..453a859 100644 --- a/src/agent/core/state.ts +++ b/src/agent/core/state.ts @@ -204,7 +204,7 @@ export const useStore = create((set, get) => ({ validateModelApiKey(modelConfig, config); } - const autoContextFiles = ["BINHARIC.md", "AGENT.md"] + const autoContextFiles = ["BINHARIC.md"] .map((p) => path.resolve(p)) .filter((p) => fsSync.existsSync(p)); if (autoContextFiles.length > 0) { diff --git a/src/ui/ContextSummaryDisplay.tsx b/src/ui/ContextSummaryDisplay.tsx index 5f886c0..56b5fdc 100644 --- a/src/ui/ContextSummaryDisplay.tsx +++ b/src/ui/ContextSummaryDisplay.tsx @@ -15,7 +15,7 @@ export function ContextSummaryDisplay() { {count > 0 ? `Reading ${count} context file(s): ${names.join(", ")}` - : "No context files loaded. Add files with /add or create a BINHARIC.md or AGENT.md file."} + : "No context files loaded. Add files with /add or create a BINHARIC.md file in the current directory."} ); From e9cb5bd456ce2c7e812ce03447492122ed3376ba Mon Sep 17 00:00:00 2001 From: Hassan Abedi Date: Thu, 16 Oct 2025 20:45:07 +0200 Subject: [PATCH 3/4] Fix a bug on the main `README.md` --- README.md | 14 ++++++++++---- package.json | 2 +- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 69c792e..f658dc5 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ [![Documentation](https://img.shields.io/badge/docs-latest-8ca0d7?style=flat&labelColor=333333&logo=read-the-docs&logoColor=white)](docs) [![License](https://img.shields.io/badge/license-MIT-00acc1?style=flat&labelColor=333333&logo=open-source-initiative&logoColor=white)](LICENSE) -A terminal-based AI coding agent with the persona of a Tech-Priest +A multi-provider AI coding agent with the persona of a Tech-Priest @@ -82,18 +82,24 @@ binharic Alternatively, you can run Binharic in a container: ```sh -# API keys and PWD should be available in the environment already +# API keys should be available in the environment already docker run -it --rm \ - -v $(PWD):/workspace \ + -v ${PWD}:/workspace \ -e OPENAI_API_KEY \ -e ANTHROPIC_API_KEY \ -e GOOGLE_API_KEY \ ghcr.io/cogitatortech/binharic-cli: ``` -`` should be replaced with the version of the Binharic (like `0.1.0-alpha.4`) or `latest`. +`` should be replaced with the version of the Binharic (like `0.1.0-alpha.6`) or `latest`. Use `latest` if you want to use the latest (development) version of Binharic. +#### Configuration + +You can configure Binharic by editing the `~/.config/binharic/config.json5` file. +Additionally, Binharic supports environment variables for configuration. +See the [docs](docs) (TO BE ADDED) for more information. + --- ### Documentation diff --git a/package.json b/package.json index 11c8f15..54fd164 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@cogitator/binharic-cli", "version": "0.1.0-alpha.6", - "description": "A terminal-based AI coding agent with the persona of a Tech-Priest", + "description": "A multi-provider AI coding agent with the persona of a Tech-Priest", "main": "dist/cli.js", "type": "module", "bin": { From 7f8fe7e7a14157c4526a92e4295f491b582c0323 Mon Sep 17 00:00:00 2001 From: Hassan Abedi Date: Thu, 16 Oct 2025 21:14:14 +0200 Subject: [PATCH 4/4] Add a screenshot of the start screen --- README.md | 2 ++ docs/assets/screenshots/start-screen-1-v0.1.0-alpha.6.png | 3 +++ 2 files changed, 5 insertions(+) create mode 100644 docs/assets/screenshots/start-screen-1-v0.1.0-alpha.6.png diff --git a/README.md b/README.md index f658dc5..ce379cf 100644 --- a/README.md +++ b/README.md @@ -70,6 +70,8 @@ export GOOGLE_API_KEY= binharic ``` +[![Binharic Start Screen](docs/assets/screenshots/start-screen-1-v0.1.0-alpha.6.png)](docs/assets/screenshots/start-screen-1-v0.1.0-alpha.6.png) + [![asciicast](https://asciinema.org/a/vDae95b1lm20X7HGSlcVe3M6C.svg)](https://asciinema.org/a/vDae95b1lm20X7HGSlcVe3M6C) > [!NOTE] diff --git a/docs/assets/screenshots/start-screen-1-v0.1.0-alpha.6.png b/docs/assets/screenshots/start-screen-1-v0.1.0-alpha.6.png new file mode 100644 index 0000000..7d33c17 --- /dev/null +++ b/docs/assets/screenshots/start-screen-1-v0.1.0-alpha.6.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eb96c0ff1958eec24df7f3e79ba2d177df6921d847d18ed889fccddb7aac50f1 +size 49459