@holt-os/holt 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Debashis Nayak
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,65 @@
1
+ # Holt
2
+
3
+ **Everything you know, kept and connected.**
4
+
5
+ Holt is an open-source, self-hosted personal agent OS. Clone it, pick your skills, choose your brain — and it runs on *your* machine with persistent memory you can actually see and walk.
6
+
7
+ > A *holt* is a small wood — a sheltered place where things are kept and grow. That's the idea: a private home for your knowledge that compounds over time.
8
+
9
+ > 🚧 **Status: early development (Phase 0).** The architecture and roadmap are locked and the CLI skeleton is here, but Holt is not yet functional end-to-end. Star/watch to follow along — contributions welcome.
10
+
11
+ ---
12
+
13
+ ## Why Holt
14
+
15
+ - 🧠 **Memory you can see.** Persistent RAG memory plus a *navigable knowledge graph* of everything you feed it — not a black-box profile you have to trust.
16
+ - 🔌 **Any LLM.** Claude, OpenAI, Gemini, or a local model — swap your brain with one line of config. No vendor lock-in.
17
+ - 💸 **Local executes, cloud reviews.** Run a local model for the work and let a premium cloud model review only the risky, irreversible steps. Cheap and private by design.
18
+ - 🧩 **MCP plugin pantry.** Skills, channels, providers, embeddings — everything is a plugin speaking the [Model Context Protocol](https://modelcontextprotocol.io). Extend it in any language.
19
+ - 📚 **Standard skills.** Compatible with the [agentskills.io](https://agentskills.io) skill format — pull from the community catalog or publish your own.
20
+ - 🖥️ **CLI-first.** Works in your terminal the moment you clone. Telegram and other channels are opt-in.
21
+
22
+ ## Quickstart
23
+
24
+ > Not functional yet — this is the intended interface (Phase 0).
25
+
26
+ ```bash
27
+ npm install -g @holt-os/holt # or: pnpm add -g @holt-os/holt
28
+ holt init # pick your brain + memory (local or cloud)
29
+ holt chat # start talking
30
+ ```
31
+
32
+ Add skills:
33
+
34
+ ```bash
35
+ holt skill search finance
36
+ holt skill add deep-research
37
+ ```
38
+
39
+ ## Configuration
40
+
41
+ Copy `config.example.yml` to `config.yml` and edit. See the file for the full schema — brain/provider, memory + embeddings, output format (HTML or Markdown), orchestration, and channels.
42
+
43
+ ## Architecture
44
+
45
+ Small strongly-typed **TypeScript core** (agent loop, brain router, memory orchestration, risky-action review gate, plugin dispatcher). *Everything else* is an MCP plugin — providers, embeddings, skills, channels. See [`ARCHITECTURE.md`](./ARCHITECTURE.md).
46
+
47
+ ## Roadmap
48
+
49
+ Built in always-shippable phases toward a full-vision v1:
50
+
51
+ 0. **Skeleton** — core loop + CLI *(in progress)*
52
+ 1. **Memory** — sqlite-vec RAG + embeddings
53
+ 2. **Any-LLM** — provider plugins + output toggle
54
+ 3. **Skills** — agentskills.io catalog + installer
55
+ 4. **Knowledge graph** — navigable memory view
56
+ 5. **Orchestration** — local-executes / cloud-reviews
57
+ 6. **Channels + polish** — Telegram, docs, one-command install
58
+
59
+ ## Contributing
60
+
61
+ Holt is built to be extended without touching the core. See [`CONTRIBUTING.md`](./CONTRIBUTING.md).
62
+
63
+ ## License
64
+
65
+ [MIT](./LICENSE) © Debashis Nayak
@@ -0,0 +1,38 @@
1
+ # Holt configuration — copy to config.yml and edit.
2
+ # config.yml is git-ignored; never commit secrets or personal memory.
3
+
4
+ # ── Brain ────────────────────────────────────────────────────────────────
5
+ # The LLM that runs the agent. Provider-agnostic: swap freely.
6
+ brain:
7
+ provider: anthropic # anthropic | openai | gemini | local
8
+ model: claude-opus-4-8 # e.g. gpt-5.x | gemini-3.x | a local model tag
9
+ api_key_env: ANTHROPIC_API_KEY # name of the env var holding the key
10
+
11
+ # ── Orchestration ────────────────────────────────────────────────────────
12
+ # Optional: let a local model do the work while a cloud model reviews only
13
+ # risky/irreversible actions (file writes, deletes, shell, sending, spending).
14
+ orchestration:
15
+ enabled: false
16
+ executor: # the worker (usually a local model)
17
+ provider: local
18
+ model: "" # e.g. a local coding model via Ollama
19
+ reviewer: # gates risky actions: approve | edit | block
20
+ provider: anthropic
21
+ model: claude-opus-4-8
22
+
23
+ # ── Memory ───────────────────────────────────────────────────────────────
24
+ memory:
25
+ store: sqlite-vec # sqlite-vec (zero infra) | pgvector
26
+ embeddings: local # local | openai | gemini
27
+ # For local embeddings, Holt uses a local model (auto-set up on first run).
28
+
29
+ # ── Output ───────────────────────────────────────────────────────────────
30
+ output:
31
+ format: markdown # markdown | html
32
+
33
+ # ── Channels ─────────────────────────────────────────────────────────────
34
+ # CLI always works. Everything below is opt-in.
35
+ channels:
36
+ telegram:
37
+ enabled: false
38
+ token_env: TELEGRAM_BOT_TOKEN
package/dist/cli.js ADDED
@@ -0,0 +1,61 @@
1
+ #!/usr/bin/env node
2
+
3
+ // src/cli.ts
4
+ var VERSION = "0.0.1";
5
+ var BANNER = `
6
+ \u2588\u2588\u2557 \u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2557 \u2588\u2588\u2557 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557
7
+ \u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2554\u2550\u2550\u2550\u2588\u2588\u2557\u2588\u2588\u2551 \u255A\u2550\u2550\u2588\u2588\u2554\u2550\u2550\u255D
8
+ \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2551
9
+ \u2588\u2588\u2554\u2550\u2550\u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2551\u2588\u2588\u2551 \u2588\u2588\u2551
10
+ \u2588\u2588\u2551 \u2588\u2588\u2551\u255A\u2588\u2588\u2588\u2588\u2588\u2588\u2554\u255D\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2557\u2588\u2588\u2551
11
+ \u255A\u2550\u255D \u255A\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u255D \u255A\u2550\u2550\u2550\u2550\u2550\u2550\u255D\u255A\u2550\u255D
12
+ Everything you know, kept and connected.
13
+ `;
14
+ var HELP = `${BANNER}
15
+ Usage: holt <command> [options]
16
+
17
+ Commands:
18
+ init Set up your brain (LLM) and memory (local or cloud)
19
+ chat Start an interactive session
20
+ skill <cmd> Manage skills: search | add | remove | list | publish
21
+ version Print the Holt version
22
+ help Show this help
23
+
24
+ Docs: https://productsdecoded.com/holt
25
+ Repo: https://github.com/holt-os/holt
26
+
27
+ Holt is in early development (Phase 0). Most commands are not wired up yet.
28
+ `;
29
+ function notReady(cmd) {
30
+ console.log(`
31
+ "${cmd}" is not implemented yet \u2014 Holt is in Phase 0 (skeleton).`);
32
+ console.log(" Follow progress: https://github.com/holt-os/holt\n");
33
+ }
34
+ function main(argv) {
35
+ const [cmd, ...rest] = argv;
36
+ switch (cmd) {
37
+ case void 0:
38
+ case "help":
39
+ case "-h":
40
+ case "--help":
41
+ console.log(HELP);
42
+ break;
43
+ case "version":
44
+ case "-v":
45
+ case "--version":
46
+ console.log(`holt ${VERSION}`);
47
+ break;
48
+ case "init":
49
+ case "chat":
50
+ case "skill":
51
+ notReady([cmd, ...rest].join(" "));
52
+ break;
53
+ default:
54
+ console.log(`
55
+ Unknown command: "${cmd}"`);
56
+ console.log(` Run "holt help" for usage.
57
+ `);
58
+ process.exitCode = 1;
59
+ }
60
+ }
61
+ main(process.argv.slice(2));
package/package.json ADDED
@@ -0,0 +1,53 @@
1
+ {
2
+ "name": "@holt-os/holt",
3
+ "version": "0.0.1",
4
+ "description": "An open-source personal agent OS — any LLM, private memory you can see and walk.",
5
+ "type": "module",
6
+ "license": "MIT",
7
+ "author": "Debashis Nayak",
8
+ "homepage": "https://productsdecoded.com/holt",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git+https://github.com/holt-os/holt.git"
12
+ },
13
+ "bugs": {
14
+ "url": "https://github.com/holt-os/holt/issues"
15
+ },
16
+ "keywords": [
17
+ "ai",
18
+ "agent",
19
+ "agent-os",
20
+ "personal-assistant",
21
+ "llm",
22
+ "mcp",
23
+ "memory",
24
+ "rag",
25
+ "knowledge-graph",
26
+ "self-hosted",
27
+ "local-first",
28
+ "agentskills"
29
+ ],
30
+ "bin": {
31
+ "holt": "dist/cli.js"
32
+ },
33
+ "files": [
34
+ "dist",
35
+ "config.example.yml",
36
+ "README.md",
37
+ "LICENSE"
38
+ ],
39
+ "engines": {
40
+ "node": ">=20"
41
+ },
42
+ "scripts": {
43
+ "dev": "tsx src/cli.ts",
44
+ "build": "tsup src/cli.ts --format esm --clean",
45
+ "start": "node dist/cli.js",
46
+ "typecheck": "tsc --noEmit"
47
+ },
48
+ "devDependencies": {
49
+ "tsup": "^8.1.0",
50
+ "tsx": "^4.16.0",
51
+ "typescript": "^5.5.0"
52
+ }
53
+ }