@miriad-systems/nuum 0.1.0

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/README.md ADDED
@@ -0,0 +1,131 @@
1
+ # Nuum
2
+
3
+ An AI coding agent with continuous memory — infinite context across sessions.
4
+
5
+ *Nuum* — from "continuum" — maintains persistent memory across conversations, learning your codebase, preferences, and decisions over time.
6
+
7
+ ## Design Philosophy
8
+
9
+ Nuum is **optimized for embedding**. While it can run standalone, it's designed to be integrated into host applications, IDEs, and orchestration platforms via a simple **NDJSON-over-stdio** protocol.
10
+
11
+ - **Stateless process, stateful memory** — The process can restart anytime; all state lives in SQLite
12
+ - **Simple wire protocol** — JSON messages over stdin/stdout, easy to integrate from any language
13
+ - **Mid-turn injection** — Send corrections while the agent is working; they're injected into the conversation
14
+ - **Persistent identity** — One database = one agent with continuous memory forever
15
+
16
+ See [docs/protocol.md](docs/protocol.md) for the full wire protocol specification.
17
+
18
+ ## Installation
19
+
20
+ ```bash
21
+ # Using bunx (recommended - runs in Bun, fast)
22
+ bunx @miriad-systems/nuum
23
+
24
+ # Using npx (runs in Node.js)
25
+ npx @miriad-systems/nuum
26
+ ```
27
+
28
+ ## Usage
29
+
30
+ ### Embedded Mode (for host applications)
31
+
32
+ ```bash
33
+ nuum --stdio # NDJSON protocol over stdin/stdout
34
+ nuum --stdio --db ./my.db # With custom database
35
+ ```
36
+
37
+ Send JSON messages to stdin, receive responses on stdout:
38
+
39
+ ```json
40
+ → {"type":"user","message":{"role":"user","content":"Hello"}}
41
+ ← {"type":"assistant","message":{"role":"assistant","content":[{"type":"text","text":"Hello! How can I help?"}]},"session_id":"nuum_01JD..."}
42
+ ← {"type":"result","subtype":"success","duration_ms":800,"session_id":"nuum_01JD..."}
43
+ ```
44
+
45
+ ### Interactive Mode
46
+
47
+ ```bash
48
+ nuum # Start interactive session
49
+ nuum --db ./my-project.db # With specific database
50
+ ```
51
+
52
+ ### Batch Mode
53
+
54
+ ```bash
55
+ nuum -p "What is 2+2?"
56
+ nuum -p "Read src/index.ts and explain what it does"
57
+ nuum -p "Refactor the auth module" --verbose
58
+ ```
59
+
60
+ ### CLI Reference
61
+
62
+ ```
63
+ nuum Start interactive session
64
+ nuum --stdio Embedded mode (NDJSON protocol)
65
+ nuum -p "prompt" Batch mode
66
+ nuum --help Show help
67
+
68
+ Options:
69
+ -p, --prompt <text> Run with a prompt (batch mode)
70
+ -v, --verbose Show memory state and debug output
71
+ --stdio NDJSON protocol mode for embedding
72
+ --db <path> SQLite database path (default: ./agent.db)
73
+ --format <type> Output format: text or json (default: text)
74
+ -h, --help Show help message
75
+ ```
76
+
77
+ ## Configuration
78
+
79
+ Only `ANTHROPIC_API_KEY` is required:
80
+
81
+ ```bash
82
+ # Required
83
+ ANTHROPIC_API_KEY=your-key-here
84
+
85
+ # Optional (defaults shown)
86
+ AGENT_MODEL_REASONING=claude-opus-4-5-20251101
87
+ AGENT_MODEL_WORKHORSE=claude-sonnet-4-5-20250929
88
+ AGENT_MODEL_FAST=claude-haiku-4-5-20251001
89
+ AGENT_DB=./agent.db
90
+ ```
91
+
92
+ ## How Memory Works
93
+
94
+ ### Temporal Memory (Working Memory)
95
+ Every message is logged chronologically. As the conversation grows, older content is **distilled** — compressed to retain actionable intelligence: file paths, decisions and rationale, user preferences, specific values.
96
+
97
+ ### Present State
98
+ Tracks the current mission, status, and task list. Updated by the agent as work progresses. Always visible in context.
99
+
100
+ ### Long-Term Memory (LTM)
101
+ A hierarchical knowledge base that persists across sessions. Contains identity, behavioral guidelines, and accumulated knowledge. Background workers consolidate important information from conversations into LTM.
102
+
103
+ ## Development
104
+
105
+ ```bash
106
+ bun install # Install dependencies
107
+ bun run dev # Run in development
108
+ bun run typecheck # Type check
109
+ bun test # Run tests
110
+ bun run build # Build for distribution
111
+ ```
112
+
113
+ ## Acknowledgments
114
+
115
+ ### Letta (formerly MemGPT)
116
+
117
+ Memory architecture influenced by [Letta](https://github.com/letta-ai/letta):
118
+ - Core memory always in context
119
+ - Agent-editable memory
120
+ - Background memory workers
121
+
122
+ ### OpenCode
123
+
124
+ Infrastructure adapted from [OpenCode](https://github.com/anthropics/opencode):
125
+ - Tool definition patterns
126
+ - Permission system
127
+ - Process management
128
+
129
+ ## License
130
+
131
+ MIT