@piagent/platform 1.41.0 → 1.42.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 (125) hide show
  1. package/CHANGELOG.md +1020 -2038
  2. package/CONTRIBUTING.md +2 -0
  3. package/README.md +128 -325
  4. package/README.vi.md +149 -143
  5. package/docs/command-reference-vietnamese.md +2 -2
  6. package/docs/distribution-standard.md +6 -6
  7. package/docs/languages.json +2 -2
  8. package/docs/operator-manual-vietnamese.md +7 -7
  9. package/docs/publishing-for-teams.md +2 -0
  10. package/docs/release-install-policy.md +3 -3
  11. package/docs/team-onboarding.md +2 -2
  12. package/docs-site/architecture.html +71 -63
  13. package/docs-site/assets/docs.css +2736 -1030
  14. package/docs-site/assets/docs.js +451 -43
  15. package/docs-site/assets/og.png +0 -0
  16. package/docs-site/assets/piagent-logo.svg +9 -31
  17. package/docs-site/assets/search-en.json +1 -0
  18. package/docs-site/assets/search-vi.json +1 -0
  19. package/docs-site/benchmark.html +71 -63
  20. package/docs-site/commands.html +72 -64
  21. package/docs-site/content/en/index.html +220 -131
  22. package/docs-site/content/en/quickstart.html +74 -90
  23. package/docs-site/content/en/update.html +80 -0
  24. package/docs-site/content/en/whats-new.html +1 -684
  25. package/docs-site/content/index.html +220 -131
  26. package/docs-site/content/quickstart.html +73 -108
  27. package/docs-site/content/update.html +80 -0
  28. package/docs-site/content/whats-new.html +1 -684
  29. package/docs-site/context-engine.html +73 -65
  30. package/docs-site/ecosystem.html +73 -65
  31. package/docs-site/en/architecture.html +67 -59
  32. package/docs-site/en/benchmark.html +67 -59
  33. package/docs-site/en/commands.html +68 -60
  34. package/docs-site/en/context-engine.html +68 -60
  35. package/docs-site/en/ecosystem.html +68 -60
  36. package/docs-site/en/index.html +281 -220
  37. package/docs-site/en/mcp-approval.html +67 -59
  38. package/docs-site/en/mcp-auth.html +67 -59
  39. package/docs-site/en/mcp-servers.html +68 -60
  40. package/docs-site/en/mcp.html +64 -56
  41. package/docs-site/en/permissions.html +68 -60
  42. package/docs-site/en/profiles.html +68 -60
  43. package/docs-site/en/quickstart.html +142 -150
  44. package/docs-site/en/runtime.html +67 -59
  45. package/docs-site/en/scope.html +68 -60
  46. package/docs-site/en/security.html +64 -56
  47. package/docs-site/en/team.html +67 -59
  48. package/docs-site/en/update.html +228 -0
  49. package/docs-site/en/whats-new.html +1612 -725
  50. package/docs-site/en/windows.html +71 -63
  51. package/docs-site/en/workflows.html +68 -60
  52. package/docs-site/favicon.svg +9 -14
  53. package/docs-site/index.html +281 -220
  54. package/docs-site/mcp-approval.html +70 -62
  55. package/docs-site/mcp-auth.html +70 -62
  56. package/docs-site/mcp-servers.html +71 -63
  57. package/docs-site/mcp.html +70 -62
  58. package/docs-site/permissions.html +72 -64
  59. package/docs-site/profiles.html +72 -64
  60. package/docs-site/quickstart.html +145 -172
  61. package/docs-site/releases.json +4485 -0
  62. package/docs-site/runtime.html +73 -65
  63. package/docs-site/scope.html +73 -65
  64. package/docs-site/security.html +73 -65
  65. package/docs-site/team.html +71 -63
  66. package/docs-site/update.html +228 -0
  67. package/docs-site/whats-new.html +1616 -729
  68. package/docs-site/windows.html +75 -67
  69. package/docs-site/workflows.html +73 -65
  70. package/evals/private-holdout-v1/public-exposure.v2.json +1 -1
  71. package/package.json +1 -1
  72. package/packages/piagent-core/managed/dist/workspace/manifest.json +1 -1
  73. package/packages/piagent-core/managed/dist/workspace/worker.mjs +1 -1
  74. package/packages/piagent-core/package.json +1 -1
  75. package/packages/piagent-core/security/workspace-file-reader.ts +3 -1
  76. package/packages/piagent-webui/dist/client/assets/ActivityPanel-DRAiHliI.js +1 -0
  77. package/packages/piagent-webui/dist/client/assets/App-JMuP_9-r.js +5 -0
  78. package/packages/piagent-webui/dist/client/assets/GatewayApp-awcOLVTi.js +93 -0
  79. package/packages/piagent-webui/dist/client/assets/InspectionApp-DtDc9NxN.js +1 -0
  80. package/packages/piagent-webui/dist/client/assets/LineReview-DZ9ez8kO.js +3 -0
  81. package/packages/piagent-webui/dist/client/assets/{MarkdownMessage-DeLo-xiz.js → MarkdownMessage-D7bbIWJe.js} +2 -2
  82. package/packages/piagent-webui/dist/client/assets/SessionAgentWorkspace-DLwK12hX.js +1 -0
  83. package/packages/piagent-webui/dist/client/assets/SessionInspectorDrawer-CsPNI6aU.js +2 -0
  84. package/packages/piagent-webui/dist/client/assets/SettingsNavigation-CM0s3QUC.js +3 -0
  85. package/packages/piagent-webui/dist/client/assets/SettingsPage-Cr6M2FVg.js +1 -0
  86. package/packages/piagent-webui/dist/client/assets/TerminalPanel-A78JVp4e.js +2 -0
  87. package/packages/piagent-webui/dist/client/assets/{TerminalView-r9rG24IO.js → TerminalView-CR4TO5f1.js} +3 -3
  88. package/packages/piagent-webui/dist/client/assets/WorkspaceCodeEditor-DPOp-ZoD.js +2 -0
  89. package/packages/piagent-webui/dist/client/assets/WorkspaceExplorer-H8Ogln3d.js +5 -0
  90. package/packages/piagent-webui/dist/client/assets/WorkspaceQuickOpen-vQ5DqfJl.js +1 -0
  91. package/packages/piagent-webui/dist/client/assets/api-BUjrtT1B.js +1 -0
  92. package/packages/piagent-webui/dist/client/assets/composer-drafts-BtMaVw8W.js +1 -0
  93. package/packages/piagent-webui/dist/client/assets/index-Dqb2hNan.css +1 -0
  94. package/packages/piagent-webui/dist/client/assets/index-qi6mjvTy.js +37 -0
  95. package/packages/piagent-webui/dist/client/assets/latest-request-DXcYQW86.js +1 -0
  96. package/packages/piagent-webui/dist/client/assets/tab-close-DHDqCxTL.js +1 -0
  97. package/packages/piagent-webui/dist/client/assets/terminal-transport-Dk5pYNX5.js +1 -0
  98. package/packages/piagent-webui/dist/client/assets/transcript-view-model-BNGQCkzY.js +3 -0
  99. package/packages/piagent-webui/dist/client/assets/ui-preferences-Dy4qeODT.js +1 -0
  100. package/packages/piagent-webui/dist/client/assets/vendor-CA5pzJiI.js +136 -0
  101. package/packages/piagent-webui/dist/client/assets/view-model-CWNiS4JN.js +1 -0
  102. package/packages/piagent-webui/dist/client/assets/workspace-navigation-C8GtShbg.js +1 -0
  103. package/packages/piagent-webui/dist/client/index.html +4 -9
  104. package/packages/piagent-webui/gateway/signed-session-journal.ts +16 -6
  105. package/packages/piagent-webui/server/loopback-server.ts +19 -5
  106. package/packages/piagent-webui/server/static-bundle.ts +10 -2
  107. package/scripts/build-docs-site.mjs +205 -348
  108. package/scripts/check-public-wording.mjs +2 -1
  109. package/scripts/docs-site-icons.mjs +84 -0
  110. package/scripts/docs-site-nav.mjs +302 -0
  111. package/scripts/docs-site-releases.mjs +227 -0
  112. package/scripts/verify-local.sh +17 -1
  113. package/packages/piagent-webui/dist/client/assets/Alert-DGWhP2MM.js +0 -1
  114. package/packages/piagent-webui/dist/client/assets/Button-QItfZUNj.js +0 -1
  115. package/packages/piagent-webui/dist/client/assets/DialogTitle-CyaFPaiW.js +0 -3
  116. package/packages/piagent-webui/dist/client/assets/TerminalPanel-BG-DP_qm.js +0 -2
  117. package/packages/piagent-webui/dist/client/assets/Typography-B9om7Evq.js +0 -1
  118. package/packages/piagent-webui/dist/client/assets/WorkspaceCodeEditor-BnqaR3pK.js +0 -2
  119. package/packages/piagent-webui/dist/client/assets/WorkspaceExplorer-BIxwiGtl.js +0 -5
  120. package/packages/piagent-webui/dist/client/assets/WorkspaceQuickOpen-CK3dILhQ.js +0 -1
  121. package/packages/piagent-webui/dist/client/assets/index-DBUTrEXi.css +0 -1
  122. package/packages/piagent-webui/dist/client/assets/index-rlyRccut.js +0 -102
  123. package/packages/piagent-webui/dist/client/assets/tab-close-BoJRyBO_.js +0 -1
  124. package/packages/piagent-webui/dist/client/assets/ui-preferences-BO3AV7QE.js +0 -10
  125. package/packages/piagent-webui/dist/client/assets/useId-DEefKUAT.js +0 -124
@@ -1,124 +1,108 @@
1
1
  <section class="section">
2
2
  <div class="steps">
3
3
  <article class="step">
4
- <div>
5
- <h3 id="install-two-commands">Install with two commands</h3>
6
- <p>Requires Node.js 22.19.0 or newer. You do not need to install Pi Coding Agent first: <span class="inline-code">piagent-setup</span> installs the exact host version pinned by the current release. Run it inside the project directory. It installs the Pi package, initializes <span class="inline-code">.pi/</span>, installs the MCP baseline and subagents, and runs doctor. Use <span class="inline-code">--no-mcp</span>, <span class="inline-code">--no-subagents</span>, <span class="inline-code">--no-herdr</span>, or <span class="inline-code">--global-only</span> to omit optional parts.</p>
7
- <div class="table-wrap compact-table">
8
- <table>
9
- <thead><tr><th>Runtime</th><th>Rollout status</th></tr></thead>
10
- <tbody>
11
- <tr><td>macOS Apple Silicon + Bash</td><td>Verified for this release.</td></tr>
12
- <tr><td>Linux x64 + Bash</td><td>Verified in CI.</td></tr>
13
- <tr><td>macOS Intel / Linux ARM64 + Bash</td><td>Supported target; run doctor and smoke tests before broad rollout.</td></tr>
14
- <tr><td>Windows (WSL2)</td><td>One PowerShell command installs everything: see <a href="/en/windows">Windows</a>. Running on Windows itself is a preview of personal mode.</td></tr>
15
- </tbody>
16
- </table>
4
+ <h3 id="install">Install</h3>
5
+ <p>Requires Node.js 22.19.0 or later. You do not need Pi first: <code>piagent-setup</code> installs the exact Pi release this version pins, initializes <code>.pi/</code>, installs the MCP baseline and subagents, then runs the doctor.</p>
6
+ <div class="tabs" data-tabs="os">
7
+ <div class="tab-list" role="tablist" aria-label="Operating system">
8
+ <button type="button" role="tab" data-tab="macos" aria-selected="true">{{icon:apple}} macOS · Linux</button>
9
+ <button type="button" role="tab" data-tab="windows" aria-selected="false" tabindex="-1">{{icon:windows}} Windows</button>
17
10
  </div>
18
- <div class="command-card">
19
- <header><span>Two commands</span><button class="clip-btn" data-clip="npm install -g @piagent/platform&#10;piagent-setup">Copy</button></header>
20
- <pre><code>npm install -g @piagent/platform
11
+ <div class="tab-panel" data-panel="macos">
12
+ <div class="command-card">
13
+ <header><span>Run in the project folder</span><button class="clip-btn" data-clip="npm install -g @piagent/platform&#10;piagent-setup">Copy</button></header>
14
+ <pre><code>npm install -g @piagent/platform
21
15
  piagent-setup</code></pre>
16
+ </div>
22
17
  </div>
23
- <p>Because setup runs from the installed package, the source written to <span class="inline-code">.pi/settings.json</span> is <span class="inline-code">npm:@piagent/platform@&lt;version&gt;</span>. It resolves consistently on teammate machines and can be committed.</p>
24
- <p>If you use <a href="https://herdr.dev/docs/install/">Herdr</a>, install it <strong>first</strong>. <span class="inline-code">piagent-setup</span> installs the Herdr Pi integration when <span class="inline-code">herdr</span> is present on <span class="inline-code">PATH</span>. Otherwise it skips the integration with a warning; after installing Herdr, run <span class="inline-code">piagent-setup --global-only</span>.</p>
25
- <div class="command-card">
26
- <header><span>Herdr (optional, install first)</span><button class="clip-btn" data-clip="brew install herdr">Copy</button></header>
27
- <pre><code>brew install herdr # macOS
28
- curl -fsSL https://herdr.dev/install.sh | sh # macOS or Linux</code></pre>
18
+ <div class="tab-panel" data-panel="windows" hidden>
19
+ <div class="command-card">
20
+ <header><span>PowerShell</span><button class="clip-btn" data-clip="irm https://raw.githubusercontent.com/Vt-mmm/agentwatch/main/windows/setup.ps1 | iex">Copy</button></header>
21
+ <pre><code>irm https://raw.githubusercontent.com/Vt-mmm/agentwatch/main/windows/setup.ps1 | iex</code></pre>
22
+ </div>
23
+ <p>Installs WSL2, Ubuntu, Piagent and Agent Watch. Details in <a href="/en/windows">Windows</a>.</p>
29
24
  </div>
30
- <p>The <span class="inline-code">curl</span> form executes a downloaded installer. For an auditable path, use <span class="inline-code">brew</span> or download from <a href="https://github.com/ogulcancelik/herdr/releases">GitHub releases</a>. Herdr stable supports macOS and Linux; Windows remains preview.</p>
31
- <p>See the <a href="https://github.com/Vt-mmm/piagent/blob/main/docs/release-install-policy.md">release and install policy</a> for pinned rollout, updates, rollback, and the latest channel for personal machines.</p>
32
25
  </div>
26
+ <p>Skip the extras with <code>--no-mcp</code>, <code>--no-subagents</code>, <code>--no-herdr</code> or <code>--global-only</code>.</p>
33
27
  </article>
34
28
 
35
29
  <article class="step">
36
- <div>
37
- <h3 id="open-project-repository">Open the project repository</h3>
38
- <p>Start Pi from the repository directory. In a trusted repository, use the trusted-run wrapper only when controlled automation is needed.</p>
39
- <div class="command-card">
40
- <header><span>Start</span><button class="clip-btn" data-clip="cd /path/to/project && pi">Copy</button></header>
41
- <pre><code>cd /path/to/project
42
- pi</code></pre>
43
- </div>
44
- <p>For multiple parallel agents, run <span class="inline-code">herdr</span> instead of <span class="inline-code">pi</span> and assign one role per pane: implementation, read-only review, verification, or notes. Herdr coordinates terminals and sessions; it is not a security boundary. Gates remain in the Pi extension and OAuth still occurs in Pi. See the <a href="https://github.com/Vt-mmm/piagent/blob/main/docs/herdr-workflow.md">Herdr workflow</a>.</p>
45
- </div>
46
- </article>
47
-
48
- <article class="step">
49
- <div>
50
- <h3 id="onboard-context">Let the agent read the project</h3>
51
- <p>In a new repository, ask the agent to read the project (read-only) and record its project context under <span class="inline-code">.pi/</span>. No separate command: plain language is enough.</p>
52
- <div class="command-card">
53
- <header><span>Read the project</span><button class="clip-btn" data-clip="Inspect this project read-only and record its project context.">Copy</button></header>
54
- <pre><code>Inspect this project read-only and record its project context.</code></pre>
55
- </div>
30
+ <h3 id="open-project">Open a project</h3>
31
+ <p>Terminal and the dashboard share one history. Company mode opens with <code>piagent studio</code> once the key is imported through Agent Watch.</p>
32
+ <div class="command-card">
33
+ <header><span>Pick one</span><button class="clip-btn" data-clip="piagent dashboard">Copy</button></header>
34
+ <pre><code>piagent dashboard # browser, personal mode
35
+ pi # Terminal, personal mode
36
+ piagent studio --web # company mode</code></pre>
56
37
  </div>
57
38
  </article>
58
39
 
59
40
  <article class="step">
60
- <div>
61
- <h3 id="select-profile-and-tech">Select profile and technology</h3>
62
- <p>Use <span class="inline-code">/profile setup</span> for the interactive selector: choose the profile, then the technology by role. Full-stack setup selects frontend, backend, and database.</p>
63
- <div class="command-card">
64
- <header><span>Profile and tech setup</span><button class="clip-btn" data-clip="/profile setup&#10;/profile tech setup fullstack">Copy</button></header>
65
- <pre><code>/profile setup
66
- /profile tech setup fullstack</code></pre>
67
- </div>
41
+ <h3 id="read-project">Let the agent read the project</h3>
42
+ <p>In a new repository, ask the agent to read it (read-only) and record the project context in <code>.pi/</code>. No special command is needed.</p>
43
+ <div class="command-card">
44
+ <header><span>First message</span><button class="clip-btn" data-clip="Read this project (read-only) and record the project context.">Copy</button></header>
45
+ <pre><code>Read this project (read-only) and record the project context.</code></pre>
68
46
  </div>
69
47
  </article>
70
48
 
71
49
  <article class="step">
72
- <div>
73
- <h3 id="select-permission">Select a permission mode</h3>
74
- <p>Use read-only for scouting, workspace-write for normal coding, and guarded full access for trusted automation.</p>
75
- <div class="command-card">
76
- <header><span>Permission</span><button class="clip-btn" data-clip="/permission status&#10;/permission workspace-write">Copy</button></header>
77
- <pre><code>/permission status
50
+ <h3 id="profile-and-permission">Pick a profile and permission</h3>
51
+ <p>The profile decides which files are protected and which checks run. Permission: <code>read-only</code> to explore, <code>workspace-write</code> for normal coding.</p>
52
+ <div class="command-card">
53
+ <header><span>Slash commands</span><button class="clip-btn" data-clip="/profile setup&#10;/permission workspace-write">Copy</button></header>
54
+ <pre><code>/profile setup
78
55
  /permission workspace-write</code></pre>
79
- </div>
80
56
  </div>
81
57
  </article>
82
58
 
83
59
  <article class="step">
84
- <div>
85
- <h3 id="run-workflow">Run a workflow</h3>
86
- <p>State the work and the intent (edit, read-only, plan first) in plain language. Start a new session with <span class="inline-code">/new</span> for context-heavy work.</p>
87
- <div class="command-card">
88
- <header><span>Assign work</span><button class="clip-btn" data-clip="Implement the requested change and run the project tests.&#10;Review the current diff. Read-only.">Copy</button></header>
89
- <pre><code>Implement the requested change and run the project tests.
60
+ <h3 id="ask">Ask in plain language</h3>
61
+ <p>Say what you need and how: edit, read-only, or plan first. For context-heavy work, start a fresh session with <code>/new</code>.</p>
62
+ <div class="command-card">
63
+ <header><span>Examples</span><button class="clip-btn" data-clip="Fix the pagination bug in /orders, then run the project's tests.">Copy</button></header>
64
+ <pre><code>Fix the pagination bug in /orders, then run the project's tests.
90
65
  Review the current diff. Read-only.</code></pre>
91
- </div>
92
66
  </div>
93
67
  </article>
94
68
 
95
69
  <article class="step">
96
- <div>
97
- <h3 id="verify-before-handoff">Check before you hand over</h3>
98
- <p>Ask the agent to run the project's checks (tests, type check, build) and read the real output; in company mode the Harness asks for this itself. After pinning or upgrading a version, run doctor in the project:</p>
99
- <div class="command-card">
100
- <header><span>Doctor</span><button class="clip-btn" data-clip="piagent-doctor">Copy</button></header>
101
- <pre><code>piagent-doctor</code></pre>
102
- </div>
103
- <p>Platform maintainers also run <span class="inline-code">npm run verify</span> in the source repository. See <a href="https://github.com/Vt-mmm/piagent/blob/main/CONTRIBUTING.md">CONTRIBUTING</a>.</p>
70
+ <h3 id="check">Check the installation</h3>
71
+ <p>After installing or changing releases, run the doctor on the project. Every finding comes with the fix.</p>
72
+ <div class="command-card">
73
+ <header><span>Doctor</span><button class="clip-btn" data-clip="piagent-doctor">Copy</button></header>
74
+ <pre><code>piagent-doctor</code></pre>
104
75
  </div>
105
76
  </article>
77
+ </div>
78
+ </section>
106
79
 
107
- <article class="step">
108
- <div>
109
- <h3 id="uninstall">Uninstall when no longer needed</h3>
110
- <p><span class="inline-code">piagent-uninstall</span> is a dry run by default. Add <span class="inline-code">--apply</span> to make changes because it edits Pi settings that other tools may also use. The default removes only the platform's Pi package; add-ons, the Pi host, and project state are opt-in.</p>
111
- <div class="command-card">
112
- <header><span>Uninstall in two steps</span><button class="clip-btn" data-clip="piagent-uninstall&#10;piagent-uninstall --apply">Copy</button></header>
113
- <pre><code>piagent-uninstall
114
- piagent-uninstall --apply</code></pre>
115
- </div>
116
- <p>Add-ons, the Pi host, project state, and the global npm helper each have separate opt-in flags listed by <span class="inline-code">piagent-uninstall --help</span>. Removal follows packages registered in Pi settings, so registrations created by older releases are still found.</p>
117
- <div class="callout ok-callout">
118
- <strong>Never removed</strong>
119
- <p>Credentials, trust decisions, sessions, todos, and <span class="inline-code">.pi/memory/</span> remain under every flag combination. Generated files that may have been edited, such as <span class="inline-code">AGENTS.md</span>, <span class="inline-code">.pi/settings.json</span>, and <span class="inline-code">project-context.md</span>, are listed for manual review. In <span class="inline-code">.pi/settings.json</span>, only the package entry that points to the platform is removed.</p>
120
- </div>
121
- </div>
122
- </article>
80
+ <section class="section">
81
+ <h2 id="supported">Supported systems</h2>
82
+ <div class="table-wrap">
83
+ <table>
84
+ <thead><tr><th>Environment</th><th>Status</th></tr></thead>
85
+ <tbody>
86
+ <tr><td>macOS Apple Silicon</td><td>Verified for this release.</td></tr>
87
+ <tr><td>Linux x64</td><td>Verified in CI.</td></tr>
88
+ <tr><td>macOS Intel, Linux ARM64</td><td>Supported; run the doctor and smoke tests before a wide rollout.</td></tr>
89
+ <tr><td>Windows (WSL2)</td><td>The way to run Piagent on Windows, in both personal and company mode.</td></tr>
90
+ <tr><td>Native Windows</td><td>Preview of personal mode; <code>piagent-update</code> is not available yet.</td></tr>
91
+ </tbody>
92
+ </table>
93
+ </div>
94
+ <div class="callout">
95
+ <strong>Using Herdr?</strong>
96
+ <p>Install Herdr <em>before</em> <code>piagent-setup</code> to get its Pi integration; if you install it later, run <code>piagent-setup --global-only</code> again. Herdr arranges terminals; it is not a protection layer. See the <a href="https://github.com/Vt-mmm/piagent/blob/main/docs/herdr-workflow.md">Herdr workflow</a>.</p>
97
+ </div>
98
+ </section>
99
+
100
+ <section class="section">
101
+ <h2 id="next">Next</h2>
102
+ <div class="card-grid">
103
+ <a class="doc-card" href="/en/update"><span class="card-kicker">{{icon:refresh}} Operate</span><h3>Update &amp; uninstall</h3><p>New releases, team pins, rollback, and an uninstall that previews first.</p></a>
104
+ <a class="doc-card" href="/en/ecosystem"><span class="card-kicker">{{icon:network}} Get started</span><h3>Ecosystem</h3><p>When to use your own model and when to use Agent Studio.</p></a>
105
+ <a class="doc-card" href="/en/permissions"><span class="card-kicker">{{icon:key}} Build</span><h3>Permission modes</h3><p>The four permission levels and when to use each.</p></a>
106
+ <a class="doc-card" href="/en/mcp"><span class="card-kicker">{{icon:plug}} MCP</span><h3>MCP</h3><p>Pinned presets, server management and the approval gate.</p></a>
123
107
  </div>
124
108
  </section>
@@ -0,0 +1,80 @@
1
+ <section class="section">
2
+ <h2 id="update">Update</h2>
3
+ <p>The dashboard and Terminal check for a new release every hour. When one is out, the dashboard opens a dialog with what will change, <strong>Update now</strong> and <strong>Later</strong> (asks again in an hour). To run it yourself, one command:</p>
4
+ <div class="command-card">
5
+ <header><span>Move to the latest release</span><button class="clip-btn" data-clip="piagent-update">Copy</button></header>
6
+ <pre><code>piagent-update</code></pre>
7
+ </div>
8
+ <p>Restart the dashboard afterwards so the new interface takes effect.</p>
9
+
10
+ <h3 id="what-it-does">What it does, in order</h3>
11
+ <ol>
12
+ <li>Resolves the target release and the Pi version it pins.</li>
13
+ <li>Installs that Pi host, then replaces the <code>piagent-update</code> helper.</li>
14
+ <li>Checks the version actually on disk before running the installer.</li>
15
+ <li>With <code>--project</code>: migrates the project's state and runs <code>piagent-doctor --strict-share</code>.</li>
16
+ </ol>
17
+ <div class="callout">
18
+ <strong>Not from a git checkout</strong>
19
+ <p><code>piagent-update</code> refuses to run when the global package is a link to a source repository, so it never overwrites code you are editing.</p>
20
+ </div>
21
+
22
+ <h3 id="options">Common options</h3>
23
+ <div class="table-wrap">
24
+ <table>
25
+ <thead><tr><th>Command</th><th>Use when</th></tr></thead>
26
+ <tbody>
27
+ <tr><td><code>piagent-update --check</code></td><td>You only want to know whether a release is out.</td></tr>
28
+ <tr><td><code>piagent-update --dry-run</code></td><td>You want to see what would be installed, changing nothing.</td></tr>
29
+ <tr><td><code>piagent-update --version X.Y.Z</code></td><td>You want exactly one release, newer or older.</td></tr>
30
+ <tr><td><code>piagent-update --project .</code></td><td>You want the current project migrated too.</td></tr>
31
+ <tr><td><code>--no-host</code> · <code>--no-package</code> · <code>--no-migrate</code></td><td>You want to skip a step.</td></tr>
32
+ </tbody>
33
+ </table>
34
+ </div>
35
+ </section>
36
+
37
+ <section class="section">
38
+ <h2 id="pin-for-a-team">Pin one release for a team</h2>
39
+ <p>For a team rollout, install the exact Pi host and platform release, then run the installer in stable mode. The <code>--dry-run</code> step prints what would change.</p>
40
+ <div class="command-card">
41
+ <header><span>Pinned install</span><button class="clip-btn" data-clip="npm install -g --ignore-scripts @earendil-works/pi-coding-agent@{{piHost}}&#10;npm install -g --ignore-scripts @piagent/platform@{{version}}&#10;piagent-install --stable --dry-run&#10;piagent-install --stable">Copy</button></header>
42
+ <pre><code>npm install -g --ignore-scripts @earendil-works/pi-coding-agent@{{piHost}}
43
+ npm install -g --ignore-scripts @piagent/platform@{{version}}
44
+ piagent-install --stable --dry-run
45
+ piagent-install --stable</code></pre>
46
+ </div>
47
+ <p>Installed from a package, <code>.pi/settings.json</code> records <code>npm:@piagent/platform@&lt;version&gt;</code>: the same value on every machine, so the team can commit it. The full procedure is in the <a href="https://github.com/Vt-mmm/piagent/blob/main/docs/release-install-policy.md">release &amp; install policy</a>.</p>
48
+ </section>
49
+
50
+ <section class="section">
51
+ <h2 id="rollback">Roll back</h2>
52
+ <p>Rolling back is deliberate, never automatic. Move to a specific release with the same update command:</p>
53
+ <div class="command-card">
54
+ <header><span>Back to a previous release</span><button class="clip-btn" data-clip="piagent-update --version X.Y.Z --dry-run&#10;piagent-update --version X.Y.Z">Copy</button></header>
55
+ <pre><code>piagent-update --version X.Y.Z --dry-run
56
+ piagent-update --version X.Y.Z</code></pre>
57
+ </div>
58
+ <p>To change only the Pi package and keep the host: <code>piagent-install --version vX.Y.Z --resolve-tag</code>. Run <code>piagent-doctor</code> on the project afterwards.</p>
59
+ </section>
60
+
61
+ <section class="section">
62
+ <h2 id="uninstall">Uninstall</h2>
63
+ <p><code>piagent-uninstall</code> only reports what it would remove and exits. It acts with <code>--apply</code>, because it edits Pi settings that other tools also write to.</p>
64
+ <div class="command-card">
65
+ <header><span>Preview, then remove</span><button class="clip-btn" data-clip="piagent-uninstall&#10;piagent-uninstall --apply">Copy</button></header>
66
+ <pre><code>piagent-uninstall
67
+ piagent-uninstall --apply
68
+ npm uninstall -g @piagent/platform</code></pre>
69
+ </div>
70
+ <p>Add-ons, the Pi host and project state are opt-in: <code>--with-addons</code>, <code>--with-host</code>, <code>--project &lt;path&gt;</code>.</p>
71
+ <div class="callout ok-callout">
72
+ <strong>Never removed</strong>
73
+ <p>Credentials, trust, sessions, todos and <code>.pi/memory/</code> are kept under every combination of flags. Files generated from a template and then edited (<code>AGENTS.md</code>, <code>.pi/settings.json</code>) are only listed, for you to decide.</p>
74
+ </div>
75
+ </section>
76
+
77
+ <section class="section">
78
+ <h2 id="windows">On Windows</h2>
79
+ <p>Run the same PowerShell command you installed with: it updates WSL, Piagent and Agent Watch. See <a href="/en/windows">Windows</a>.</p>
80
+ </section>