@yuaone/cli 0.9.9 → 1.0.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.
Files changed (57) hide show
  1. package/README.md +111 -2
  2. package/dist/cli.js +0 -6
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/index.d.ts.map +1 -1
  5. package/dist/commands/index.js +264 -94
  6. package/dist/commands/index.js.map +1 -1
  7. package/dist/config.d.ts +11 -0
  8. package/dist/config.d.ts.map +1 -1
  9. package/dist/config.js +27 -0
  10. package/dist/config.js.map +1 -1
  11. package/dist/interactive.d.ts +11 -0
  12. package/dist/interactive.d.ts.map +1 -1
  13. package/dist/interactive.js +129 -1
  14. package/dist/interactive.js.map +1 -1
  15. package/dist/tui/App.d.ts.map +1 -1
  16. package/dist/tui/App.js +5 -36
  17. package/dist/tui/App.js.map +1 -1
  18. package/dist/tui/agent-bridge.d.ts +2 -21
  19. package/dist/tui/agent-bridge.d.ts.map +1 -1
  20. package/dist/tui/agent-bridge.js +16 -82
  21. package/dist/tui/agent-bridge.js.map +1 -1
  22. package/dist/tui/components/CompactBar.d.ts +25 -0
  23. package/dist/tui/components/CompactBar.d.ts.map +1 -0
  24. package/dist/tui/components/CompactBar.js +42 -0
  25. package/dist/tui/components/CompactBar.js.map +1 -0
  26. package/dist/tui/components/FooterBar.d.ts +0 -4
  27. package/dist/tui/components/FooterBar.d.ts.map +1 -1
  28. package/dist/tui/components/FooterBar.js +44 -15
  29. package/dist/tui/components/FooterBar.js.map +1 -1
  30. package/dist/tui/components/InputBox.d.ts.map +1 -1
  31. package/dist/tui/components/InputBox.js +34 -13
  32. package/dist/tui/components/InputBox.js.map +1 -1
  33. package/dist/tui/components/MarkdownRenderer.d.ts +0 -4
  34. package/dist/tui/components/MarkdownRenderer.d.ts.map +1 -1
  35. package/dist/tui/components/MarkdownRenderer.js +3 -3
  36. package/dist/tui/components/MarkdownRenderer.js.map +1 -1
  37. package/dist/tui/components/MessageBubble.d.ts.map +1 -1
  38. package/dist/tui/components/MessageBubble.js +44 -4
  39. package/dist/tui/components/MessageBubble.js.map +1 -1
  40. package/dist/tui/components/StatusBadge.d.ts +3 -1
  41. package/dist/tui/components/StatusBadge.d.ts.map +1 -1
  42. package/dist/tui/components/StatusBadge.js +16 -6
  43. package/dist/tui/components/StatusBadge.js.map +1 -1
  44. package/dist/tui/components/StatusBar.d.ts.map +1 -1
  45. package/dist/tui/components/StatusBar.js +4 -2
  46. package/dist/tui/components/StatusBar.js.map +1 -1
  47. package/dist/tui/hooks/useAgentStream.d.ts +0 -4
  48. package/dist/tui/hooks/useAgentStream.d.ts.map +1 -1
  49. package/dist/tui/hooks/useAgentStream.js +321 -51
  50. package/dist/tui/hooks/useAgentStream.js.map +1 -1
  51. package/dist/tui/hooks/useMouseScroll.d.ts +10 -19
  52. package/dist/tui/hooks/useMouseScroll.d.ts.map +1 -1
  53. package/dist/tui/hooks/useMouseScroll.js +86 -83
  54. package/dist/tui/hooks/useMouseScroll.js.map +1 -1
  55. package/dist/tui/types.d.ts +22 -2
  56. package/dist/tui/types.d.ts.map +1 -1
  57. package/package.json +3 -3
package/README.md CHANGED
@@ -110,12 +110,15 @@ Type `/` in the TUI to open the command menu (arrow keys to navigate, Enter to s
110
110
  | `/reject` | Reject pending tool action |
111
111
  | `/retry` | Retry last failed action |
112
112
  | `/cost` | Token usage & estimated cost |
113
- | `/tools` | List available tools |
114
- | `/memory` | Show YUAN.md learnings |
113
+ | `/tools` | List available tools (built-in + MCP) |
114
+ | `/memory` | Show learned patterns from YUAN.md |
115
115
  | `/plugins` | Plugin management (install/remove/search) |
116
116
  | `/skills` | Available skills (tree view) |
117
117
  | `/session` | Session management |
118
118
  | `/settings` | Auto-update preferences |
119
+ | `/tip` | Show a random usage tip |
120
+ | `/mcp` | Show loaded MCP servers and setup guide |
121
+ | `/qa` | Show last QA result + governor config |
119
122
  | `/exit` | Exit YUAN |
120
123
 
121
124
  ### /model — Provider & Model Management
@@ -241,6 +244,112 @@ yuan whoami # Show current user and plan
241
244
 
242
245
  ---
243
246
 
247
+ ## MCP Server Integration
248
+
249
+ YUAN supports any MCP (Model Context Protocol) server as external tools — no code changes needed.
250
+
251
+ ### Setup
252
+
253
+ Create `~/.yuan/mcp.json` (gitignored, never committed):
254
+
255
+ ```json
256
+ {
257
+ "servers": [
258
+ {
259
+ "name": "github",
260
+ "command": "npx",
261
+ "args": ["-y", "@modelcontextprotocol/server-github"],
262
+ "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxx" }
263
+ },
264
+ {
265
+ "name": "fetch",
266
+ "command": "uvx",
267
+ "args": ["mcp-server-fetch"]
268
+ },
269
+ {
270
+ "name": "memory",
271
+ "command": "npx",
272
+ "args": ["-y", "@modelcontextprotocol/server-memory"]
273
+ }
274
+ ]
275
+ }
276
+ ```
277
+
278
+ YUAN auto-discovers and connects all servers on startup. Tools appear in the LLM's tool list automatically (e.g. `github_search_code`, `fetch_fetch`).
279
+
280
+ ### Recommended MCP Servers
281
+
282
+ #### Free / No API key required
283
+ | Server | Install | What it adds |
284
+ |--------|---------|-------------|
285
+ | **mcp-server-fetch** (official) | `uvx mcp-server-fetch` | Fetch any URL → clean markdown |
286
+ | **memory** (official) | `npx -y @modelcontextprotocol/server-memory` | Persistent knowledge graph across sessions |
287
+ | **git** (official) | `uvx mcp-server-git` | Git operations via MCP |
288
+ | **sequentialthinking** (official) | `npx -y @modelcontextprotocol/server-sequential-thinking` | Structured multi-step reasoning |
289
+ | **filesystem** (official) | `npx -y @modelcontextprotocol/server-filesystem` | Extended file ops with configurable paths |
290
+ | **Playwright** (Microsoft) | `npx -y @playwright/mcp` | Full browser automation |
291
+ | **Docker** (community) | `npx -y mcp-server-docker` | Container management |
292
+ | **Kubernetes** (community) | `npx -y mcp-server-kubernetes` | K8s cluster control |
293
+
294
+ #### Requires API key (BYOK)
295
+ | Server | Install | What it adds |
296
+ |--------|---------|-------------|
297
+ | **GitHub** (official) | `npx -y @modelcontextprotocol/server-github` | PR/issue management, code search |
298
+ | **Brave Search** (official) | `npx -y @modelcontextprotocol/server-brave-search` | Web search (`BRAVE_API_KEY`) |
299
+ | **Spider** | `npx -y @willbohn/spider-mcp` | Web scraping + search (`SPIDER_API_KEY`) |
300
+ | **Semgrep** | `npx -y semgrep-mcp` | SAST security scanning |
301
+ | **E2B** | `npx -y @e2b/mcp-server` | Isolated cloud code execution (`E2B_API_KEY`) |
302
+ | **Perplexity** | via ppl-ai | Real-time web research (`PERPLEXITY_API_KEY`) |
303
+
304
+ #### Self-hosted (free after setup)
305
+ | Server | Setup | What it adds |
306
+ |--------|-------|-------------|
307
+ | **SearXNG** | Docker: `docker run -p 8080:8080 searxng/searxng` | Privacy-respecting multi-engine search (no API key) |
308
+ | **Meilisearch** | Docker | Full-text + semantic search over your data |
309
+ | **Chroma** | pip/Docker | Vector DB for embeddings |
310
+
311
+ ### Full mcp.json example
312
+
313
+ ```json
314
+ {
315
+ "servers": [
316
+ {
317
+ "name": "github",
318
+ "command": "npx",
319
+ "args": ["-y", "@modelcontextprotocol/server-github"],
320
+ "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxx" }
321
+ },
322
+ {
323
+ "name": "brave",
324
+ "command": "npx",
325
+ "args": ["-y", "@modelcontextprotocol/server-brave-search"],
326
+ "env": { "BRAVE_API_KEY": "BSA_xxx" }
327
+ },
328
+ {
329
+ "name": "fetch",
330
+ "command": "uvx",
331
+ "args": ["mcp-server-fetch"]
332
+ },
333
+ {
334
+ "name": "memory",
335
+ "command": "npx",
336
+ "args": ["-y", "@modelcontextprotocol/server-memory"]
337
+ },
338
+ {
339
+ "name": "playwright",
340
+ "command": "npx",
341
+ "args": ["-y", "@playwright/mcp"]
342
+ }
343
+ ]
344
+ }
345
+ ```
346
+
347
+ > `~/.yuan/mcp.json` is gitignored and never committed — safe to store API keys.
348
+
349
+ Use `/mcp` in the TUI to see which servers are currently loaded.
350
+
351
+ ---
352
+
244
353
  ## Agent Architecture (v0.6.0)
245
354
 
246
355
  YUAN uses a multi-layer AI engine:
package/dist/cli.js CHANGED
@@ -58,12 +58,6 @@ program
58
58
  baseUrl: config.baseUrl,
59
59
  workDir: process.cwd(),
60
60
  });
61
- // Non-blocking plugin auto-discovery at startup
62
- import("@yuaone/core").then(({ PluginAutoLoader, PluginRegistry }) => {
63
- const registry = new PluginRegistry();
64
- const loader = new PluginAutoLoader({ projectRoot: process.cwd() });
65
- loader.loadAll(registry).catch(() => { }); // silently ignore failures
66
- }).catch(() => { });
67
61
  launchTUI({
68
62
  version: PKG_VERSION,
69
63
  model: configManager.getModel(),
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAOlD,gDAAgD;AAChD,MAAM,WAAW,cAAc;IAC7B,4EAA4E;IAC5E,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,6BAA6B;IAC7B,MAAM,EAAE,aAAa,CAAC;IACtB,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,4CAA4C;IAC5C,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,uDAAuD;IACvD,SAAS,EAAE;QACT,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,mBAAmB;IACnB,WAAW,EAAE;QACX,EAAE,EAAE,MAAM,CAAC;QACX,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,0CAA0C;IAC1C,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,yCAAyC;IACzC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,uEAAuE;IACvE,aAAa,CAAC,EAAE;QAAE,IAAI,IAAI,MAAM,CAAC;QAAC,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;IACnE,iDAAiD;IACjD,kBAAkB,EAAE,OAAO,CAAC;IAC5B,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,kCAAkC;IAClC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,+BAA+B;IAC/B,SAAS,CAAC,EAAE,MAAM,MAAM,CAAC;IACzB,wDAAwD;IACxD,uBAAuB,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAC9C,qBAAqB;IACrB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED,oCAAoC;AACpC,MAAM,WAAW,aAAa;IAC5B,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,2CAA2C;IAC3C,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,aAAa,CAAC;AAMpF,uCAAuC;AACvC,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,cAAc,CAAC;CACzB;AAkvCD,4CAA4C;AAC5C,eAAO,MAAM,YAAY,EAAE,UAAU,EA4BpC,CAAC;AAaF;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CASvF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAGrD;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,UAAU,EAAE,CAE7C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAOlD,gDAAgD;AAChD,MAAM,WAAW,cAAc;IAC7B,4EAA4E;IAC5E,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,6BAA6B;IAC7B,MAAM,EAAE,aAAa,CAAC;IACtB,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,4CAA4C;IAC5C,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,uDAAuD;IACvD,SAAS,EAAE;QACT,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,mBAAmB;IACnB,WAAW,EAAE;QACX,EAAE,EAAE,MAAM,CAAC;QACX,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,0CAA0C;IAC1C,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,yCAAyC;IACzC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,uEAAuE;IACvE,aAAa,CAAC,EAAE;QAAE,IAAI,IAAI,MAAM,CAAC;QAAC,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;IACnE,iDAAiD;IACjD,kBAAkB,EAAE,OAAO,CAAC;IAC5B,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,kCAAkC;IAClC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,+BAA+B;IAC/B,SAAS,CAAC,EAAE,MAAM,MAAM,CAAC;IACzB,wDAAwD;IACxD,uBAAuB,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAC9C,qBAAqB;IACrB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED,oCAAoC;AACpC,MAAM,WAAW,aAAa;IAC5B,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,2CAA2C;IAC3C,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,aAAa,CAAC;AAMpF,uCAAuC;AACvC,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,cAAc,CAAC;CACzB;AAs7CD,4CAA4C;AAC5C,eAAO,MAAM,YAAY,EAAE,UAAU,EA8BpC,CAAC;AAaF;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CASvF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAGrD;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,UAAU,EAAE,CAE7C"}
@@ -31,16 +31,18 @@ const help = (ctx) => {
31
31
  " /exit — Exit YUAN",
32
32
  "",
33
33
  " Extended",
34
- " /cost — Token usage & estimated cost",
35
- " /compact — Compress context history",
34
+ " /cost — Show token usage and estimated cost breakdown",
35
+ " /compact — Compress context to save tokens (use when context > 80%)",
36
36
  " /approve — Approve pending action",
37
37
  " /reject — Reject pending action",
38
38
  "",
39
39
  " Advanced",
40
40
  " /tools — List available tools",
41
- " /memory — Show YUAN.md learnings",
41
+ " /memory — Show learned patterns from YUAN.md",
42
42
  " /retry — Retry last failed action",
43
- " /gitSmart commit message & git stats",
43
+ " /tipShow a rotating usage tip",
44
+ " /mcp — MCP server status and configuration",
45
+ " /qa — QA governor config and status",
44
46
  "",
45
47
  " Plugin System",
46
48
  " /plugins — Plugin management (install/remove/search)",
@@ -456,91 +458,6 @@ const retry = (ctx) => {
456
458
  }
457
459
  return { output: "No message to retry." };
458
460
  };
459
- /* ──────────────────────────────────────────
460
- Git Intelligence
461
- ────────────────────────────────────────── */
462
- const git = (ctx, args) => {
463
- const subCommand = args[0]?.toLowerCase() ?? "commit";
464
- if (subCommand === "commit" || subCommand === "msg" || subCommand === "message") {
465
- const useStagedOnly = !args.includes("--all");
466
- ctx.output("Analyzing changes...");
467
- import("@yuaone/core").then(async ({ GitIntelligence }) => {
468
- try {
469
- const gi = new GitIntelligence({ projectPath: ctx.workDir });
470
- const msg = await gi.generateCommitMessage(useStagedOnly);
471
- const lines = [
472
- "Suggested commit message:",
473
- "",
474
- ` ${msg.subject}`,
475
- ];
476
- if (msg.body) {
477
- lines.push("");
478
- for (const line of msg.body.split("\n")) {
479
- lines.push(` ${line}`);
480
- }
481
- }
482
- if (msg.footer) {
483
- lines.push("");
484
- lines.push(` ${msg.footer}`);
485
- }
486
- lines.push("");
487
- lines.push(" (Use: git commit -m '<message above>')");
488
- if (!useStagedOnly) {
489
- lines.push(" Tip: stage files first with `git add` for accurate analysis.");
490
- }
491
- ctx.output(lines.join("\n"));
492
- }
493
- catch (e) {
494
- ctx.output(`Git analysis failed: ${e instanceof Error ? e.message : String(e)}`);
495
- }
496
- }).catch(() => {
497
- ctx.output("GitIntelligence not available.");
498
- });
499
- return { output: "" };
500
- }
501
- if (subCommand === "stats" || subCommand === "status") {
502
- ctx.output("Fetching git stats...");
503
- import("@yuaone/core").then(async ({ GitIntelligence }) => {
504
- try {
505
- const gi = new GitIntelligence({ projectPath: ctx.workDir });
506
- const stats = await gi.getStatus();
507
- const lines = [
508
- "Git Status",
509
- ` Branch : ${stats.currentBranch}`,
510
- ` Uncommitted : ${stats.uncommittedChanges}`,
511
- ` Staged : ${stats.stagedChanges}`,
512
- ` Ahead of remote : ${stats.aheadOfRemote}`,
513
- ` Behind remote : ${stats.behindRemote}`,
514
- ];
515
- if (stats.recentCommits.length > 0) {
516
- lines.push("");
517
- lines.push(" Recent commits:");
518
- for (const c of stats.recentCommits.slice(0, 5)) {
519
- lines.push(` ${c.hash.slice(0, 7)} ${c.subject}`);
520
- }
521
- }
522
- ctx.output(lines.join("\n"));
523
- }
524
- catch (e) {
525
- ctx.output(`Git stats failed: ${e instanceof Error ? e.message : String(e)}`);
526
- }
527
- }).catch(() => {
528
- ctx.output("GitIntelligence not available.");
529
- });
530
- return { output: "" };
531
- }
532
- // Default: show help
533
- return {
534
- output: [
535
- "Git Intelligence",
536
- "",
537
- " /git commit [--all] — Generate smart commit message (staged by default)",
538
- " /git stats — Show branch, ahead/behind, recent commits",
539
- "",
540
- " Alias: /git msg, /git message, /git status",
541
- ].join("\n"),
542
- };
543
- };
544
461
  /**
545
462
  * Minimal YAML parser — extracts simple key: value pairs and basic arrays.
546
463
  * Only handles the subset needed for plugin.yaml files (flat fields + skills/tools arrays).
@@ -1053,6 +970,257 @@ const skills = (ctx, args) => {
1053
970
  }
1054
971
  return { output: `Unknown subcommand: ${subCommand}. Use /skills for help.` };
1055
972
  };
973
+ /* ──────────────────────────────────────────
974
+ /tip — Rotating usage tips
975
+ ────────────────────────────────────────── */
976
+ const TIP_LIST = [
977
+ [
978
+ "Tip: What is YUAN?",
979
+ " YUAN is an autonomous coding agent that runs in your terminal.",
980
+ " It uses LLM tool-use to read/write/edit files, run shell commands,",
981
+ " search code, manage git, and browse the web — all without leaving",
982
+ " your terminal.",
983
+ "",
984
+ " Key concepts:",
985
+ " • BYOK — bring your own API key (OpenAI, Claude, Gemini, YUA)",
986
+ " • Tools — file_read, file_write, shell_exec, grep, glob, git_ops, …",
987
+ " • Skills — 35 built-in skills auto-activate based on file types",
988
+ " • MCP — extend with external tools via ~/.yuan/mcp.json",
989
+ " • Phases — explore → implement → verify → finalize (auto-tracked)",
990
+ ].join("\n"),
991
+ [
992
+ "Tip: YUAN agent phases",
993
+ " YUAN automatically transitions between task phases:",
994
+ " explore ◎ reading files, understanding codebase",
995
+ " implement ● writing code, editing files",
996
+ " verify ◷ running checks, QA pipeline",
997
+ " finalize ✦ completing, summarising",
998
+ "",
999
+ " Phase is shown in the footer bar during execution.",
1000
+ " QA runs automatically in SHADOW mode after each write.",
1001
+ " AutoTSC checks TypeScript after 2+ files modified.",
1002
+ ].join("\n"),
1003
+ [
1004
+ "Tip: MCP server setup",
1005
+ " Extend YUAN with any MCP server via ~/.yuan/mcp.json:",
1006
+ ' { "servers": [',
1007
+ ' { "name": "fetch", "command": "uvx", "args": ["mcp-server-fetch"] },',
1008
+ ' { "name": "github", "command": "npx",',
1009
+ ' "args": ["-y", "@modelcontextprotocol/server-github"],',
1010
+ ' "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxx" } }',
1011
+ " ] }",
1012
+ "",
1013
+ " Run /mcp to see all available servers and install commands.",
1014
+ ].join("\n"),
1015
+ [
1016
+ "Tip: Slash commands overview",
1017
+ " /help — full command list",
1018
+ " /status — provider, model, tokens",
1019
+ " /model — view or switch model",
1020
+ " /cost — token usage & cost",
1021
+ " /compact — compress context to save tokens",
1022
+ " /diff — changes made this session",
1023
+ " /memory — learned patterns (YUAN.md)",
1024
+ " /skills — available skills tree",
1025
+ " /mcp — MCP server status",
1026
+ " /tip — show next tip",
1027
+ ].join("\n"),
1028
+ [
1029
+ "Tip: Model switching",
1030
+ " Switch at any time without restarting:",
1031
+ " /model anthropic/claude-sonnet-4-6 — Anthropic (recommended)",
1032
+ " /model openai/gpt-4.1-mini — Fast + cheap",
1033
+ " /model google/gemini-2.5-flash — Google GA",
1034
+ " /model — Show full catalog",
1035
+ "",
1036
+ " For cost savings: use cheaper models (gpt-4.1-mini, haiku-4.5)",
1037
+ " for simple tasks; reserve flagship models for complex work.",
1038
+ ].join("\n"),
1039
+ [
1040
+ "Tip: Phase-aware workflow",
1041
+ " YUAN follows a structured 4-phase loop:",
1042
+ " 1. Explore — read & understand the codebase",
1043
+ " 2. Implement — make changes (tools: write, edit, shell)",
1044
+ " 3. Verify — lint, build, test",
1045
+ " 4. Finalize — summarize changes, update docs",
1046
+ "",
1047
+ " Steer with: /mode plan | code | review | test | debug",
1048
+ ].join("\n"),
1049
+ [
1050
+ "Tip: Skills system",
1051
+ " Skills are reusable agent behaviours (slash-invokable):",
1052
+ " /skills — list all skills",
1053
+ " /skills enable <id> — enable a skill",
1054
+ " /skills disable <id> — disable a skill",
1055
+ "",
1056
+ " Built-in skills: code-review, security-scan, test-gen,",
1057
+ " refactor, debug, plan",
1058
+ " Plugin skills: install via /plugins install <name>",
1059
+ ].join("\n"),
1060
+ [
1061
+ "Tip: Session resume",
1062
+ " Conversations are saved automatically.",
1063
+ " Resume the last session:",
1064
+ " yuan resume",
1065
+ " Resume a specific session by ID:",
1066
+ " yuan resume <session-id>",
1067
+ " List saved sessions:",
1068
+ " yuan sessions",
1069
+ ].join("\n"),
1070
+ [
1071
+ "Tip: Cost saving",
1072
+ " Tokens cost money — save them with these habits:",
1073
+ " • /compact when context > 80% (compresses history)",
1074
+ " • Use cheaper models for simple questions",
1075
+ " (/model openai/gpt-4.1-mini or anthropic/claude-haiku-4-5-20251001)",
1076
+ " • Keep prompts focused and specific",
1077
+ " • /cost to monitor usage during a session",
1078
+ ].join("\n"),
1079
+ [
1080
+ "Tip: Approval system",
1081
+ " Destructive actions (write, shell, git) require approval.",
1082
+ " During a prompt, you can respond:",
1083
+ " y — approve this action once",
1084
+ " n — reject this action",
1085
+ " always — approve all actions of this type (session)",
1086
+ "",
1087
+ " Slash commands: /approve /reject",
1088
+ ].join("\n"),
1089
+ [
1090
+ "Tip: Design mode",
1091
+ " YUAN can interact with a live browser for UI feedback:",
1092
+ " yuan design",
1093
+ " Design tools: snapshot, screenshot, navigate, resize,",
1094
+ " inspect, scroll — all driven by the AI.",
1095
+ " Requires Playwright (auto-installed on first use).",
1096
+ ].join("\n"),
1097
+ [
1098
+ "Tip: Context management",
1099
+ " Monitor context usage with /status (totalTokens).",
1100
+ " When context gets large:",
1101
+ " • /compact — summarise history (keeps recent messages)",
1102
+ " • /clear — start fresh (loses history)",
1103
+ "",
1104
+ " Auto-compaction triggers at ~60% by default.",
1105
+ " Use /compact manually when you notice slowdowns.",
1106
+ ].join("\n"),
1107
+ ];
1108
+ const tip = (_ctx, _args) => {
1109
+ const idx = Math.floor(Date.now() / 1000) % TIP_LIST.length;
1110
+ const tipText = TIP_LIST[idx];
1111
+ return {
1112
+ output: [
1113
+ tipText,
1114
+ "",
1115
+ ` (tip ${(idx + 1)}/${TIP_LIST.length} — run /tip again for the next one)`,
1116
+ ].join("\n"),
1117
+ };
1118
+ };
1119
+ /* ──────────────────────────────────────────
1120
+ /mcp — MCP server status
1121
+ ────────────────────────────────────────── */
1122
+ const MCP_AVAILABLE = [
1123
+ // Free / no API key
1124
+ { name: "fetch", free: true, install: "uvx mcp-server-fetch", desc: "Fetch any URL → clean markdown" },
1125
+ { name: "memory", free: true, install: "npx -y @modelcontextprotocol/server-memory", desc: "Persistent knowledge graph across sessions" },
1126
+ { name: "git", free: true, install: "uvx mcp-server-git", desc: "Full git operations via MCP" },
1127
+ { name: "sequentialthinking", free: true, install: "npx -y @modelcontextprotocol/server-sequential-thinking", desc: "Structured multi-step reasoning" },
1128
+ { name: "playwright", free: true, install: "npx -y @playwright/mcp", desc: "Browser automation (Microsoft)" },
1129
+ { name: "filesystem", free: true, install: "npx -y @modelcontextprotocol/server-filesystem", desc: "Extended file ops with configurable paths" },
1130
+ { name: "docker", free: true, install: "npx -y mcp-server-docker", desc: "Container + image management" },
1131
+ { name: "kubernetes", free: true, install: "npx -y mcp-server-kubernetes", desc: "K8s cluster control" },
1132
+ // Needs API key
1133
+ { name: "github", free: false, install: "npx -y @modelcontextprotocol/server-github", desc: "PR/issue management, code search (GITHUB_PERSONAL_ACCESS_TOKEN)" },
1134
+ { name: "brave-search", free: false, install: "npx -y @modelcontextprotocol/server-brave-search", desc: "Web search (BRAVE_API_KEY)" },
1135
+ { name: "spider", free: false, install: "npx -y @willbohn/spider-mcp", desc: "Web scraping + search (SPIDER_API_KEY)" },
1136
+ { name: "semgrep", free: false, install: "npx -y semgrep-mcp", desc: "SAST security scanning (SEMGREP_APP_TOKEN)" },
1137
+ { name: "e2b", free: false, install: "npx -y @e2b/mcp-server", desc: "Isolated cloud code execution (E2B_API_KEY)" },
1138
+ // Self-hosted
1139
+ { name: "searxng", free: true, install: "docker run -p 8080:8080 searxng/searxng", desc: "Self-hosted multi-engine search (no API key)" },
1140
+ ];
1141
+ const mcp = () => {
1142
+ const mcpConfigPath = path.join(os.homedir(), ".yuan", "mcp.json");
1143
+ // ── Loaded servers ──
1144
+ const lines = ["MCP Servers", ` Config: ${mcpConfigPath.replace(os.homedir(), "~")}`, ""];
1145
+ let loadedNames = [];
1146
+ try {
1147
+ const raw = fs.readFileSync(mcpConfigPath, "utf-8");
1148
+ const parsed = JSON.parse(raw);
1149
+ const servers = parsed.servers ?? [];
1150
+ loadedNames = servers.map((s) => s.name);
1151
+ if (servers.length === 0) {
1152
+ lines.push(" Loaded: (none — add servers to ~/.yuan/mcp.json)");
1153
+ }
1154
+ else {
1155
+ lines.push(" Loaded:");
1156
+ servers.forEach((s, i) => {
1157
+ const prefix = i === servers.length - 1 ? " └──" : " ├──";
1158
+ const cmd = s.command ? `${s.command} ${(s.args ?? []).join(" ")}`.trim() : "";
1159
+ lines.push(`${prefix} ${s.name}${cmd ? ` — ${cmd}` : ""}`);
1160
+ });
1161
+ }
1162
+ }
1163
+ catch {
1164
+ lines.push(" Loaded: (not configured)");
1165
+ }
1166
+ // ── Available to install ──
1167
+ lines.push("", " Available MCP servers:");
1168
+ lines.push(" (★ = free/no API key)");
1169
+ lines.push("");
1170
+ const freeServers = MCP_AVAILABLE.filter((s) => s.free && !loadedNames.includes(s.name));
1171
+ const paidServers = MCP_AVAILABLE.filter((s) => !s.free && !loadedNames.includes(s.name));
1172
+ if (freeServers.length > 0) {
1173
+ lines.push(" Free:");
1174
+ freeServers.forEach((s) => {
1175
+ lines.push(` ★ ${s.name.padEnd(18)} ${s.desc}`);
1176
+ lines.push(` install: ${s.install}`);
1177
+ });
1178
+ }
1179
+ if (paidServers.length > 0) {
1180
+ lines.push("", " Requires API key:");
1181
+ paidServers.forEach((s) => {
1182
+ lines.push(` ${s.name.padEnd(18)} ${s.desc}`);
1183
+ lines.push(` install: ${s.install}`);
1184
+ });
1185
+ }
1186
+ // ── Quick setup example ──
1187
+ lines.push("", " Quick setup — add to ~/.yuan/mcp.json:", ' { "servers": [', ' { "name": "fetch", "command": "uvx", "args": ["mcp-server-fetch"] },', ' { "name": "github", "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"],', ' "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxx" } }', " ] }", "", " Restart YUAN after editing to load changes.");
1188
+ return { output: lines.join("\n") };
1189
+ };
1190
+ /* ──────────────────────────────────────────
1191
+ /qa — QA governor status
1192
+ ────────────────────────────────────────── */
1193
+ const qa = (_ctx) => {
1194
+ const lines = [
1195
+ "QA Governor Status",
1196
+ "",
1197
+ " Subsystems (defaults):",
1198
+ " ├── lint SHADOW (runs, warns only)",
1199
+ " ├── type-check SHADOW (runs, warns only)",
1200
+ " ├── tests SHADOW (runs, warns only)",
1201
+ " ├── security-scan OFF (disabled by default)",
1202
+ " └── build BLOCKING (hard-fails on error)",
1203
+ "",
1204
+ " Mode definitions:",
1205
+ " BLOCKING — failure blocks the agent from proceeding",
1206
+ " SHADOW — failure logged but agent continues",
1207
+ " OFF — subsystem not executed",
1208
+ "",
1209
+ " To enable BLOCKING mode for a subsystem, add to .yuan/config.json:",
1210
+ " {",
1211
+ ' "qa": {',
1212
+ ' "lint": "BLOCKING",',
1213
+ ' "type-check": "BLOCKING",',
1214
+ ' "tests": "BLOCKING",',
1215
+ ' "security-scan": "SHADOW"',
1216
+ " }",
1217
+ " }",
1218
+ "",
1219
+ " For QA results from the last run, check .yuan/qa-report.json",
1220
+ " or run: yuan benchmark report",
1221
+ ];
1222
+ return { output: lines.join("\n") };
1223
+ };
1056
1224
  /* ──────────────────────────────────────────
1057
1225
  Benchmark
1058
1226
  ────────────────────────────────────────── */
@@ -1132,22 +1300,24 @@ export const COMMAND_DEFS = [
1132
1300
  { name: "/clear", description: "Clear conversation history", handler: (_ctx) => ({ clear: true }) },
1133
1301
  { name: "/config", description: "Show current configuration", handler: config },
1134
1302
  { name: "/session", description: "Session management", handler: session },
1135
- { name: "/diff", description: "Show file changes (git diff)", handler: diff },
1303
+ { name: "/diff", description: "Show file changes made this session", handler: diff },
1136
1304
  { name: "/undo", description: "Undo last file change", handler: undo },
1137
1305
  { name: "/model", description: "Show or change model", handler: model },
1138
1306
  { name: "/mode", description: "Show or change agent mode", handler: mode },
1139
1307
  { name: "/settings", description: "Auto-update preferences", handler: settings },
1140
1308
  { name: "/exit", description: "Exit YUAN", aliases: ["/quit", "/q"], handler: () => ({ exit: true }) },
1141
1309
  // Extended (P2)
1142
- { name: "/cost", description: "Token usage & estimated cost", handler: cost },
1143
- { name: "/compact", description: "Compress context history", handler: compact },
1310
+ { name: "/cost", description: "Show token usage and estimated cost breakdown", handler: cost },
1311
+ { name: "/compact", description: "Compress context to save tokens (use when context > 80%)", handler: compact },
1144
1312
  { name: "/approve", description: "Approve pending action", handler: approve },
1145
1313
  { name: "/reject", description: "Reject pending action", handler: reject },
1146
1314
  // Advanced (P3)
1147
1315
  { name: "/tools", description: "List available tools", handler: tools },
1148
- { name: "/memory", description: "Show YUAN.md learnings", handler: memory },
1316
+ { name: "/memory", description: "Show learned patterns from YUAN.md", handler: memory },
1149
1317
  { name: "/retry", description: "Retry last failed action", handler: retry },
1150
- { name: "/git", description: "Git intelligence smart commit message & stats", handler: git },
1318
+ { name: "/tip", description: "Show a rotating usage tip", handler: tip },
1319
+ { name: "/mcp", description: "MCP server status and configuration", handler: mcp },
1320
+ { name: "/qa", description: "QA governor config and how to enable BLOCKING mode", handler: qa },
1151
1321
  // Plugin System (P4)
1152
1322
  { name: "/plugins", description: "Plugin management (install/remove/search)", handler: plugins },
1153
1323
  { name: "/skills", description: "Available skills (tree view)", aliases: ["/skill"], handler: skills },