orc-ai 0.1.2 → 0.1.4

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.
Files changed (3) hide show
  1. package/README.md +153 -0
  2. package/dist/index.js +225 -145
  3. package/package.json +63 -63
package/README.md ADDED
@@ -0,0 +1,153 @@
1
+ # orc — Human + AI Orchestration Hub
2
+
3
+ > Persistent memory · Task management with HITL review · Generic job runner · MCP server for Claude Code, Cursor, Codex, and Gemini CLI.
4
+ >
5
+ > One SQLite file. Shared across every agent you use.
6
+
7
+ ## Install
8
+
9
+ ```bash
10
+ npm install -g orc-ai
11
+ # or
12
+ bun add -g orc-ai
13
+ ```
14
+
15
+ > **Requires [Bun](https://bun.sh) ≥ 1.1** to run. Bun is used as the runtime — install it once, then `orc` works everywhere.
16
+
17
+ ## What it does
18
+
19
+ ORC is the shared brain between you and your AI agents. Every agent connects to the same store of tasks, memories, and jobs — so when you switch from Claude Code to Cursor, context doesn't evaporate.
20
+
21
+ - **Shared memory** — store decisions, rules, discoveries once; any agent can search them
22
+ - **Task board** — tasks move through `todo → doing → review → done`; agents submit for review, you approve
23
+ - **Job runner** — schedule any command (cron, file-watch, manual); logs every run
24
+ - **MCP server** — one config line connects any agent to all of the above
25
+ - **Session continuity** — hooks capture what happened; snapshots survive context compaction
26
+ - **Gateway** — approve agent work from Telegram or Slack; start live Claude/Codex sessions from your phone
27
+
28
+ ## Quick Start
29
+
30
+ ```bash
31
+ # Start the API (keeps the DB open and serves the REST + MCP endpoint)
32
+ orc daemon start
33
+
34
+ # In another terminal — try it
35
+ orc status
36
+ orc task add "Fix the auth bug" --priority high
37
+ orc mem add "Use RWMutex for token refresh" --type decision --scope myproject
38
+ orc job add nightly --command "echo hello" --trigger cron --cron "0 22 * * *"
39
+ ```
40
+
41
+ The database is created automatically at `~/.orc/orc.db` on first run.
42
+
43
+ ## Agent Setup
44
+
45
+ ### Cursor
46
+
47
+ Add to `.cursor/mcp.json` in your project (or the global Cursor MCP config):
48
+
49
+ ```json
50
+ {
51
+ "mcpServers": {
52
+ "orc": {
53
+ "command": "orc",
54
+ "args": ["mcp"],
55
+ "env": {
56
+ "ORC_API_BASE": "http://127.0.0.1:7700",
57
+ "ORC_SESSION_ID": "cursor"
58
+ }
59
+ }
60
+ }
61
+ }
62
+ ```
63
+
64
+ ### Claude Code
65
+
66
+ Copy `hooks/claude-code/settings.json` from the [orc repo](https://github.com/niradler/orc) to `~/.claude/settings.json` and replace the path placeholder with your actual path.
67
+
68
+ ### Codex
69
+
70
+ Copy `hooks/codex/settings.json` from the [orc repo](https://github.com/niradler/orc) to `~/.codex/settings.json`.
71
+
72
+ ### Gemini CLI
73
+
74
+ ```json
75
+ {
76
+ "mcpServers": {
77
+ "orc": {
78
+ "command": "orc",
79
+ "args": ["mcp"],
80
+ "env": {
81
+ "ORC_API_BASE": "http://127.0.0.1:7700",
82
+ "ORC_SESSION_ID": "gemini"
83
+ }
84
+ }
85
+ }
86
+ }
87
+ ```
88
+
89
+ ## CLI Reference
90
+
91
+ ```
92
+ orc daemon start Start API + scheduler + file-watchers + gateway
93
+ orc daemon stop Send SIGTERM to running daemon
94
+ orc daemon status Show scheduler state + next run times per job
95
+ orc home Show ~/.orc directory, daemon state, and config
96
+
97
+ orc api Start the API server only (no scheduler)
98
+ orc mcp Start the MCP server in stdio mode
99
+ orc status Show API health, task count, memory count
100
+
101
+ orc task list [--status] List tasks (default: active)
102
+ orc task add <title> Create a task (--priority, --body, --project)
103
+ orc task done <id> Mark a task done
104
+ orc task review <id> Submit task for HITL review
105
+ orc task approve <id> Approve a review
106
+ orc task reject <id> Request changes
107
+
108
+ orc mem list List recent memories (--limit)
109
+ orc mem add <content> Store a memory (--type, --scope, --title)
110
+ orc mem search <query> Search memories via BM25 + trigram
111
+
112
+ orc job list List all jobs with trigger type and run count
113
+ orc job add <name> Create a job (--command, --trigger, --cron, --watch)
114
+ orc job run <name> Trigger a job immediately
115
+ orc job runs <name> Show run history (--logs, --sessions, --limit)
116
+
117
+ orc session list List recent agent sessions
118
+ orc session show <id> Show session detail
119
+ ```
120
+
121
+ ## Configuration
122
+
123
+ Create `~/.orc/config.json`:
124
+
125
+ ```json
126
+ {
127
+ "api": {
128
+ "port": 7700,
129
+ "host": "127.0.0.1",
130
+ "secret": "optional-bearer-token"
131
+ }
132
+ }
133
+ ```
134
+
135
+ Key env vars: `ORC_DB_PATH`, `ORC_API_PORT` (default 7700), `ORC_API_SECRET`, `ORC_SESSION_ID`, `ORC_LOG_LEVEL`.
136
+
137
+ ## Cross-agent collaboration
138
+
139
+ All agents share one SQLite file — intentionally.
140
+
141
+ ```
142
+ Claude Code ──┐
143
+ Cursor ──┤──→ ~/.orc/orc.db ←── orc cli (you)
144
+ Codex ──┘
145
+ ```
146
+
147
+ A task created by Claude Code appears in Cursor's context. A rule stored by Codex shows up in Claude Code's memory search.
148
+
149
+ Set `ORC_SESSION_ID` per agent (e.g. `cursor`, `codex`, `claude-code`) so sessions don't collide.
150
+
151
+ ---
152
+
153
+ Full documentation: [github.com/niradler/orc](https://github.com/niradler/orc)