Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,6 @@ LICENSE
CODE_OF_CONDUCT.md
CONTRIBUTING.md
BINHARIC.md
AGENT.md
/docs/
/tests/
vitest.config.ts
Expand Down
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,6 @@ coverage/
.env
*_test.txt
BINHARIC.md
AGENT.md
*.tar.gz
*.tgz
test.txt
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -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 ./
Expand Down
23 changes: 15 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 multi-provider AI coding agent with the persona of a Tech-Priest

</div>

Expand All @@ -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)
- Comes with a built-in retrieval-augmented generation (RAG) pipeline
- Comes with a large set of built-in tools (like reading and writing files)
- 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 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.

Expand Down Expand Up @@ -70,6 +70,8 @@ export GOOGLE_API_KEY=<your-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]
Expand All @@ -84,17 +86,22 @@ Alternatively, you can run Binharic in a container:
```sh
# API keys should be available in the environment already
docker run -it --rm \
-v $(PWD):/workspace \
-w /workspace \
-v ${PWD}:/workspace \
-e OPENAI_API_KEY \
-e ANTHROPIC_API_KEY \
-e GOOGLE_API_KEY \
ghcr.io/cogitatortech/binharic-cli:<version>
```

`<version>` should be replaced with the version of the Binharic (like `0.1.0-alpha.4`) or `latest`.
`<version>` 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
Expand Down
3 changes: 3 additions & 0 deletions docs/assets/screenshots/start-screen-1-v0.1.0-alpha.6.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@cogitator/binharic-cli",
"version": "0.1.0-alpha.5",
"description": "A coding agent with the persona of a Tech-Priest of the Adeptus Mechanicus",
"version": "0.1.0-alpha.6",
"description": "A multi-provider AI coding agent with the persona of a Tech-Priest",
"main": "dist/cli.js",
"type": "module",
"bin": {
Expand Down
2 changes: 1 addition & 1 deletion src/agent/core/state.ts
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,7 @@ export const useStore = create<AppState & AppActions>((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) {
Expand Down
2 changes: 1 addition & 1 deletion src/ui/ContextSummaryDisplay.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ export function ContextSummaryDisplay() {
<Text color={theme.dim}>
{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."}
</Text>
</Box>
);
Expand Down
2 changes: 1 addition & 1 deletion src/ui/Header.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ export function Header() {
<Text dimColor>1. Ask questions, edit files, or run commands.</Text>
<Text dimColor>2. Be specific for the best results.</Text>
<Text dimColor>
3. Create BINHARIC.md files to customize your interactions with Binharic.
3. Create a BINHARIC.md file to customize your interactions with Binharic.
</Text>
<Text dimColor>4. /help for more information.</Text>
</Box>
Expand Down
2 changes: 1 addition & 1 deletion src/ui/HelpMenu.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -243,7 +243,7 @@ export function HelpMenu() {

<Box marginTop={1} justifyContent="center">
<Text color={theme.dim} dimColor>
Tip: Create BINHARIC.md files to customize interactions with the agent
Tip: Create a BINHARIC.md file to customize interactions with the agent
</Text>
</Box>
</Box>
Expand Down
2 changes: 1 addition & 1 deletion tests/ui/Header.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -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.");
});
Expand Down
Loading