@dosu/cli 0.66.1 → 0.67.0-beta.10

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 +20 -19
  2. package/bin/dosu.js +24459 -58509
  3. package/package.json +4 -4
package/README.md CHANGED
@@ -105,7 +105,7 @@ Or right-click the binary, select "Open", and click "Open" in the dialog.
105
105
 
106
106
  `dosu mcp add` takes `-g, --global` to install for all projects instead of project-local, and `--show-secret` to print the full manual config.
107
107
 
108
- `dosu upgrade` delegates to npm, pnpm, Yarn Classic, or Homebrew only after confirming which manager owns the current installation. Temporary package-runner invocations stay ephemeral, ambiguous or local installs are left unchanged, and standalone binaries receive the latest safe manual download path. After a successful update it hands off to the new version, which re-applies the bundled skills and, only if the update crossed a release that changed the agent config format, runs `dosu setup` (or the non-interactive `dosu mcp refresh` without a TTY). Upgrades done outside `dosu upgrade` (npm, brew, `npx @dosu/cli@latest`) get a safety net: when the new version changed the shape of the MCP entry, the first command on it silently rewrites configured tools' MCP entries and prompts you to run `dosu setup` for the rest; the bundled agent skills are always re-applied on the first command after any version change.
108
+ `dosu upgrade` delegates to npm, pnpm, Yarn Classic, or Homebrew only after confirming which manager owns the current installation. Temporary package-runner invocations stay ephemeral, ambiguous or local installs are left unchanged, and standalone binaries receive the latest safe manual download path. After a successful update it hands off to the new version, which re-applies the bundled skills and, only when a configured agent's MCP entry is out of date, runs `dosu setup` (or the non-interactive `dosu mcp refresh` without a TTY). An entry is out of date when it doesn't match the shape the current provider code writes. Upgrades done outside `dosu upgrade` (npm, brew, `npx @dosu/cli@latest`) get a safety net: on the first command of a new version, the CLI checks each configured provider, silently rewrites only the out-of-date entries, and prompts you to run `dosu setup` for the rest; the bundled agent skills are always re-applied on the first command after any version change.
109
109
 
110
110
  Dosu also updates itself automatically. When the update check (every six hours) finds a newer release, npm, pnpm, Yarn Classic, and Homebrew installs start the same package-manager update in a detached background process. The current command runs unchanged, and your next command uses the new version, whose first run applies the skill and MCP refreshes above. Hooks, rules, and the status line still need `dosu setup` when a release changes them. Background updates never run for `npx` invocations, standalone binaries, CI, or `DOSU_DEV=true`. A failed install (for example, a global npm prefix that needs `sudo`) falls back to the "Run `dosu upgrade`" notice and is retried after six hours. Turn background updates off with `dosu upgrade --auto off` (and back on with `--auto on`), or with `DOSU_DISABLE_AUTOUPDATE=1` for a single environment.
111
111
 
@@ -119,7 +119,7 @@ Once authenticated against a deployment, you can drive the Dosu platform without
119
119
  | `dosu knowledge` | Search and browse your knowledge base |
120
120
  | `dosu docs` | Manage documents (list, create, update, import, publish) |
121
121
  | `dosu threads` | List and manage conversation threads |
122
- | `dosu review` | Document review workflow, plus `review notifications` to route a Library's or Agent's reviews to a Slack channel |
122
+ | `dosu review` | Document review workflow for the selected Library, plus `review notifications` to route a Library's or Agent's reviews to a Slack channel |
123
123
  | `dosu sources` | Manage connected data sources (list, connect, create, sync, update) |
124
124
  | `dosu integrations` | List and inspect platform integrations (Slack, GitHub, …) |
125
125
  | `dosu topics` | List knowledge base topics and their pages |
@@ -133,33 +133,28 @@ Run `dosu <command> --help` for subcommands and flags.
133
133
 
134
134
  ### Agent skills
135
135
 
136
- The `dosu` skill — which teaches coding agents how to operate Dosu through this CLI — lives in [`skills/dosu`](skills/dosu) and is embedded in the CLI at build time, so the copy an agent reads always matches the installed CLI version. `dosu setup` (and `dosu skill install`) writes it to `~/.agents/skills/dosu`, the universal location read by Cursor, Codex, Gemini CLI, Zed, Cline, Copilot, OpenCode, and Antigravity, and symlinks Claude Code's `~/.claude/skills/dosu` and Windsurf's `~/.codeium/windsurf/skills/dosu` at that copy. After a CLI upgrade, the first command re-applies the skill automatically; `dosu skill update` does the same on demand. The former standalone [`dosu-ai/dosu-skill`](https://github.com/dosu-ai/dosu-skill) repository is deprecated in favour of this bundle.
136
+ The `dosu` skill — which teaches coding agents how to operate Dosu through this CLI — lives in [`skills/dosu`](skills/dosu) and is embedded in the CLI at build time, so the copy an agent reads always matches the installed CLI version. `dosu setup` (and `dosu skill install`) writes it to `~/.agents/skills/dosu`, the universal location read by Cursor, Codex, Gemini CLI, Copilot, and OpenCode, and symlinks Claude Code's `~/.claude/skills/dosu` at that copy. After a CLI upgrade, the first command re-applies the skill automatically; `dosu skill update` does the same on demand. The former standalone [`dosu-ai/dosu-skill`](https://github.com/dosu-ai/dosu-skill) repository is deprecated in favour of this bundle.
137
137
 
138
138
  To change a skill, edit `skills/<name>/…` and run `bun run embed:skills` to regenerate `src/generated/skills.ts` (a test fails if the two drift).
139
139
 
140
140
  ### Supported AI tools
141
141
 
142
- `dosu mcp add <id>` and the setup wizard support:
142
+ `dosu mcp add <id>` and the setup wizard support the coding agents whose sessions Dosu can learn from — each one keeps a session log on disk that [`@letta-ai/trajectory`](https://github.com/letta-ai/trajectory) normalizes:
143
143
 
144
144
  | ID | Tool |
145
145
  |---|---|
146
146
  | `claude` | Claude Code |
147
- | `claude-desktop` | Claude Desktop |
148
147
  | `cursor` | Cursor |
149
- | `vscode` | VS Code |
150
148
  | `codex` | Codex CLI |
151
149
  | `gemini` | Gemini CLI |
152
- | `windsurf` | Windsurf |
153
- | `zed` | Zed |
154
- | `cline` | Cline |
155
- | `cline-cli` | Cline CLI |
156
150
  | `copilot` | GitHub Copilot CLI |
157
151
  | `opencode` | OpenCode |
158
- | `antigravity` | Antigravity |
159
- | `mcporter` | MCPorter |
160
- | `factory` | Factory |
152
+ | `factory` | Factory (droid) |
153
+ | `pi` | Pi (installs the Dosu pi extension; global only) |
161
154
  | `manual` | Manual Configuration (prints config to paste yourself) |
162
155
 
156
+ Tools with no such log (Claude Desktop, VS Code, Windsurf, Zed, Cline, Antigravity, MCPorter, ...) can still reach Dosu's MCP server: `dosu mcp add manual` prints the entry to paste into their config. The CLI no longer writes it for them, since nothing it does for them beyond that entry could learn from their sessions.
157
+
163
158
  ### Non-interactive / agent setup
164
159
 
165
160
  For coding agents and CI, `setup` has a non-interactive mode:
@@ -185,15 +180,21 @@ dosu knowledge incognito status # which agents are in
185
180
  The status line shows one of `📚 Dosu studying…` (a sync run is live), `📚 Dosu on`,
186
181
  `👻 Dosu incognito`, `⚪ Dosu paused`, `⚪ Dosu not studying this repo`, or `⚪ Dosu off`. Every
187
182
  session is studied unless you limit studying to picked repos under `dosu` → settings → study
188
- scope. Notes from a session with a known repo and branch are anchored to that branch; the rest are
189
- unanchored and reach topics immediately. Neither setup nor `enable` replaces a status line you
183
+ scope. In an interactive terminal with more than one repo, `dosu setup` asks which repos' sessions
184
+ to ship before offering the backfill of recent sessions. Selecting every repo clears the scope, so
185
+ new repos are included automatically. The choice is saved as the study scope; change it later under
186
+ `dosu` → settings → study scope or with `dosu knowledge scope set`. Notes from a session with a
187
+ known repo and branch are anchored to that branch; the rest are unanchored and reach topics
188
+ immediately. Neither setup nor `enable` replaces a status line you
190
189
  already have; they print the one-liner to add to your own script instead.
191
190
 
192
191
  `incognito on` is a saved per-agent setting: none of that agent's sessions are studied until you
193
- turn it off. To keep a single chat out instead, type `/dosu-incognito` in it; setup installs that
194
- command with the hook. It marks the session's transcript so studying skips it (the whole session,
195
- and for the rest of it — start a new session to turn Dosu back on) and tells the model not to use
196
- Dosu tools. See [docs/studying.md](docs/studying.md).
192
+ turn it off. Turning it off resumes studying only new sessions going forward; sessions that
193
+ finished while incognito was on stay unstudied permanently, even if a later sync picks them up.
194
+ To keep a single chat out instead, type `/dosu-incognito` in it; setup installs that command with
195
+ the hook. It marks the session's transcript so studying skips it (the whole session, and for the
196
+ rest of it — start a new session to turn Dosu back on) and tells the model not to use Dosu
197
+ tools. See [docs/studying.md](docs/studying.md).
197
198
 
198
199
  ### Telemetry and privacy
199
200