|
| 1 | +# Murmur‑Agent 🫧 |
| 2 | +**All‑night thinking git‑agent** – drop it into any project, give it a topic, and let it think while you sleep. |
| 3 | + |
| 4 | +[](https://www.npmjs.com/package/murmur-agent) |
| 5 | +[](https://opensource.org/licenses/MIT) |
| 6 | +[](https://github.com/yourorg/murmur-agent) |
| 7 | +[](https://github.com/yourorg/murmur-agent/actions) |
| 8 | + |
| 9 | +--- |
| 10 | + |
| 11 | +## Table of Contents |
| 12 | +- [What is Murmur‑Agent?](#what-is-murmur-agent) |
| 13 | +- [Features](#features) |
| 14 | +- [Installation](#installation) |
| 15 | +- [Commands](#commands) |
| 16 | +- [How it Works](#how-it-works) |
| 17 | + - [How it Thinks](#how-it-thinks) |
| 18 | +- [Use Cases](#use-cases) |
| 19 | +- [C CLI Version](#c-cli-version) |
| 20 | +- [Comparison: TypeScript vs C](#comparison-typescript-vs-c) |
| 21 | +- [Contributing](#contributing) |
| 22 | +- [License](#license) |
| 23 | + |
| 24 | +--- |
| 25 | + |
| 26 | +## What is Murmur‑Agent? |
| 27 | +Murmur‑Agent is a **budget‑agnostic, local‑first, git‑native** assistant that spends the night (or any amount of time) generating ideas, research notes, and technical insights around a topic you give it. Every thought becomes a Git commit, every insight a file—so your knowledge is always version‑controlled. |
| 28 | + |
| 29 | +--- |
| 30 | + |
| 31 | +## Features |
| 32 | +- **Drop‑in**: Works with any existing repo; no special scaffolding required. |
| 33 | +- **Budget‑agnostic**: Operates with as few as 10 API calls/day or as many as 10 000. |
| 34 | +- **Local‑first**: Can run completely offline on local hardware—no API key needed. |
| 35 | +- **Git‑native**: Each thought is a commit; each insight is a file in `murmur-output/`. |
| 36 | +- **Dual implementation**: TypeScript (Node.js) **and** a tiny C CLI (`murmur-cli.c`). |
| 37 | +- **Emoji branding**: 🫧 bubbles rising to the surface of your codebase. |
| 38 | + |
| 39 | +--- |
| 40 | + |
| 41 | +## Installation |
| 42 | + |
| 43 | +### TypeScript (Node.js) |
| 44 | +```bash |
| 45 | +npm install murmur-agent |
| 46 | +npx murmur think --topic "distributed systems patterns" |
| 47 | +``` |
| 48 | + |
| 49 | +### C CLI (edge devices) |
| 50 | +```bash |
| 51 | +# Compile the C binary (POSIX systems, Raspberry Pi, Jetson, etc.) |
| 52 | +gcc -o murmur c/murmur-cli.c -lm |
| 53 | + |
| 54 | +# Run the same command without Node.js |
| 55 | +./murmur think "distributed systems patterns" |
| 56 | +``` |
| 57 | + |
| 58 | +The C binary stores its state under `~/.murmur/`. |
| 59 | + |
| 60 | +--- |
| 61 | + |
| 62 | +## Commands |
| 63 | +| Command | Description | |
| 64 | +|---------|-------------| |
| 65 | +| `npx murmur think --topic "your topic"` | Start a thinking session (TS) | |
| 66 | +| `./murmur think "your topic"` | Start a thinking session (C) | |
| 67 | +| `murmur scan <directory>` | Ingest files into the knowledge tensor | |
| 68 | +| `murmur budget` | Show remaining daily API budget | |
| 69 | +| `murmur export` | Export all thoughts as a single markdown file | |
| 70 | +| `murmur status` | Display current session state (topic, budget, progress) | |
| 71 | + |
| 72 | +All commands create or update files under `murmur-output/` and automatically commit them. |
| 73 | + |
| 74 | +--- |
| 75 | + |
| 76 | +## How it Works |
| 77 | +1. **Provide a topic & budget** – e.g., `npx murmur think --topic "micro‑service observability"`. |
| 78 | +2. Murmur‑Agent runs four **thinking strategies** (see below) to generate a **knowledge tensor** that grows with each iteration. |
| 79 | +3. Each generated thought is written to a markdown file in `murmur-output/` and committed to the repo. |
| 80 | +4. When the session ends (or the budget is exhausted), you can `murmur export` to collect everything into a single document. |
| 81 | + |
| 82 | +### How it Thinks |
| 83 | +Murmur‑Agent cycles through four complementary strategies: |
| 84 | + |
| 85 | +| Strategy | Goal | What it does | |
| 86 | +|----------|------|--------------| |
| 87 | +| **Diverge** | Explore breadth | Generates a wide‑range list of ideas, related concepts, and possible directions. | |
| 88 | +| **Converge** | Focus depth | Picks the most promising threads from the divergence phase and expands them with detail. | |
| 89 | +| **Challenge** | Test robustness | Actively questions assumptions, surfaces edge‑cases, and highlights potential pitfalls. | |
| 90 | +| **Synthesize** | Create new insight | Combines the refined ideas into cohesive narratives, diagrams, or actionable recommendations. | |
| 91 | + |
| 92 | +The cycle repeats until the budget is spent or the user stops the session. |
| 93 | + |
| 94 | +--- |
| 95 | + |
| 96 | +## Use Cases |
| 97 | +- **Research exploration overnight** – Let Murmur‑Agent skim papers, generate hypotheses, and outline a literature review. |
| 98 | +- **Brainstorming product ideas** – Produce feature lists, market angles, and MVP scopes while you sleep. |
| 99 | +- **Exploring technical trade‑offs** – Compare architectures, list pros/cons, and surface hidden costs. |
| 100 | +- **Building knowledge tensors from codebases** – Scan a repo, extract patterns, and create a living design document. |
| 101 | +- **Background thinking** – Run a low‑budget session on a Raspberry Pi and get incremental insights every day. |
| 102 | + |
| 103 | +--- |
| 104 | + |
| 105 | +## C CLI Version |
| 106 | +- **Compilation**: `gcc -o murmur c/murmur-cli.c -lm` |
| 107 | +- **No Node.js**: Ideal for constrained environments. |
| 108 | +- **Runs on**: Raspberry Pi, Jetson, any POSIX‑compatible system. |
| 109 | +- **State location**: `~/.murmur/` (separate from the repo to keep the binary lightweight). |
| 110 | +- **Same command surface** as the TypeScript version. |
| 111 | + |
| 112 | +--- |
| 113 | + |
| 114 | +## Comparison: TypeScript vs C |
| 115 | + |
| 116 | +| Aspect | TypeScript (Node) | C CLI | |
| 117 | +|--------|-------------------|-------| |
| 118 | +| **Runtime** | Node.js (≥14) | Native binary | |
| 119 | +| **Installation** | `npm install murmur-agent` | `gcc -o murmur murmur-cli.c -lm` | |
| 120 | +| **Dependencies** | npm packages, optional OpenAI SDK | Only standard C library + `-lm` | |
| 121 | +| **Platform** | Cross‑platform (Windows, macOS, Linux) | POSIX only (Linux, macOS, Raspberry Pi, Jetson) | |
| 122 | +| **State storage** | `murmur-output/` in repo | `~/.murmur/` | |
| 123 | +| **Extensibility** | Easy to add plugins via npm | Requires recompilation | |
| 124 | +| **Performance** | Slightly slower start‑up, richer ecosystem | Faster start‑up, lower memory footprint | |
| 125 | +| **Use case** | Development machines, CI pipelines | Edge devices, offline environments | |
| 126 | + |
| 127 | +--- |
| 128 | + |
| 129 | +## Contributing |
| 130 | +Contributions are welcome! Please: |
| 131 | + |
| 132 | +1. Fork the repo and create a feature branch. |
| 133 | +2. Follow the existing code style (Prettier for TS, clang‑format for C). |
| 134 | +3. Write tests for new functionality (`npm test` for TS, `make test` for C). |
| 135 | +4. Submit a Pull Request with a clear description of the change. |
| 136 | + |
| 137 | +See `CONTRIBUTING.md` for detailed guidelines. |
| 138 | + |
| 139 | +--- |
| 140 | + |
| 141 | +## License |
| 142 | +Murmur‑Agent is released under the **MIT License**. See the `LICENSE` file for details. |
0 commit comments