@cpenned/cli 0.1.0 → 0.3.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 CHANGED
@@ -58,7 +58,7 @@ ob today
58
58
  ob view upcoming --tz America/New_York
59
59
 
60
60
  # Tasks
61
- ob task create "Email the landlord" --garden <gardenId> --when today --priority high
61
+ ob task create "Email the landlord" --garden <gardenId> --deadline today --priority high
62
62
  ob task list --garden <gardenId> --status todo in_progress
63
63
  ob task get <taskId>
64
64
  ob task update <taskId> --deadline 2026-07-01
@@ -73,12 +73,31 @@ ob project create "Q3 launch" --garden <gardenId>
73
73
  ob garden create "Health" --context "fitness, doctor, meds"
74
74
  ob tag create urgent --color "#c1502e"
75
75
 
76
+ # People (personal CRM)
77
+ ob person create "Megan" --relationship wife --alias Meg --contact-every 1 --contact-unit week
78
+ ob person link <personId> --garden <gardenId> --task <taskId>
79
+ ob person link <chrisId> --person "<christinaId>=wife" # connect two people (symmetric)
80
+ ob person contacted <personId> # reached out -> restarts the contact clock
81
+ ob person contacted <personId> --at -3d # backdate a touch that happened earlier
82
+ ob person update <personId> --detail "Kids=Silas, Jude" --clear contactInterval
83
+ ob person restore <personId> # undo a person rm (archive)
84
+ ob person list
85
+ ob person list christina # search name/alias/company/notes
86
+ ob task create "Send book rec" --garden <gardenId> --person <personId>
87
+ ob task list --person <personId> # tasks linked to a person
88
+
76
89
  # Reviews
77
- ob review queue
90
+ ob review queue # incl. people due for contact
78
91
  ob review garden <gardenId> # deep review
79
92
  ob review request <gardenId> # force into the queue
80
93
  ob review task <taskId> # mark reviewed
81
94
 
95
+ # Default review period (applied to new tasks/projects; 2 weeks out of the box)
96
+ ob settings # show vault settings
97
+ ob settings review --every 1 --unit month # change the default
98
+ ob settings review --none # disable it
99
+ ob task create "One-off" --garden <gardenId> --no-review # opt one item out
100
+
82
101
  # AI (needs the relevant provider keys configured on the deployment)
83
102
  ob find authentication bug
84
103
  ob triage "call dentist, buy milk, draft the Q3 deck"
@@ -95,18 +114,22 @@ command group.
95
114
 
96
115
  ## Agent skills
97
116
 
98
- The CLI ships with the `open-brain-cli` agent skill so an assistant (e.g. Claude
99
- Code) can drive `ob` on your machine. Install it into your skills directory:
117
+ The CLI ships with the `open-brain-cli` and `open-brain-mcp` agent skills so an
118
+ assistant (e.g. Claude Code) can drive `ob` or the MCP tools on your machine.
119
+ Install them into your skills directory:
100
120
 
101
121
  ```bash
102
122
  ob skills list # what's bundled, and whether it's installed
103
123
  ob skills install # copy into ~/.claude/skills
104
- ob skills install --force # overwrite an existing copy
105
- ob skills uninstall # remove it again
124
+ ob skills install --force # overwrite existing copies
125
+ ob skills uninstall # remove them again
106
126
  ```
107
127
 
108
128
  Skills install into `~/.claude/skills` by default; pass `--dir <path>` to target
109
- another location. Restart your agent afterwards so it picks up the new skill.
129
+ another location, or name skills to act on a subset (e.g.
130
+ `ob skills install open-brain-mcp`). Restart your agent afterwards so it picks
131
+ up the new skills. (The MCP package can also install its own skill without this
132
+ CLI: `npx -y @cpenned/mcp install-skills`.)
110
133
 
111
134
  ## Develop
112
135
 
package/dist/format.js CHANGED
@@ -24,14 +24,14 @@ function meta(item) {
24
24
  const bits = [];
25
25
  if (typeof item.status === "string")
26
26
  bits.push(item.status);
27
- if (isRec(item.when) && typeof item.when.type === "string")
28
- bits.push(item.when.type);
29
- else if (typeof item.when === "string")
30
- bits.push(item.when);
27
+ if (typeof item.relationship === "string")
28
+ bits.push(item.relationship);
31
29
  if (typeof item.priority === "string" && item.priority !== "none")
32
30
  bits.push(`!${item.priority}`);
33
31
  if (item.deadline)
34
32
  bits.push(`due ${fmtDate(item.deadline)}`);
33
+ if (item.nextContactAt)
34
+ bits.push(`contact due ${fmtDate(item.nextContactAt)}`);
35
35
  if (Array.isArray(item.scopes))
36
36
  bits.push(item.scopes.join(","));
37
37
  if (item.archived === true)
@@ -127,10 +127,15 @@ function render(data) {
127
127
  console.log(dim(`mode: ${data.mode}`));
128
128
  return;
129
129
  }
130
- // Review queue.
131
- if (Array.isArray(data.tasks) || Array.isArray(data.projects)) {
130
+ // Review queue ({ tasks, projects, people } — all three always present).
131
+ // Requiring every key keeps a person detail (which also carries a `people`
132
+ // array of connections) out of this branch.
133
+ if (Array.isArray(data.tasks) &&
134
+ Array.isArray(data.projects) &&
135
+ Array.isArray(data.people)) {
132
136
  const tasks = Array.isArray(data.tasks) ? data.tasks : [];
133
137
  const projects = Array.isArray(data.projects) ? data.projects : [];
138
+ const people = Array.isArray(data.people) ? data.people : [];
134
139
  if (tasks.length) {
135
140
  console.log(bold("Tasks"));
136
141
  renderList(tasks);
@@ -139,7 +144,11 @@ function render(data) {
139
144
  console.log(bold("Projects"));
140
145
  renderList(projects);
141
146
  }
142
- if (!tasks.length && !projects.length)
147
+ if (people.length) {
148
+ console.log(bold("Reach out"));
149
+ renderList(people);
150
+ }
151
+ if (!tasks.length && !projects.length && !people.length)
143
152
  console.log(dim("Nothing due."));
144
153
  return;
145
154
  }
@@ -1 +1 @@
1
- {"version":3,"file":"format.js","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -18,7 +18,6 @@ program
18
18
  const num = (v) => (v === undefined ? undefined : Number(v));
19
19
  const csv = (v) => Array.isArray(v) && v.length ? v.join(",") : undefined;
20
20
  const str = (v) => (typeof v === "string" ? v : undefined);
21
- const whenOf = (v) => typeof v === "string" ? { type: v } : undefined;
22
21
  async function run(fn) {
23
22
  try {
24
23
  const data = await fn(new OpenBrainClient(loadConfig()));
@@ -156,18 +155,28 @@ skills
156
155
  });
157
156
  // --- tasks -----------------------------------------------------------------
158
157
  const task = program.command("task").description("Create, list and update tasks");
158
+ // --review-every/--review-unit set a cadence; --no-review sends null (create:
159
+ // skip the vault default; update: clear the cadence). Commander's --no-review
160
+ // negation makes o.review default true, false only when the flag is passed.
161
+ function reviewIntervalOf(o) {
162
+ if (o.review === false)
163
+ return null;
164
+ const every = num(o.reviewEvery);
165
+ return every ? { value: every, unit: str(o.reviewUnit) ?? "week" } : undefined;
166
+ }
159
167
  function taskBody(o) {
160
168
  return {
161
169
  title: str(o.title),
162
170
  gardenId: str(o.garden),
163
171
  projectId: str(o.project),
164
172
  notes: str(o.notes),
165
- when: whenOf(o.when),
166
173
  deferDate: str(o.defer),
167
174
  deadline: str(o.deadline),
168
175
  priority: str(o.priority),
169
176
  estimateMinutes: num(o.estimate),
177
+ reviewInterval: reviewIntervalOf(o),
170
178
  tagIds: Array.isArray(o.tag) ? o.tag : undefined,
179
+ personIds: Array.isArray(o.person) ? o.person : undefined,
171
180
  status: str(o.status),
172
181
  };
173
182
  }
@@ -175,12 +184,15 @@ const withTaskWriteOpts = (cmd) => cmd
175
184
  .option("--garden <id>", "garden id")
176
185
  .option("--project <id>", "project id")
177
186
  .option("--notes <markdown>", "notes (markdown)")
178
- .option("--when <bucket>", "today | anytime | someday")
179
187
  .option("--defer <date>", "defer date (ISO/epoch/natural language)")
180
188
  .option("--deadline <date>", "deadline (ISO/epoch/natural language)")
181
189
  .option("--priority <p>", "none | low | medium | high")
182
190
  .option("--estimate <minutes>", "estimate in minutes")
183
- .option("--tag <id...>", "tag ids");
191
+ .option("--review-every <n>", "review cadence value, e.g. 2")
192
+ .option("--review-unit <unit>", "day | week | month (default week)")
193
+ .option("--no-review", "create: skip the vault default; update: clear the cadence")
194
+ .option("--tag <id...>", "tag ids")
195
+ .option("--person <id...>", "person ids to link");
184
196
  withTaskWriteOpts(task.command("create <title>").description("Create a task (must belong to a garden)")).action((title, o) => run((c) => c.post("/v1/tasks", { ...taskBody({ ...o, title }) })));
185
197
  task
186
198
  .command("list")
@@ -190,8 +202,8 @@ task
190
202
  .option("--project <id>")
191
203
  .option("--status <s...>", "backlog|todo|in_progress|done|canceled")
192
204
  .option("--priority <p...>", "none|low|medium|high")
193
- .option("--when <w...>", "today|anytime|someday")
194
205
  .option("--tag <id...>", "tag ids")
206
+ .option("--person <id...>", "person ids")
195
207
  .option("--q <text>", "substring text filter")
196
208
  .option("--deferred <mode>", "respect | all")
197
209
  .option("--include-canceled")
@@ -204,8 +216,8 @@ task
204
216
  projectId: str(o.project),
205
217
  status: csv(o.status),
206
218
  priority: csv(o.priority),
207
- when: csv(o.when),
208
219
  tag: csv(o.tag),
220
+ person: csv(o.person),
209
221
  q: str(o.q),
210
222
  deferred: str(o.deferred),
211
223
  includeCanceled: o.includeCanceled ? true : undefined,
@@ -223,6 +235,7 @@ withTaskWriteOpts(task.command("update <id>").description("Patch task fields and
223
235
  .action((id, o) => {
224
236
  const body = taskBody(o);
225
237
  delete body.tagIds;
238
+ delete body.personIds;
226
239
  return run((c) => c.patch(`/v1/tasks/${id}`, body));
227
240
  });
228
241
  task
@@ -268,20 +281,22 @@ function projectBody(o) {
268
281
  name: str(o.name),
269
282
  gardenId: str(o.garden),
270
283
  notes: str(o.notes),
271
- when: whenOf(o.when),
272
284
  deferDate: str(o.defer),
273
285
  deadline: str(o.deadline),
274
286
  estimateMinutes: num(o.estimate),
287
+ reviewInterval: reviewIntervalOf(o),
275
288
  status: str(o.status),
276
289
  };
277
290
  }
278
291
  const withProjectWriteOpts = (cmd) => cmd
279
292
  .option("--garden <id>", "garden id")
280
293
  .option("--notes <markdown>")
281
- .option("--when <bucket>", "today | anytime | someday")
282
294
  .option("--defer <date>")
283
295
  .option("--deadline <date>")
284
- .option("--estimate <minutes>");
296
+ .option("--estimate <minutes>")
297
+ .option("--review-every <n>", "review cadence value, e.g. 2")
298
+ .option("--review-unit <unit>", "day | week | month (default week)")
299
+ .option("--no-review", "create: skip the vault default; update: clear the cadence");
285
300
  withProjectWriteOpts(project.command("create <name>").description("Create a project in a garden")).action((name, o) => run((c) => c.post("/v1/projects", projectBody({ ...o, name }))));
286
301
  project
287
302
  .command("list")
@@ -386,12 +401,162 @@ tag
386
401
  .command("rm <id>")
387
402
  .description("Delete a tag (detaches it from every task)")
388
403
  .action((id) => run((c) => c.del(`/v1/tags/${id}`)));
404
+ // --- people ----------------------------------------------------------------
405
+ const person = program
406
+ .command("person")
407
+ .description("Personal CRM: people linked to tasks, projects, gardens, and each other");
408
+ // "Label=value" CLI strings -> the API's labeled-fact objects.
409
+ function parseDetails(input) {
410
+ if (!Array.isArray(input))
411
+ return undefined;
412
+ return input.map((s) => {
413
+ const i = s.indexOf("=");
414
+ return i === -1
415
+ ? { label: s, value: "" }
416
+ : { label: s.slice(0, i), value: s.slice(i + 1) };
417
+ });
418
+ }
419
+ function personBody(o) {
420
+ const every = num(o.contactEvery);
421
+ return {
422
+ name: str(o.name),
423
+ aliases: Array.isArray(o.alias) ? o.alias : undefined,
424
+ relationship: str(o.relationship),
425
+ company: str(o.company),
426
+ role: str(o.role),
427
+ email: str(o.email),
428
+ phone: str(o.phone),
429
+ website: str(o.website),
430
+ linkedin: str(o.linkedin),
431
+ x: str(o.x),
432
+ instagram: str(o.instagram),
433
+ birthday: str(o.birthday),
434
+ anniversary: str(o.anniversary),
435
+ details: parseDetails(o.detail),
436
+ notes: str(o.notes),
437
+ contactInterval: every
438
+ ? { value: every, unit: str(o.contactUnit) ?? "week" }
439
+ : undefined,
440
+ };
441
+ }
442
+ // Fields `person update --clear <field>` may null out (the API's null-clears).
443
+ const CLEARABLE_PERSON_FIELDS = new Set([
444
+ "relationship",
445
+ "company",
446
+ "role",
447
+ "email",
448
+ "phone",
449
+ "website",
450
+ "linkedin",
451
+ "x",
452
+ "instagram",
453
+ "birthday",
454
+ "anniversary",
455
+ "contactInterval",
456
+ ]);
457
+ const withPersonWriteOpts = (cmd) => cmd
458
+ .option("--alias <alias...>", "nicknames / alternate names")
459
+ .option("--relationship <text>", 'e.g. "wife", "friend", "coworker"')
460
+ .option("--company <text>")
461
+ .option("--role <text>")
462
+ .option("--email <email>")
463
+ .option("--phone <phone>")
464
+ .option("--website <url>")
465
+ .option("--linkedin <url>")
466
+ .option("--x <url>")
467
+ .option("--instagram <url>")
468
+ .option("--birthday <date>", "YYYY-MM-DD or MM-DD")
469
+ .option("--anniversary <date>", "YYYY-MM-DD or MM-DD")
470
+ .option("--detail <label=value...>", "labeled facts; replaces the whole list")
471
+ .option("--notes <markdown>")
472
+ .option("--contact-every <n>", "contact cadence value, e.g. 2")
473
+ .option("--contact-unit <unit>", "day | week | month (default week)");
474
+ withPersonWriteOpts(person.command("create <name>").description("Create a person")).action((name, o) => run((c) => c.post("/v1/people", personBody({ ...o, name }))));
475
+ person
476
+ .command("list [query]")
477
+ .alias("ls")
478
+ .description("List people, search by name/alias/company/notes, or multi-get with --ids")
479
+ .option("--ids <id...>")
480
+ .option("--archived", "include archived people")
481
+ .option("--limit <n>")
482
+ .action((query, o) => run((c) => c.get("/v1/people", {
483
+ ids: csv(o.ids),
484
+ includeArchived: o.archived ? true : undefined,
485
+ limit: num(o.limit),
486
+ q: query,
487
+ })));
488
+ person
489
+ .command("get <id>")
490
+ .description("Fetch one person (incl. linked task/project/garden ids and connected people)")
491
+ .action((id) => run((c) => c.get(`/v1/people/${id}`)));
492
+ withPersonWriteOpts(person.command("update <id>").description("Patch person fields"))
493
+ .option("--name <name>")
494
+ .option("--clear <field...>", `null out fields: ${[...CLEARABLE_PERSON_FIELDS].join("|")}`)
495
+ .action((id, o) => {
496
+ const body = personBody(o);
497
+ for (const field of Array.isArray(o.clear) ? o.clear : []) {
498
+ if (!CLEARABLE_PERSON_FIELDS.has(field)) {
499
+ printError(new Error(`--clear does not support "${field}"`));
500
+ process.exitCode = 1;
501
+ return;
502
+ }
503
+ body[field] = null;
504
+ }
505
+ return run((c) => c.patch(`/v1/people/${id}`, body));
506
+ });
507
+ person
508
+ .command("rm <id>")
509
+ .description("Archive a person (links are kept; restore with 'person restore')")
510
+ .action((id) => run((c) => c.del(`/v1/people/${id}`)));
511
+ person
512
+ .command("restore <id>")
513
+ .description("Unarchive a person")
514
+ .action((id) => run((c) => c.patch(`/v1/people/${id}`, { archived: false })));
515
+ person
516
+ .command("contacted <id>")
517
+ .description("Mark contacted: stamps the touch and restarts the cadence clock")
518
+ .option("--at <date>", "backdate the touch (ISO/epoch date in the past)")
519
+ .action((id, o) => run((c) => c.post(`/v1/people/${id}/contacted`, o.at ? { at: str(o.at) } : undefined)));
520
+ // "id" or "id=label" person-connection strings -> the API's {id, label}
521
+ // objects. A bare "id" keeps any existing label; an empty "id=" clears it.
522
+ function parseConnections(input) {
523
+ if (!Array.isArray(input))
524
+ return undefined;
525
+ return input.map((s) => {
526
+ const i = s.indexOf("=");
527
+ if (i === -1)
528
+ return { id: s };
529
+ const label = s.slice(i + 1);
530
+ return { id: s.slice(0, i), label: label === "" ? null : label };
531
+ });
532
+ }
533
+ const personLinkBody = (o) => ({
534
+ taskIds: Array.isArray(o.task) ? o.task : undefined,
535
+ projectIds: Array.isArray(o.project) ? o.project : undefined,
536
+ gardenIds: Array.isArray(o.garden) ? o.garden : undefined,
537
+ people: parseConnections(o.person),
538
+ });
539
+ person
540
+ .command("link <id>")
541
+ .description("Link a person to tasks / projects / gardens / other people")
542
+ .option("--task <id...>")
543
+ .option("--project <id...>")
544
+ .option("--garden <id...>")
545
+ .option("--person <id[=label]...>", "connect to another person, e.g. --person p123=spouse (symmetric; re-link with =newlabel to change, or a bare id= to clear)")
546
+ .action((id, o) => run((c) => c.post(`/v1/people/${id}/links`, personLinkBody(o))));
547
+ person
548
+ .command("unlink <id>")
549
+ .description("Unlink a person from tasks / projects / gardens / other people")
550
+ .option("--task <id...>")
551
+ .option("--project <id...>")
552
+ .option("--garden <id...>")
553
+ .option("--person <id...>", "disconnect from another person")
554
+ .action((id, o) => run((c) => c.del(`/v1/people/${id}/links`, personLinkBody(o))));
389
555
  // --- saved lists -----------------------------------------------------------
390
556
  const listFilters = (o) => ({
391
557
  q: str(o.q),
392
558
  status: csv(o.status),
393
559
  priority: csv(o.priority),
394
- when: csv(o.when),
395
560
  gardenId: str(o.garden),
396
561
  tagIds: csv(o.tag),
397
562
  includeCanceled: o.includeCanceled ? true : undefined,
@@ -401,7 +566,6 @@ const withListFilters = (cmd) => cmd
401
566
  .option("--q <text>")
402
567
  .option("--status <s...>", "backlog|todo|in_progress|done|canceled")
403
568
  .option("--priority <p...>", "none|low|medium|high")
404
- .option("--when <w...>", "today|anytime|someday")
405
569
  .option("--garden <id>")
406
570
  .option("--tag <id...>")
407
571
  .option("--include-canceled")
@@ -435,7 +599,7 @@ lists
435
599
  // --- views -----------------------------------------------------------------
436
600
  program
437
601
  .command("view <name>")
438
- .description("A computed view: today | upcoming | anytime | someday | overdue")
602
+ .description("A computed view: today | upcoming | overdue")
439
603
  .option("--tz <iana>", "IANA timezone (defaults to the system timezone)")
440
604
  .option("--limit <n>")
441
605
  .option("--cursor <cursor>")
@@ -462,7 +626,7 @@ function systemTz() {
462
626
  const review = program.command("review").description("The review system");
463
627
  review
464
628
  .command("queue")
465
- .description("Items due for review now")
629
+ .description("Items due now: task/project reviews + people due for contact")
466
630
  .option("--garden <id>", "restrict to one garden")
467
631
  .option("--limit <n>")
468
632
  .action((o) => run((c) => c.get("/v1/reviews", { gardenId: str(o.garden), limit: num(o.limit) })));
@@ -482,6 +646,30 @@ review
482
646
  .command("project <id>")
483
647
  .description("Mark a project reviewed")
484
648
  .action((id) => run((c) => c.post(`/v1/projects/${id}/reviewed`)));
649
+ // --- settings ----------------------------------------------------------------
650
+ const settings = program.command("settings").description("Vault settings");
651
+ settings
652
+ .command("show", { isDefault: true })
653
+ .description("Show vault settings (timezone, default review period)")
654
+ .action(() => run((c) => c.get("/v1/settings")));
655
+ settings
656
+ .command("review")
657
+ .description("Set the default review period applied to new tasks/projects")
658
+ .option("--every <n>", "cadence value, e.g. 2")
659
+ .option("--unit <unit>", "day | week | month (default week)")
660
+ .option("--none", "disable the default review period")
661
+ .action((o) => {
662
+ const every = num(o.every);
663
+ if (!o.none && !every) {
664
+ printError(new Error("Pass --every <n> [--unit <unit>] or --none"));
665
+ process.exitCode = 1;
666
+ return;
667
+ }
668
+ const defaultReviewInterval = o.none
669
+ ? null
670
+ : { value: every, unit: str(o.unit) ?? "week" };
671
+ return run((c) => c.patch("/v1/settings", { defaultReviewInterval }));
672
+ });
485
673
  // --- AI --------------------------------------------------------------------
486
674
  program
487
675
  .command("find <query...>")
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cpenned/cli",
3
- "version": "0.1.0",
3
+ "version": "0.3.0",
4
4
  "description": "Open Brain CLI - a terminal client over the /v1 HTTP API.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -26,8 +26,8 @@
26
26
  "node": ">=18"
27
27
  },
28
28
  "bin": {
29
- "ob": "./dist/index.js",
30
- "open-brain": "./dist/index.js"
29
+ "ob": "dist/index.js",
30
+ "open-brain": "dist/index.js"
31
31
  },
32
32
  "main": "./dist/index.js",
33
33
  "files": [
@@ -2,9 +2,9 @@
2
2
  name: open-brain-cli
3
3
  description:
4
4
  Drive the Open Brain `ob` CLI to manage tasks, projects, gardens, tags,
5
- views, reviews, search, and triage from the terminal. Use when asked to
6
- capture/list/update to-dos, plan a day, or script against Open Brain over
7
- the /v1 API. Not for editing the Open Brain codebase itself.
5
+ people (personal CRM), views, reviews, search, and triage from the terminal.
6
+ Use when asked to capture/list/update to-dos, plan a day, or script against
7
+ Open Brain over the /v1 API. Not for editing the Open Brain codebase itself.
8
8
  ---
9
9
 
10
10
  # Open Brain CLI (`ob`)
@@ -46,14 +46,16 @@ the repo instead? Build the package (`npm run build -w @cpenned/cli`) and call
46
46
 
47
47
  | Area | Commands |
48
48
  | --- | --- |
49
- | tasks | `task create <title>`, `task list`, `task get <id>`, `task update <id>`, `task rm <id>`, `task done <id>`, `task tag-add/<tag-remove> <id> --tag …`, `task create-batch`/`update-batch` |
49
+ | tasks | `task create <title> [--person <id…>]`, `task list [--person <id…>]`, `task get <id>`, `task update <id>`, `task rm <id>`, `task done <id>`, `task tag-add/<tag-remove> <id> --tag …`, `task create-batch`/`update-batch` |
50
50
  | projects | `project create <name>`, `project list/get/update/rm` |
51
51
  | gardens | `garden create <name>`, `garden list/get/update/rm` |
52
52
  | tags | `tag create <name>`, `tag list/get/update`, `tag rm <id>` (detaches from every task) |
53
- | lists | `lists create <name> [--status/--priority/--when/--garden/--tag/--q/--sort]`, `lists ls/get/update/rm` (saved smart lists) |
54
- | views | `view <today\|upcoming\|anytime\|someday\|overdue>`, `today` |
53
+ | people | `person create <name> [--relationship/--company/--email/--alias/--detail Label=value/--contact-every/--contact-unit …]`, `person list [query]` (searches name/alias/company/notes), `person get/update` (`update --clear <field…>` nulls fields), `person rm <id>` (archives), `person restore <id>`, `person contacted <id> [--at <date>]`, `person link/unlink <id> --task/--project/--garden/--person …` (`--person <id[=label]>` connects two people symmetrically, e.g. `--person p123=spouse`; re-link with `=newlabel` to change the label or a bare `id=` to clear it) |
54
+ | lists | `lists create <name> [--status/--priority/--garden/--tag/--q/--sort]`, `lists ls/get/update/rm` (saved smart lists) |
55
+ | views | `view <today\|upcoming\|overdue>`, `today` |
55
56
  | reviews | `review queue`, `review garden <id>`, `review request <id>`, `review task <id>`, `review project <id>` |
56
57
  | AI | `find <query…>`, `triage <input…>` |
58
+ | settings | `settings` (show), `settings review --every <n> [--unit <u>]` or `settings review --none` (default review period for new tasks/projects) |
57
59
  | keys | `key create <name> --scope …`, `key list/rotate/revoke` |
58
60
  | config | `config set/show/path` |
59
61
 
@@ -69,7 +71,7 @@ ob view upcoming
69
71
 
70
72
  # Capture
71
73
  ob garden list # get a garden id
72
- ob task create "Email the landlord" --garden <g> --when today --priority high
74
+ ob task create "Email the landlord" --garden <g> --deadline today --priority high
73
75
  ob triage "call dentist, buy milk, draft Q3 deck" # AI splits into tasks
74
76
 
75
77
  # Progress an item
@@ -81,8 +83,23 @@ ob lists create "Hot" --priority high --status todo in_progress
81
83
  ob lists ls # then open one in the web app
82
84
 
83
85
  # Review cadence
84
- ob review queue
86
+ ob review queue # tasks + projects due for review, people due for contact
85
87
  ob review task <taskId> # mark reviewed → restarts its clock
88
+ ob settings # see the default review period (2 weeks out of the box)
89
+ ob settings review --every 1 --unit month # change it; --none disables it
90
+ ob task create "One-off" --garden <g> --no-review # skip the default for one task
91
+ ob task update <taskId> --review-every 3 --review-unit day # set/change a cadence
92
+ ob task update <taskId> --no-review # clear a cadence
93
+
94
+ # Personal CRM
95
+ ob person create "Megan" --relationship wife --alias Meg --contact-every 1 --contact-unit week
96
+ ob person link <personId> --garden <gardenId> --task <taskId>
97
+ ob person link <chrisId> --person "<christinaId>=wife" # connect two people (symmetric)
98
+ ob person unlink <chrisId> --person <christinaId>
99
+ ob person contacted <personId> # reached out → restarts the contact clock
100
+ ob person contacted <personId> --at -3d # backdate: the call happened 3 days ago
101
+ ob person update <personId> --clear contactInterval # stop reach-out reminders
102
+ ob task list --person <personId> --status todo # a person's open tasks
86
103
 
87
104
  # Find something
88
105
  ob find quarterly report
@@ -106,11 +123,21 @@ Lists use a `{ items, hasMore, nextCursor }` envelope — page with `--cursor`.
106
123
  separate empty vault; use a key minted in the web Settings page to share data
107
124
  with the web UI and email.
108
125
  - Dates (`--defer`, `--deadline`) accept ISO, epoch ms, or relative shorthand
109
- (`today`, `tomorrow`, `+3d`, `+2w`, `+1m`). `--when` is the intent bucket
110
- (today/anytime/someday), no date.
126
+ (`today`, `tomorrow`, `+3d`, `+2w`, `+1m`). `--defer` hides a task from
127
+ general lists until that date; `--deadline` drives the Today view.
111
128
  - Statuses are `backlog | todo | in_progress | done | canceled`; `--include-canceled`
112
129
  surfaces canceled items, which list filters hide by default.
113
130
  - Status transitions are enforced server-side; an illegal move returns an error,
114
131
  not a silent no-op.
115
132
  - Scopes gate commands: `key` needs `keys:manage`; `find`/`triage` need
116
- `ai:invoke`. A `*` (owner) key unlocks everything.
133
+ `ai:invoke`; `person` needs `people:read|write` (keys minted before the
134
+ People feature lack it unless they carry `*`). A `*` (owner) key unlocks
135
+ everything.
136
+ - New tasks/projects inherit the vault's default review period (2 weeks unless
137
+ changed in `ob settings review` or web Settings). Pass `--no-review` on create
138
+ to opt one item out; on update it clears an existing cadence. `settings`
139
+ needs `settings:read|write` (older keys need `*` or a re-mint).
140
+ - `person rm` archives (links kept); `person restore <id>` undoes it. Completing
141
+ a task linked to a person only stamps their last-contacted date;
142
+ `person contacted` is what resets the cadence clock (`--at` backdates the
143
+ touch). `person contacted` also works with a `reviews:write` key.
@@ -0,0 +1,171 @@
1
+ ---
2
+ name: open-brain-mcp
3
+ description:
4
+ Use the Open Brain MCP tools (create_task, list_tasks, get_view, get_reviews,
5
+ find_tasks, ai_triage, create_person, …) to manage a user's tasks, projects,
6
+ gardens, tags, people (personal CRM), views, and reviews. Use when an agent
7
+ should read or write Open Brain to-dos through the connected MCP server. Not
8
+ for editing the Open Brain codebase.
9
+ ---
10
+
11
+ # Open Brain MCP
12
+
13
+ The `open-brain` MCP server is a thin adapter over the `/v1` HTTP API: every
14
+ tool is one authenticated call through the same guard layer as any other client.
15
+ Validation, the status machine, ownership, and scopes are enforced server-side —
16
+ a bad request returns a tool error, so prefer acting and reacting to errors over
17
+ pre-guessing constraints.
18
+
19
+ ## When to use
20
+
21
+ - The user asks to capture, list, update, complete, or organize to-dos.
22
+ - Planning ("what's on for today?"), reviewing, or searching their tasks.
23
+ - Triaging a messy brain dump into structured, garden-assigned tasks.
24
+
25
+ ## When not to use
26
+
27
+ - Editing the Open Brain app/backend source — that is ordinary repo work.
28
+ - The user is in a terminal and wants shell commands — see `open-brain-cli`.
29
+
30
+ ## Mental model
31
+
32
+ - **Garden** = a life domain (Work, Health, …). Tasks/projects live in exactly
33
+ one garden. A garden's Markdown `context` is what AI triage reads to assign
34
+ tasks, so good context = good triage.
35
+ - **Task / project** share one status machine mirroring Linear's states:
36
+ `backlog → todo → in_progress → done` (or `canceled`). Reopening a `done`/
37
+ `canceled` item goes back to `todo`. `deferDate` hides an item from general
38
+ lists until that date; `deadline` drives the Today view (anything due today
39
+ or earlier shows there).
40
+ - **Review** = a spaced cadence; items become "due for review" and you mark them
41
+ reviewed to restart the clock. New tasks/projects inherit the vault's default
42
+ review period (2 weeks out of the box; changeable or disableable via
43
+ `update_settings`). Pass `reviewInterval: null` on create to opt one item out.
44
+ - **Person** = a personal-CRM record (relationship, work, contact info, key
45
+ dates, freeform details, notes) linkable many-to-many to tasks, projects,
46
+ gardens, and other people (symmetric connections with an optional label like
47
+ "spouse" or "manager"). A person's `contactInterval` works like a review cadence: when it
48
+ elapses they show up in `get_reviews` under `people`, and `mark_contacted`
49
+ restarts the clock. Names + `aliases` are how mentions resolve — when the user
50
+ mentions someone ("call Megan"), `list_people`, match name/aliases, and link.
51
+
52
+ ## Tool catalog
53
+
54
+ - **Tasks**: `create_task`, `list_tasks` (filter or multi-get via `ids`),
55
+ `get_task`, `update_task` (drives status), `delete_task`, batch
56
+ `create_tasks`/`update_tasks`, `add_task_tags`/`remove_task_tags`.
57
+ - **Projects**: `create_project`, `list_projects`, `get_project`,
58
+ `update_project`, `delete_project`, `create_projects`/`update_projects`.
59
+ - **Gardens**: `create_garden`, `list_gardens`, `get_garden`, `update_garden`,
60
+ `delete_garden` (archives).
61
+ - **Tags**: `create_tag`, `list_tags`, `get_tag`, `update_tag`, `delete_tag`
62
+ (detaches from every task).
63
+ - **People**: `create_person`, `list_people` (`query` searches name, aliases,
64
+ relationship, company, role, email, phone, notes, details), `get_person`,
65
+ `update_person`
66
+ (null clears a field, e.g. `contactInterval: null`; `archived: false`
67
+ restores), `delete_person` (archives, links kept), `mark_contacted`
68
+ (optional `at` backdates the touch), `add_person_links`/`remove_person_links`
69
+ (`{id, taskIds?, projectIds?, gardenIds?, people?}` — `people` is
70
+ `[{id, label?}]` for person-to-person connections; symmetric, shown on both
71
+ people, re-link with a new label to change it or `label: null` to clear it;
72
+ unlink takes the same `people` array, ids only). `create_task(s)` accept
73
+ `personIds` inline; `list_tasks` filters by `person` ids.
74
+ - **Saved lists** (named, reusable task-list filters): `list_saved_lists`,
75
+ `create_saved_list`, `update_saved_list`, `delete_saved_list`.
76
+ - **Views & reviews**: `get_view` (today/upcoming/overdue, timezone-aware),
77
+ `get_reviews` (due queue), `review_garden` (deep review),
78
+ `request_garden_review`, `mark_task_reviewed`, `mark_project_reviewed`.
79
+ - **AI**: `find_tasks` (hybrid keyword + semantic search), `ai_triage`
80
+ (brain dump → garden-assigned tasks).
81
+ - **UI (read-only)**: `ui_view`, `ui_review_queue`, `ui_garden_board` return
82
+ `ui://` HTML resources.
83
+ - **Settings**: `get_settings`, `update_settings` (the default review period
84
+ applied to new tasks/projects; `defaultReviewInterval: null` disables it).
85
+ - **Keys**: `create_key`, `list_keys`, `rotate_key`, `revoke_key`.
86
+
87
+ ## Workflows
88
+
89
+ - **Capture a brain dump** → `ai_triage` with the raw text. It returns
90
+ `{ created, clarifications, errors }`. If `clarifications` is non-empty, ask
91
+ the user those questions and re-run with the answers folded in — do not guess.
92
+ - **Plan today** → `get_view today`. Pass the user's IANA `tz` if known so the
93
+ day boundary is correct.
94
+ - **Add a task** → need a garden: `list_gardens` first, then `create_task` with
95
+ `gardenId`. Set `deadline` for "today"/hard dates — that's what lands it in
96
+ the Today view. `create_task`/`create_tasks` accept `tagIds`, `recurrence`,
97
+ `deferDate`, and `deadline` **inline** — set them at creation, never
98
+ create-then-patch.
99
+ `deferDate`/`deadline` accept strings (`"today"`, `"tomorrow"`, `"+3d"`,
100
+ `"2026-06-30"`), so no client-side date math.
101
+ - **Recurring task** → set `recurrence` at creation:
102
+ `{mode, frequency, interval, byWeekday?}`. `mode`: `on_schedule` (next = prior
103
+ due + interval; self-heals missed days) or `on_completion` (next = completed +
104
+ interval). `frequency`: `day|week|month|year`. `byWeekday` (`0=Sun..6=Sat`)
105
+ is **weekly only**. A recurrence with no `deferDate`/`deadline` stays dateless;
106
+ give it a date if you want each occurrence dated.
107
+ - **Complete / advance** → `update_task` with the next `status`. Completing a
108
+ recurring task spawns its next occurrence automatically.
109
+ - **Weekly review** → `get_reviews` for what's due; `review_garden <id>` to walk
110
+ a whole garden; `mark_task_reviewed` / `mark_project_reviewed` to clear items.
111
+ `get_reviews` also returns `people` due for contact — clear those with
112
+ `mark_contacted` once the user has actually reached out.
113
+ - **Task mentions a person** → resolve via `list_people` with `query` (matches
114
+ name/aliases case-insensitively), then pass `personIds` to `create_task` — or
115
+ `add_person_links` for an existing task. If the person is linked to exactly
116
+ one garden and the user gave no garden, prefer that garden. `ai_triage` does
117
+ all of this automatically for brain dumps.
118
+ - **Stay in touch cadence** → `create_person`/`update_person` with
119
+ `contactInterval` (e.g. `{value: 2, unit: "week"}`); stop reminders with
120
+ `contactInterval: null`. Completing a task linked to a person stamps their
121
+ `lastContactedAt` but does NOT reset the cadence; only `mark_contacted`
122
+ reschedules ("I called her Tuesday" → `mark_contacted` with `at`).
123
+ - **A person's open tasks** → `list_tasks` with `person: [<personId>]` plus the
124
+ usual status filters.
125
+ - **Connect two people** ("Christina is Chris's wife") → resolve both with
126
+ `list_people`, then `add_person_links` with
127
+ `{id: <chrisId>, people: [{id: <christinaId>, label: "wife"}]}`. The
128
+ connection is symmetric — `get_person` on either shows the other under
129
+ `people`. Unlink with `remove_person_links`; self-links are rejected.
130
+ - **Find something** → `find_tasks` (handles fuzzy/semantic queries; narrow to a
131
+ due window with `deadlineBefore` / `deadlineAfter`, e.g. "friday" or epoch ms).
132
+
133
+ ## Gotchas
134
+
135
+ - Tools act on the vault behind the configured API key. If the user's web tasks
136
+ are missing, the key likely points at a different vault — it should be minted
137
+ from the web app's Settings page, not `apiKeys:bootstrap`.
138
+ - Scopes gate tools: resource tools need `<resource>:read|write` (people tools
139
+ `people:read|write`, settings tools `settings:read|write`), review tools
140
+ `reviews:*`, `find_tasks`/`ai_triage` need `ai:invoke`, the `*_key` tools need
141
+ `keys:manage`. A missing scope returns a 403 tool error. Keys minted before
142
+ the People or Settings features won't have those scopes unless they carry `*`.
143
+ - `delete_person` archives (links kept); restore with `update_person
144
+ {archived: false}`. Birthdays/anniversaries are `"YYYY-MM-DD"` or `"MM-DD"`
145
+ strings, not timestamps. `mark_contacted` also works with a `reviews:write`
146
+ key (it clears the review queue's people section).
147
+ - Created secrets (`create_key`/`rotate_key`) are shown ONCE — surface them to
148
+ the user immediately; they are never retrievable again.
149
+ - Prefer batch tools (`create_tasks`, `update_tasks`) over many single calls
150
+ when acting on several items at once.
151
+ - **Tagging is cheapest at creation.** Pass `tagIds` to `create_task(s)`. There
152
+ is **no bulk tag tool** and `update_task` has **no** `tagIds` field, so tagging
153
+ *after* creation costs one `add_task_tags`/`remove_task_tags` call per task
154
+ (each keyed by `id`, the task id). For tasks you're creating now, inline
155
+ `tagIds`; only fall back to `add_task_tags` for tasks that already exist.
156
+ - Tags are the only structure projects can't hold — **only tasks are
157
+ taggable**, projects are not. Tag the task, not its project.
158
+ - `review_garden` returns the garden's **entire** project+task history (incl.
159
+ every done item). For active/long-lived gardens this can blow the token
160
+ budget and spill to a file. **Prefer `get_view`/`list_tasks`/`list_projects`
161
+ filtered by status** (e.g. `status=todo,in_progress`) for the open work; reach
162
+ for `review_garden` only on small gardens or when you truly need the history.
163
+ - Paginated reads (`list_tasks`, `list_projects`, `get_view`) return a **full
164
+ page per request** — the server drains internally, so you will **not** get an
165
+ empty `items` with a `nextCursor` (that earlier "empty first page" was a
166
+ server bug, now fixed). Only follow `nextCursor` when you need *more than one
167
+ page* of results; for a normal "what's due today" a single `get_view today`
168
+ call is enough.
169
+ - Tool param names aren't uniform: `get_garden` and `add_task_tags` take `id`,
170
+ while `review_garden` and `list_projects` take `gardenId`. Don't memorize —
171
+ act and read the validation error, which names the missing field.