wendkeep 0.20.0 → 0.20.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/CHANGELOG.md CHANGED
@@ -4,6 +4,15 @@ All notable changes to **wendkeep** are documented here. Format based on
4
4
  [Keep a Changelog](https://keepachangelog.com/en/1.1.0/); this project follows
5
5
  [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## [0.20.1] — 2026-07-06
8
+
9
+ ### Changed
10
+ - The interactive (and text-fallback) companion picker in `wendkeep init` **no longer lists
11
+ dotcontext**. The native a2 loop replaces it, so leaving it in the prompt was just clutter. It
12
+ stays reachable for anyone already invested via an explicit `--companions dotcontext` — the
13
+ hiding is UI-only (`resolveCompanions` still honors the id). New `selectableCompanions()` helper
14
+ drives the picker.
15
+
7
16
  ## [0.20.0] — 2026-07-06
8
17
 
9
18
  Richer skills: bundled templates (multi-file).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wendkeep",
3
- "version": "0.20.0",
3
+ "version": "0.20.1",
4
4
  "description": "A persistent-memory harness for AI coding agents on your Obsidian vault: turn-by-turn session capture plus a native, zero-dependency spec→change→verify→archive loop (sensor-gated, independent verdict, mutation discrimination). Local-first, agent-agnostic (Claude Code, Codex, Cursor…).",
5
5
  "type": "module",
6
6
  "bin": {
package/src/init.mjs CHANGED
@@ -13,7 +13,7 @@ import {
13
13
  mcpServerEntry,
14
14
  hookCommand,
15
15
  deriveVaultDirName,
16
- COMPANIONS,
16
+ selectableCompanions,
17
17
  resolveCompanions,
18
18
  companionSettingsPatch,
19
19
  companionMcpPatch,
@@ -260,11 +260,11 @@ export async function runInit(argv) {
260
260
  } else if (process.stdin.isTTY && !args.yes) {
261
261
  if (canInteractiveSelect()) {
262
262
  log(''); // the checkbox menu renders its own header
263
- companions = await selectCompanionsInteractive(COMPANIONS, { labels: P.menu });
263
+ companions = await selectCompanionsInteractive(selectableCompanions(), { labels: P.menu });
264
264
  } else {
265
265
  // Text fallback (no raw-mode TTY): list + comma input with clear instructions.
266
266
  log(P.companionsHeader);
267
- for (const c of COMPANIONS) log(` ${c.default ? '[x]' : '[ ]'} ${c.label}`);
267
+ for (const c of selectableCompanions()) log(` ${c.default ? '[x]' : '[ ]'} ${c.label}`);
268
268
  const def = resolveCompanions({}).join(',');
269
269
  const rl = createInterface({ input: process.stdin, output: process.stdout });
270
270
  const ans = (await rl.question(P.companionsAsk(def))).trim();
package/src/taxonomy.mjs CHANGED
@@ -134,6 +134,9 @@ export const COMPANIONS = [
134
134
  // Kept selectable for anyone already invested in it; not a default.
135
135
  label: 'dotcontext — legado (o loop a2 nativo do wendkeep substitui; não recomendado)',
136
136
  default: false,
137
+ // Hidden from the interactive/text companion picker — the native a2 loop replaces it.
138
+ // Still reachable for anyone already invested via explicit `--companions dotcontext`.
139
+ hidden: true,
137
140
  // MCP-only (no Claude Code plugin). Agent-agnostic server, @latest surface.
138
141
  mcp: { key: 'dotcontext', entry: { type: 'stdio', command: 'npx', args: ['-y', '@dotcontext/mcp@latest'], env: {} } },
139
142
  // Lifecycle hooks via the pinned CLI; wired by wendkeep (single writer).
@@ -145,6 +148,12 @@ export const COMPANIONS = [
145
148
 
146
149
  const COMPANION_BY_ID = Object.fromEntries(COMPANIONS.map((c) => [c.id, c]));
147
150
 
151
+ // Companions offered in the interactive / text picker. Excludes `hidden` ones (e.g. the legacy
152
+ // dotcontext) — those stay reachable only via an explicit `--companions <id>`.
153
+ export function selectableCompanions() {
154
+ return COMPANIONS.filter((c) => !c.hidden);
155
+ }
156
+
148
157
  // Resolve the companion ids for the NON-interactive path (the interactive prompt
149
158
  // supplies its own selection). --no-companions wins; an explicit flag selects the
150
159
  // named ids (unknown dropped) in registry order; otherwise the defaults.