helloagents 3.0.29 → 3.0.31

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 (49) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/.codex-plugin/plugin.json +1 -1
  3. package/README.md +34 -34
  4. package/README_CN.md +36 -34
  5. package/bootstrap-lite.md +20 -20
  6. package/bootstrap.md +23 -21
  7. package/gemini-extension.json +1 -1
  8. package/install.ps1 +2 -2
  9. package/install.sh +2 -2
  10. package/package.json +1 -1
  11. package/scripts/cli-branch.mjs +7 -3
  12. package/scripts/cli-codex.mjs +6 -5
  13. package/scripts/cli-config.mjs +8 -0
  14. package/scripts/cli-doctor-codex.mjs +10 -5
  15. package/scripts/cli-doctor-render.mjs +16 -0
  16. package/scripts/cli-doctor.mjs +2 -3
  17. package/scripts/cli-lifecycle-hosts.mjs +6 -1
  18. package/scripts/cli-lifecycle.mjs +16 -2
  19. package/scripts/cli-messages.mjs +8 -7
  20. package/scripts/cli-runtime-carrier.mjs +3 -3
  21. package/scripts/cli-utils.mjs +9 -0
  22. package/scripts/guard.mjs +1 -1
  23. package/scripts/notify-context.mjs +1 -1
  24. package/scripts/notify-route.mjs +3 -4
  25. package/scripts/notify.mjs +6 -1
  26. package/scripts/project-storage.mjs +4 -4
  27. package/scripts/replay-state.mjs +22 -4
  28. package/scripts/runtime-context.mjs +14 -2
  29. package/scripts/runtime-scope.mjs +144 -2
  30. package/scripts/session-capsule.mjs +14 -0
  31. package/scripts/turn-state.mjs +7 -0
  32. package/scripts/turn-stop-gate.mjs +5 -5
  33. package/skills/commands/auto/SKILL.md +2 -2
  34. package/skills/commands/build/SKILL.md +4 -4
  35. package/skills/commands/commit/SKILL.md +2 -2
  36. package/skills/commands/global/SKILL.md +71 -0
  37. package/skills/commands/help/SKILL.md +8 -7
  38. package/skills/commands/init/SKILL.md +14 -31
  39. package/skills/commands/loop/SKILL.md +1 -1
  40. package/skills/commands/plan/SKILL.md +1 -1
  41. package/skills/commands/prd/SKILL.md +1 -1
  42. package/skills/commands/test/SKILL.md +1 -1
  43. package/skills/commands/verify/SKILL.md +5 -5
  44. package/skills/commands/wiki/SKILL.md +1 -1
  45. package/skills/hello-review/SKILL.md +1 -1
  46. package/skills/hello-subagent/SKILL.md +1 -1
  47. package/skills/hello-ui/SKILL.md +6 -6
  48. package/skills/hello-verify/SKILL.md +7 -7
  49. package/skills/helloagents/SKILL.md +9 -8
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "helloagents",
3
- "version": "3.0.29",
3
+ "version": "3.0.31",
4
4
  "description": "HelloAGENTS — The orchestration kernel that makes any AI CLI smarter. Adds intelligent routing, quality verification (Ralph Loop), safety guards, and notifications.",
5
5
  "author": {
6
6
  "name": "HelloWind",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "helloagents",
3
- "version": "3.0.29",
3
+ "version": "3.0.31",
4
4
  "description": "HelloAGENTS — Quality-driven orchestration kernel for AI CLIs with intelligent routing, quality verification (Ralph Loop), safety guards, and notifications.",
5
5
  "author": {
6
6
  "name": "HelloWind",
package/README.md CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  **A workflow layer for AI coding CLIs: skills, project knowledge, delivery checks, safer config writes, and resumable execution.**
10
10
 
11
- [![Version](https://img.shields.io/badge/version-3.0.29-orange.svg)](./package.json)
11
+ [![Version](https://img.shields.io/badge/version-3.0.31-orange.svg)](./package.json)
12
12
  [![npm](https://img.shields.io/npm/v/helloagents.svg)](https://www.npmjs.com/package/helloagents)
13
13
  [![Node](https://img.shields.io/badge/node-%3E%3D18-339933.svg)](./package.json)
14
14
  [![Skills](https://img.shields.io/badge/skills-14-6366f1.svg)](./skills)
@@ -100,7 +100,7 @@ HelloAGENTS includes 14 `hello-*` skills. They are loaded only when the current
100
100
  | `hello-reflect` | reusable lessons and knowledge updates |
101
101
 
102
102
  All UI work first follows the shared UI quality baseline.
103
- In global mode, activated projects, or explicit UI workflows, `hello-ui` adds deeper design-contract execution, design-system mapping, and visual validation on top of that baseline.
103
+ In global mode, in initialized projects, or in explicit UI workflows, `hello-ui` adds deeper design-contract execution, design-system mapping, and visual validation on top of that baseline.
104
104
  When visual evidence is required, HelloAGENTS records it in the current session `artifacts/visual.json`.
105
105
 
106
106
  ### 2) Commands for different work styles
@@ -116,7 +116,8 @@ Commands run inside the AI CLI chat with a `~` prefix. The command skill is read
116
116
  | `~prd` | Modern product requirements document through guided dimension-by-dimension exploration |
117
117
  | `~loop` | Iterative improvement with metric, guard command, keep/revert decisions |
118
118
  | `~wiki` | Create or sync only the project knowledge base |
119
- | `~init` | Full project setup: knowledge base plus project-level rule files and package-root links |
119
+ | `~init` | Same as `~wiki` |
120
+ | `~global` | Initialize project-level global mode |
120
121
  | `~test` | Write tests for a target module or recent change |
121
122
  | `~verify` | Review, run verification commands, fix failures, and close out |
122
123
  | `~commit` | Generate a conventional commit message and sync knowledge |
@@ -146,9 +147,9 @@ The knowledge base helps future turns understand the repo without re-discovering
146
147
  | `plans/<feature>/` | active plan packages |
147
148
  | `archive/` | archived plan packages |
148
149
 
149
- `~wiki` creates or updates the knowledge base only.
150
+ `~wiki` and `~init` create or update the knowledge base only.
150
151
 
151
- `~init` does more: it creates or updates the knowledge base, writes project-level rule files, and refreshes project-level HelloAGENTS package-root links for supported hosts.
152
+ `~global` does more: it creates or updates the knowledge base, writes the project-level global-mode marker, and refreshes project-level HelloAGENTS package-root links for supported hosts.
152
153
 
153
154
  ### 4) Structured plan packages
154
155
 
@@ -264,7 +265,7 @@ Type:
264
265
  ~help
265
266
  ```
266
267
 
267
- You should see the 13 chat commands and the current settings.
268
+ You should see the 14 chat commands and the current settings.
268
269
 
269
270
  ### 4) Create project knowledge
270
271
 
@@ -274,10 +275,10 @@ For knowledge base only:
274
275
  ~wiki
275
276
  ```
276
277
 
277
- For full project setup:
278
+ For project-level global mode:
278
279
 
279
280
  ```text
280
- ~init
281
+ ~global
281
282
  ```
282
283
 
283
284
  ## CLI Management
@@ -330,7 +331,7 @@ HELLOAGENTS=codex:global npm install -g helloagents
330
331
  HELLOAGENTS=claude:standby npm update -g helloagents
331
332
 
332
333
  # Switch to the beta branch and sync all CLIs in standby mode
333
- HELLOAGENTS=all:standby npm install -g github:hellowind777/helloagents#beta
334
+ HELLOAGENTS=all:standby npm install -g https://github.com/hellowind777/helloagents/archive/refs/heads/beta.tar.gz
334
335
 
335
336
  # Clean Gemini integration before package uninstall
336
337
  npm explore -g helloagents -- npm run uninstall -- gemini --standby
@@ -350,7 +351,7 @@ $env:HELLOAGENTS="codex:global"; npm install -g helloagents
350
351
  $env:HELLOAGENTS="claude:standby"; npm update -g helloagents
351
352
 
352
353
  # Switch to the beta branch and sync all CLIs in standby mode
353
- $env:HELLOAGENTS="all:standby"; npm install -g github:hellowind777/helloagents#beta
354
+ $env:HELLOAGENTS="all:standby"; npm install -g https://github.com/hellowind777/helloagents/archive/refs/heads/beta.tar.gz
354
355
 
355
356
  # Clean Gemini integration before package uninstall
356
357
  npm explore -g helloagents -- npm run uninstall -- gemini --standby
@@ -415,13 +416,13 @@ The PowerShell wrapper now forwards the same npm arguments as `install.sh`, so i
415
416
  ```bash
416
417
  helloagents switch-branch beta
417
418
  helloagents switch-branch beta claude --global
418
- helloagents branch github:hellowind777/helloagents#beta --all --standby
419
+ helloagents branch beta --all --standby
419
420
  ```
420
421
 
421
422
  Use normal npm commands when you only want to change the package and not sync host CLIs immediately:
422
423
 
423
424
  ```bash
424
- npm install -g github:hellowind777/helloagents#beta
425
+ npm install -g https://github.com/hellowind777/helloagents/archive/refs/heads/beta.tar.gz
425
426
  npm update -g helloagents
426
427
  npm explore -g helloagents -- npm run uninstall -- --all --standby
427
428
  npm uninstall -g helloagents
@@ -467,14 +468,14 @@ Codex global mode is installed by HelloAGENTS automatically through the local-pl
467
468
  | Implement from a clear request or active plan | `~build "finish task 2 in the plan"` |
468
469
  | Build a full product requirement document | `~prd "modern dashboard for operations team"` |
469
470
  | Iterate toward a metric | `~loop "reduce bundle size" --metric "npm run size" --direction lower` |
470
- | Create or refresh project knowledge only | `~wiki` |
471
- | Fully activate project workflow | `~init` |
471
+ | Create or refresh project knowledge only | `~wiki` / `~init` |
472
+ | Initialize project-level global mode | `~global` |
472
473
  | Validate current work | `~verify` |
473
474
  | Generate commit message and sync knowledge | `~commit` |
474
475
 
475
- ### Activated vs unactivated projects
476
+ ### Knowledge base vs project-level global mode
476
477
 
477
- In standby mode, unactivated projects get lighter rules and explicit `~command` entry points. A project becomes activated when `.helloagents/` exists, usually through `~wiki` or `~init`.
478
+ In standby mode, projects that are not initialized get lighter rules and explicit `~command` entry points. A project enters project-level global mode after `~global` writes `<!-- HELLOAGENTS_PROFILE: full -->`.
478
479
 
479
480
  In global mode, HelloAGENTS applies full rules by default.
480
481
 
@@ -488,16 +489,13 @@ By default, project knowledge lives in the project:
488
489
  .helloagents/
489
490
  ```
490
491
 
491
- This directory acts as both:
492
-
493
- - the activation signal
494
- - the local knowledge, plan, state, and runtime directory
492
+ This directory is the local knowledge, plan, state, and runtime directory.
495
493
 
496
494
  ### Repo-shared mode
497
495
 
498
496
  When `project_store_mode = "repo-shared"`:
499
497
 
500
- - local `.helloagents/` keeps activation and runtime files
498
+ - local `.helloagents/` keeps project-local state and runtime files
501
499
  - stable knowledge and plan files move to `~/.helloagents/projects/<repo-key>/`
502
500
  - multiple worktrees of the same git repo can share the same stable knowledge
503
501
 
@@ -510,9 +508,9 @@ Runtime state and evidence remain local to the working project:
510
508
  - `.helloagents/sessions/<workspace>/<session>/artifacts/*.json`
511
509
  - `.helloagents/sessions/<workspace>/<session>/artifacts/loop-results.tsv`
512
510
 
513
- ### Unactivated or temporary sessions
511
+ ### Temporary sessions outside project-local storage
514
512
 
515
- If neither the current directory nor its parents contain an activated `.helloagents/` directory, HelloAGENTS does not write project files automatically. Temporary runtime state is kept under the user-level directory:
513
+ For read-only work with no local output, if neither the current directory nor its parents contain a project-local `.helloagents/` directory, HelloAGENTS keeps short-lived runtime state under the user-level directory:
516
514
 
517
515
  ```text
518
516
  ~/.helloagents/runtime/<scope-key>/
@@ -520,15 +518,17 @@ If neither the current directory nor its parents contain an activated `.helloage
520
518
 
521
519
  This only stores short-lived `capsule.json`, `events.jsonl`, and `artifacts/`. It is not project knowledge. Expired transient sessions are removed by TTL cleanup.
522
520
 
521
+ Once the task creates or modifies local files, or otherwise leaves local output in the current project, HelloAGENTS creates the project-local `.helloagents/sessions/.../STATE.md` automatically instead of keeping that task only in the user-level transient runtime.
522
+
523
523
  ### Knowledge creation rules
524
524
 
525
525
  | Command or setting | Behavior |
526
526
  |--------------------|----------|
527
- | `~wiki` | creates or syncs the knowledge base only |
528
- | `~init` | creates knowledge base plus project-level rule files and package-root links |
527
+ | `~wiki` / `~init` | creates or syncs the knowledge base only |
528
+ | `~global` | creates knowledge base plus project-level global-mode marker and package-root links |
529
529
  | `kb_create_mode = 0` | disables automatic knowledge updates |
530
- | `kb_create_mode = 1` | updates knowledge automatically for coding tasks in activated projects or global mode |
531
- | `kb_create_mode = 2` | updates knowledge more aggressively in activated projects or global mode |
530
+ | `kb_create_mode = 1` | syncs knowledge automatically only when the KB already exists |
531
+ | `kb_create_mode = 2` | for coding tasks, auto-creates or syncs the KB when it already exists or the project is in global mode |
532
532
 
533
533
  ## Workflow and Delivery
534
534
 
@@ -616,7 +616,7 @@ Default shape:
616
616
  | `notify_level` | `0` | `0` off, `1` desktop, `2` sound, `3` both |
617
617
  | `ralph_loop_enabled` | `true` | run verification for explicit `~verify` / `~loop` or required closeout gates |
618
618
  | `guard_enabled` | `true` | block dangerous commands |
619
- | `kb_create_mode` | `1` | control automatic knowledge base updates |
619
+ | `kb_create_mode` | `1` | `0` off, `1` sync existing KB automatically, `2` auto-create or sync the KB for coding tasks |
620
620
  | `project_store_mode` | `"local"` | `local` or `repo-shared` |
621
621
  | `auto_commit_enabled` | `true` | auto-create a local commit at closeout when verification passed and the working tree changed; `false` skips only the automatic commit |
622
622
  | `commit_attribution` | `""` | optional text appended to commit messages |
@@ -668,11 +668,11 @@ Run all tests:
668
668
  npm test
669
669
  ```
670
670
 
671
- The current suite includes 124 tests and covers:
671
+ The current suite covers:
672
672
 
673
673
  - install, update, cleanup, uninstall, branch switching, and mode switching
674
674
  - one-shot shell and PowerShell lifecycle dispatch, plus wrapper mode-routing rules for install, update, cleanup, uninstall, and branch switching
675
- - Claude, Gemini, and Codex config merge, restore, and native/global cleanup behavior
675
+ - Claude, Gemini, and Codex host integration behavior
676
676
  - Codex managed `model_instructions_file`, `notify`, `hooks.json`, hook trust state, local plugin, marketplace, and cache behavior
677
677
  - Codex cleanup of legacy managed notify variants on Windows and canonical managed notify restoration rules
678
678
  - Codex `/goal` feature toggles, long-running route context, and goal-aware command contracts
@@ -697,15 +697,15 @@ Both.
697
697
  - `skills/` defines task-specific behavior
698
698
  - `scripts/` provides runtime helpers for routing, guard, notify, verification, state, and evidence
699
699
 
700
- ### Should I use `~wiki` or `~init`?
700
+ ### Should I use `~wiki`, `~init`, or `~global`?
701
701
 
702
- Use `~wiki` when you only want project knowledge.
702
+ Use `~wiki` or `~init` when you only want project knowledge.
703
703
 
704
- Use `~init` when you also want project-level rule files and project-level HelloAGENTS package-root links.
704
+ Use `~global` when you also want project-level global mode.
705
705
 
706
706
  ### What is the difference between standby and global?
707
707
 
708
- `standby` is lighter and explicit. It deploys rules to selected CLIs and keeps full project workflow behind project activation.
708
+ `standby` is lighter and explicit. It deploys rules to selected CLIs and keeps project-level global mode behind `~global`.
709
709
 
710
710
  `global` applies full rules broadly. Claude and Gemini use native plugin/extension installs. Codex uses the local-plugin path.
711
711
 
package/README_CN.md CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  **面向 AI 编码 CLI 的工作流层:技能、知识库、交付检查、更安全的配置写入,以及可恢复的执行流程。**
10
10
 
11
- [![Version](https://img.shields.io/badge/version-3.0.29-orange.svg)](./package.json)
11
+ [![Version](https://img.shields.io/badge/version-3.0.31-orange.svg)](./package.json)
12
12
  [![npm](https://img.shields.io/npm/v/helloagents.svg)](https://www.npmjs.com/package/helloagents)
13
13
  [![Node](https://img.shields.io/badge/node-%3E%3D18-339933.svg)](./package.json)
14
14
  [![Skills](https://img.shields.io/badge/skills-14-6366f1.svg)](./skills)
@@ -100,7 +100,7 @@ HelloAGENTS 内置 14 个 `hello-*` 技能。技能只在当前阶段需要时
100
100
  | `hello-reflect` | 可复用经验和知识更新 |
101
101
 
102
102
  所有 UI 任务都会先受共享的 UI 质量基线约束。
103
- 在全局模式、已激活项目或明确的 UI 工作流里,`hello-ui` 会在该基线之上补充设计契约执行、设计系统映射与视觉验收。
103
+ 在全局模式、已初始化项目或明确的 UI 工作流里,`hello-ui` 会在该基线之上补充设计契约执行、设计系统映射与视觉验收。
104
104
  当需要视觉证据时,HelloAGENTS 会写入当前会话的 `artifacts/visual.json`。
105
105
 
106
106
  ### 2)面向不同工作方式的命令
@@ -116,7 +116,8 @@ HelloAGENTS 内置 14 个 `hello-*` 技能。技能只在当前阶段需要时
116
116
  | `~prd` | 通过逐维度讨论生成现代产品需求文档 |
117
117
  | `~loop` | 设置指标和守卫命令,循环改进、保留或回滚 |
118
118
  | `~wiki` | 只创建或同步项目知识库 |
119
- | `~init` | 完整项目初始化:知识库、项目级规则文件和包根链接 |
119
+ | `~init` | `~wiki` |
120
+ | `~global` | 初始化项目级全局模式 |
120
121
  | `~test` | 为指定模块或最近变更编写测试 |
121
122
  | `~verify` | 审查、运行验证命令、修复失败并收尾 |
122
123
  | `~commit` | 生成规范化提交信息并同步知识库 |
@@ -146,9 +147,9 @@ HelloAGENTS 可以在 `.helloagents/` 下创建和维护项目知识库。
146
147
  | `plans/<feature>/` | 活跃方案包 |
147
148
  | `archive/` | 已归档方案包 |
148
149
 
149
- `~wiki` 只创建或更新知识库。
150
+ `~wiki` 和 `~init` 只创建或更新知识库。
150
151
 
151
- `~init` 做得更多:创建或更新知识库、写入项目级规则文件,并刷新各宿主项目级 HelloAGENTS 包根链接。
152
+ `~global` 做得更多:创建或更新知识库、写入项目级全局模式标记,并刷新各宿主项目级 HelloAGENTS 包根链接。
152
153
 
153
154
  ### 4)结构化方案包
154
155
 
@@ -209,7 +210,7 @@ HelloAGENTS 不把“命令通过”和“任务完成”简单画等号。交
209
210
  - `.helloagents/sessions/<workspace>/<session>/artifacts/closeout.json`
210
211
  - `.helloagents/sessions/<workspace>/<session>/artifacts/loop-results.tsv`
211
212
 
212
- 交付门控、守卫和循环提示使用执行性表述,例如处理路径、收尾动作和视觉验收动作。阻塞流程会说明下一步要做什么,而不是把可执行步骤写成泛化建议。最终收尾还会强制只保留一个 HelloAGENTS 外层块,避免同一条回复重复输出完成标题。
213
+ 交付门控、守卫和循环提示使用执行性表述,例如处理路径、收尾动作和视觉验收动作。阻塞流程会说明下一步要做什么,而不是把可执行步骤写成泛化建议。最终回复还会强制只保留一个 HelloAGENTS 外层块,避免同一条回复重复输出完成标题。
213
214
 
214
215
  ### 7)更安全的安装、更新、清理和诊断
215
216
 
@@ -264,7 +265,7 @@ helloagents install --all --global
264
265
  ~help
265
266
  ```
266
267
 
267
- 应能看到 13 个对话命令和当前设置。
268
+ 应能看到 14 个对话命令和当前设置。
268
269
 
269
270
  ### 4)创建项目知识
270
271
 
@@ -274,10 +275,10 @@ helloagents install --all --global
274
275
  ~wiki
275
276
  ```
276
277
 
277
- 完整初始化项目:
278
+ 初始化项目级全局模式:
278
279
 
279
280
  ```text
280
- ~init
281
+ ~global
281
282
  ```
282
283
 
283
284
  ## CLI 管理
@@ -330,7 +331,7 @@ HELLOAGENTS=codex:global npm install -g helloagents
330
331
  HELLOAGENTS=claude:standby npm update -g helloagents
331
332
 
332
333
  # 切换到 beta 分支并同步全部 CLI,标准模式
333
- HELLOAGENTS=all:standby npm install -g github:hellowind777/helloagents#beta
334
+ HELLOAGENTS=all:standby npm install -g https://github.com/hellowind777/helloagents/archive/refs/heads/beta.tar.gz
334
335
 
335
336
  # 卸载包前清理 Gemini 集成
336
337
  npm explore -g helloagents -- npm run uninstall -- gemini --standby
@@ -350,7 +351,7 @@ $env:HELLOAGENTS="codex:global"; npm install -g helloagents
350
351
  $env:HELLOAGENTS="claude:standby"; npm update -g helloagents
351
352
 
352
353
  # 切换到 beta 分支并同步全部 CLI,标准模式
353
- $env:HELLOAGENTS="all:standby"; npm install -g github:hellowind777/helloagents#beta
354
+ $env:HELLOAGENTS="all:standby"; npm install -g https://github.com/hellowind777/helloagents/archive/refs/heads/beta.tar.gz
354
355
 
355
356
  # 卸载包前清理 Gemini 集成
356
357
  npm explore -g helloagents -- npm run uninstall -- gemini --standby
@@ -415,13 +416,13 @@ PowerShell 包装脚本现在会传递与 `install.sh` 相同的 npm 参数,
415
416
  ```bash
416
417
  helloagents switch-branch beta
417
418
  helloagents switch-branch beta claude --global
418
- helloagents branch github:hellowind777/helloagents#beta --all --standby
419
+ helloagents branch beta --all --standby
419
420
  ```
420
421
 
421
422
  如果只想切换包本身,暂不同步宿主 CLI,可以直接使用 npm:
422
423
 
423
424
  ```bash
424
- npm install -g github:hellowind777/helloagents#beta
425
+ npm install -g https://github.com/hellowind777/helloagents/archive/refs/heads/beta.tar.gz
425
426
  npm update -g helloagents
426
427
  npm explore -g helloagents -- npm run uninstall -- --all --standby
427
428
  npm uninstall -g helloagents
@@ -467,14 +468,14 @@ Codex 全局模式由 HelloAGENTS 通过本地插件路径自动安装。
467
468
  | 按明确请求或活跃方案实现 | `~build "finish task 2 in the plan"` |
468
469
  | 生成完整产品需求文档 | `~prd "modern dashboard for operations team"` |
469
470
  | 按指标迭代优化 | `~loop "reduce bundle size" --metric "npm run size" --direction lower` |
470
- | 只创建或刷新项目知识 | `~wiki` |
471
- | 完整激活项目工作流 | `~init` |
471
+ | 只创建或刷新项目知识 | `~wiki` / `~init` |
472
+ | 初始化项目级全局模式 | `~global` |
472
473
  | 验证当前工作 | `~verify` |
473
474
  | 生成提交信息并同步知识库 | `~commit` |
474
475
 
475
- ### 已激活项目与未激活项目
476
+ ### 知识库与项目级全局模式
476
477
 
477
- 标准模式下,未激活项目只获得轻量规则和显式 `~command` 入口。项目中出现 `.helloagents/` 后才进入项目级工作流,通常由 `~wiki` `~init` 创建。
478
+ 标准模式下,未初始化的项目只获得轻量规则和显式 `~command` 入口。执行 `~global` 后,项目级规则文件会写入 `<!-- HELLOAGENTS_PROFILE: full -->`,项目才进入项目级全局模式。
478
479
 
479
480
  全局模式下,HelloAGENTS 默认启用完整规则。
480
481
 
@@ -488,9 +489,8 @@ Codex 全局模式由 HelloAGENTS 通过本地插件路径自动安装。
488
489
  .helloagents/
489
490
  ```
490
491
 
491
- 这个目录同时承担:
492
+ 这个目录承担:
492
493
 
493
- - 激活信号
494
494
  - 本地知识库目录
495
495
  - 方案目录
496
496
  - 状态与运行态目录
@@ -499,7 +499,7 @@ Codex 全局模式由 HelloAGENTS 通过本地插件路径自动安装。
499
499
 
500
500
  当 `project_store_mode = "repo-shared"` 时:
501
501
 
502
- - 本地 `.helloagents/` 保留激活和运行态文件
502
+ - 本地 `.helloagents/` 保留项目本地状态和运行态文件
503
503
  - 稳定知识和方案文件写到 `~/.helloagents/projects/<repo-key>/`
504
504
  - 同一 git 仓库的多个 worktree 可以共享这些稳定资料
505
505
 
@@ -512,9 +512,9 @@ Codex 全局模式由 HelloAGENTS 通过本地插件路径自动安装。
512
512
  - `.helloagents/sessions/<workspace>/<session>/artifacts/*.json`
513
513
  - `.helloagents/sessions/<workspace>/<session>/artifacts/loop-results.tsv`
514
514
 
515
- ### 未激活或临时会话
515
+ ### 项目本地存储之外的临时会话
516
516
 
517
- 如果当前目录及其父级没有项目激活目录 `.helloagents/`,HelloAGENTS 不会自动写入项目目录。临时运行态写到用户级目录:
517
+ 如果当前任务是只读、且当前目录及其父级还没有项目本地 `.helloagents/` 目录,HelloAGENTS 会把短期运行态写到用户级目录:
518
518
 
519
519
  ```text
520
520
  ~/.helloagents/runtime/<scope-key>/
@@ -522,15 +522,17 @@ Codex 全局模式由 HelloAGENTS 通过本地插件路径自动安装。
522
522
 
523
523
  这里仅保存短期的 `capsule.json`、`events.jsonl` 和 `artifacts/`,不作为项目知识库。过期临时会话会按 TTL 清理。
524
524
 
525
+ 一旦任务会创建或修改本地文件,或会在当前项目留下本地输出,HelloAGENTS 就会自动创建项目本地 `.helloagents/sessions/.../STATE.md`,而不是只停留在用户级临时运行态。
526
+
525
527
  ### 知识创建规则
526
528
 
527
529
  | 命令或配置 | 行为 |
528
530
  |------------|------|
529
- | `~wiki` | 只创建或同步知识库 |
530
- | `~init` | 创建知识库,同时写入项目级规则文件和包根链接 |
531
+ | `~wiki` / `~init` | 只创建或同步知识库 |
532
+ | `~global` | 创建知识库,同时写入项目级全局模式标记和包根链接 |
531
533
  | `kb_create_mode = 0` | 关闭自动知识更新 |
532
- | `kb_create_mode = 1` | 已激活项目或全局模式中,编码任务自动更新知识 |
533
- | `kb_create_mode = 2` | 已激活项目或全局模式中,更积极地更新知识 |
534
+ | `kb_create_mode = 1` | 仅在知识库已存在时自动同步 |
535
+ | `kb_create_mode = 2` | 编码任务在知识库已存在或全局模式下自动创建或同步 |
534
536
 
535
537
  ## 工作流与交付
536
538
 
@@ -614,11 +616,11 @@ UI 任务遵循以下优先级:
614
616
  | 键 | 默认值 | 含义 |
615
617
  |----|--------|------|
616
618
  | `output_language` | `""` | 默认跟随用户语言 |
617
- | `output_format` | `true` | 主代理最终收尾必须使用 HelloAGENTS 格式;中间输出和子代理输出保持自然 |
619
+ | `output_format` | `true` | 主代理最终回复必须使用 HelloAGENTS 格式;中间输出和子代理输出保持自然 |
618
620
  | `notify_level` | `0` | `0` 关闭,`1` 桌面通知,`2` 声音,`3` 两者 |
619
621
  | `ralph_loop_enabled` | `true` | 显式 `~verify` / `~loop` 或收尾要求时运行验证 |
620
622
  | `guard_enabled` | `true` | 拦截危险命令 |
621
- | `kb_create_mode` | `1` | 控制知识库自动更新 |
623
+ | `kb_create_mode` | `1` | `0` 关闭,`1` 自动同步已有知识库,`2` 编码任务自动创建或同步知识库 |
622
624
  | `project_store_mode` | `"local"` | `local` 或 `repo-shared` |
623
625
  | `auto_commit_enabled` | `true` | 验证完成且工作区有变更时自动创建本地提交;`false` 只跳过自动提交 |
624
626
  | `commit_attribution` | `""` | 提交信息附加署名 |
@@ -670,11 +672,11 @@ Codex 默认走规则文件驱动。
670
672
  npm test
671
673
  ```
672
674
 
673
- 当前测试共 124 项,覆盖:
675
+ 当前测试覆盖:
674
676
 
675
677
  - 安装、更新、清理、卸载、分支切换和模式切换
676
678
  - shell 与 PowerShell 一键脚本分发链路,以及包装脚本在安装、更新、清理、卸载和分支切换中的模式传递规则
677
- - Claude、Gemini、Codex 的配置合并、恢复,以及原生全局清理行为
679
+ - Claude、Gemini、Codex 的宿主集成行为
678
680
  - Codex 受管 `model_instructions_file`、`notify`、`hooks.json`、hook trust 状态、本地插件、marketplace 和缓存行为
679
681
  - Windows 下 Codex 旧式受管 notify 变体的清理,以及受管 notify 恢复规则
680
682
  - Codex `/goal` 功能开关、长程路由上下文和 goal 感知命令契约
@@ -699,15 +701,15 @@ npm test
699
701
  - `skills/` 定义任务类型相关行为
700
702
  - `scripts/` 提供选路、Guard、通知、验证、状态和证据等运行时辅助能力
701
703
 
702
- ### 应该用 `~wiki` 还是 `~init`?
704
+ ### 应该用 `~wiki`、`~init` 还是 `~global`?
703
705
 
704
- 只想创建项目知识库,用 `~wiki`。
706
+ 只想创建项目知识库,用 `~wiki` 或 `~init`。
705
707
 
706
- 还想写入项目级规则文件和宿主项目级 HelloAGENTS 包根链接,用 `~init`。
708
+ 还想初始化项目级全局模式,用 `~global`。
707
709
 
708
710
  ### standby 和 global 有什么区别?
709
711
 
710
- `standby` 更轻量、更显式。它只把规则部署到指定 CLI,完整项目流程由项目激活触发。
712
+ `standby` 更轻量、更显式。它只把规则部署到指定 CLI,项目级全局模式由 `~global` 触发。
711
713
 
712
714
  `global` 默认更广泛地启用完整规则。Claude 和 Gemini 使用原生插件 / 扩展;Codex 使用本地插件路径。
713
715
 
package/bootstrap-lite.md CHANGED
@@ -6,7 +6,7 @@
6
6
  配置文件: ~/.helloagents/helloagents.json
7
7
  `output_language` 非空时,所有用户可见文本使用该语言;为空则跟随用户当前语言。
8
8
  会话级缓存优先:当前上下文已有"当前用户设置"、原始 JSON 或读取摘要,且覆盖所需配置项时,直接复用。
9
- 仅在缺少所需项、用户要求刷新,或本轮修改后需要核验时读取;对 Codex 来说,首次对话前若当前上下文仍缺少所需配置项,必须先读取一次 `~/.helloagents/helloagents.json`,压缩/恢复后的首次对话同样先重读一次;输出格式只在缺少 `output_format` 已知值时触发读取。
9
+ 仅在缺少所需项、用户要求刷新,或本次修改后需要核验时读取;对 Codex 来说,首次对话前若当前上下文仍缺少所需配置项,必须先读取一次 `~/.helloagents/helloagents.json`,压缩/恢复后的首次对话同样先重读一次;输出格式只在缺少 `output_format` 已知值时触发读取。
10
10
  同一会话内,同一路径的配置文件、模块、SKILL、模板只读一次并跨轮复用;读取失败必须明示,并按默认值或已知设置执行。
11
11
 
12
12
  ## 通用交付规则(强制)
@@ -107,8 +107,8 @@
107
107
  ## 交互、停顿与收尾
108
108
  ### 输出格式
109
109
  适用条件:
110
- - 当 `helloagents.json` 的 `output_format` 为 `true` 时,主代理必须在本轮最后一条、且确认**不再继续调用工具、不再继续执行**的**收尾消息**中使用输出格式。
111
- - 若某个 skill 在本轮明确要求输出停顿、确认或总结,也仅当该消息同时是**本轮最终收尾消息**时,才可使用输出格式。
110
+ - 当 `helloagents.json` 的 `output_format` 为 `true` 时,主代理必须在每轮对话最后一条、且确认**不再继续调用工具、不再继续执行**的**最终回复**中使用输出格式。
111
+ - 若某个 skill 在当前对话明确要求输出停顿、确认或总结,也仅当该消息同时是**当前对话的最终回复**时,才可使用输出格式。
112
112
 
113
113
  排除条件:
114
114
  - 当 `output_format` 为 `false` 时,所有回复保持自然输出,不得使用输出格式。
@@ -126,16 +126,16 @@
126
126
  图标:💡直接响应(一次性答复 / 只读分析) | ⚡快速执行(低风险直接执行) | 🔵规划流程(方案 / 规划产出) | ✅完成(已完成且无待确认动作) | ❓等待输入(等待用户输入 / 授权) | ⚠️警告(存在重要风险或限制) | ❌错误(发生错误或已阻塞)
127
127
 
128
128
  使用约束:
129
- - 首行必须保留 `【HelloAGENTS】` 和连字符 `-`,不得省略;状态图标与收尾内容必须一致。正文仍在等待用户输入、确认、授权或补充信息(含确认是否执行已给出的方案或修改)时,只能使用 `❓等待输入`;仅在本轮执行已完成且不存在待确认动作时,才能使用 `✅完成`。同一条最终收尾消息只使用一次该格式;若主体需要分段,在同一个外层块内分节,不得在正文中再次输出 `【HelloAGENTS】` 或第二个 `🔄 下一步`。
129
+ - 首行必须保留 `【HelloAGENTS】` 和连字符 `-`,不得省略;状态图标与收尾内容必须一致。正文仍在等待用户输入、确认、授权或补充信息(含确认是否执行已给出的方案或修改)时,只能使用 `❓等待输入`;仅在当前对话执行已完成且不存在待确认动作时,才能使用 `✅完成`。同一条最终回复只使用一次该格式;若主体需要分段,在同一个外层块内分节,不得在正文中再次输出 `【HelloAGENTS】` 或第二个 `🔄 下一步`。
130
130
  - `🔄 下一步` 必须写真正的下一步动作,不写单纯当前状态或条件式能力表述。若正在等待确认,写清待确认动作;若仍有已授权且可继续执行的动作,不得收尾,必须继续执行;若当前任务已完整结束且确无合理后续,可明确写出任务已结束、无后续动作,不补条件式邀约。
131
131
 
132
132
  ### 收尾状态信号
133
- - `turn-state` 只在运行时必须识别本轮“完成 / 等待输入 / 阻塞”时写入;普通问候、普通问答、T0 只读分析和一次性解释不调用
134
- - 必须调用场景:显式 `~auto` / `~loop`;非只读任务完成验证并进入收尾;需要让运行时识别本轮已完成、等待输入或已阻塞时;已进入项目连续流程或方案包闭环
133
+ - `turn-state` 只在运行时必须识别当前对话“完成 / 等待输入 / 阻塞”时写入;普通问候、普通问答、T0 只读分析和一次性解释不调用
134
+ - 必须调用场景:显式 `~auto` / `~loop`;非只读任务完成验证并进入收尾;需要让运行时识别当前对话已完成、等待输入或已阻塞时;已进入项目连续流程或方案包闭环
135
135
  - 首选参数式调用,保证一次完成:`helloagents-turn-state write --kind complete --role main`;也可用 stdin JSON。不要查找、读取或拼接 `turn-state.mjs` 源码路径
136
- - 本轮已完成且不再等待用户输入 → `helloagents-turn-state write --kind complete --role main`
136
+ - 当前对话已完成且不再等待用户输入 → `helloagents-turn-state write --kind complete --role main`
137
137
  - 因阻塞判定等待用户输入、确认、授权或补充信息(含未授权的外部副作用确认) → 写 `kind=waiting`、`role=main`,并同时写 `reasonCategory` 与 `reason`
138
- - 因错误、缺少前置条件或外部依赖而本轮停下 → 写 `kind=blocked`、`role=main`,并同时写 `reasonCategory` 与 `reason`
138
+ - 因错误、缺少前置条件或外部依赖而当前对话停下 → 写 `kind=blocked`、`role=main`,并同时写 `reasonCategory` 与 `reason`
139
139
  - `reasonCategory` 只允许:`ambiguity`、`missing-input`、`missing-file`、`missing-credential`、`unauthorized-side-effect`、`high-risk-confirmation`、`external-dependency`、`error`
140
140
  - 显式 `~auto` / `~loop` 下,`waiting` / `blocked` 还必须写入 `blocker.target`、`blocker.evidence`、`blocker.requiredAction`;阶段汇报、单轮探测完成、路线调整或“下一步建议”不构成停下理由
141
141
  - 子代理不得写 turn-state;子代理结束只直接返回结果,不为主代理代写完成态
@@ -173,7 +173,7 @@
173
173
  以下情况才构成中途停下并请求用户输入的正当理由:
174
174
  - 需求存在影响执行结果的真实歧义
175
175
  - 缺少继续执行所必需的信息、文件、路径或凭据
176
- - 将产生外部副作用,但本轮尚未获得对应授权(含等待确认是否实施已给方案)
176
+ - 将产生外部副作用,但当前任务尚未获得对应授权(含等待确认是否实施已给方案)
177
177
  - 操作属于高风险或不可逆,按安全规则必须确认
178
178
  除上述情况外,默认继续执行。
179
179
 
@@ -198,20 +198,20 @@
198
198
  - `T3` — 高风险或不可逆操作(权限、安全、支付、数据库、生产发布等)→ 先 `~plan` / `~prd`,再 `~build` / `~verify`
199
199
 
200
200
  ### 完成判定
201
- - 未激活项目且未进入方案包 / `contract.json` / 证据文件时,声称完成前必须完成与任务类型匹配的必要检查;无法执行的检查必须明确说明,不得直接宣称完成
202
- - 当前项目已激活,或已存在方案包 / `contract.json` / 证据文件时,以完整流程、对应 skill 与运行时交付约束为准,不得降级为本节
201
+ - 当前项目未初始化,且未进入方案包 / `contract.json` / 证据文件时,声称完成前必须完成与任务类型匹配的必要检查;无法执行的检查必须明确说明,不得直接宣称完成
202
+ - 当前项目已初始化,或已存在方案包 / `contract.json` / 证据文件时,以完整流程、对应 skill 与运行时交付约束为准,不得降级为本节
203
203
  - 只读分析、创意探索、方案比较、中间进度和阻塞汇报不适用本节
204
204
  - Codex `/goal` 只作为外层长程续跑与预算控制;HelloAGENTS 仍负责方案、执行、验证和收尾。若 active goal 的目标已全部完成,先完成 HelloAGENTS 验证、收尾检查与本地版本检查点,再调用 `update_goal` 标记 complete;不得因预算接近耗尽、单轮结束或准备停下而标记 complete
205
- - 本地版本检查点:非只读任务完成验证且产生工作区变更时,若 `auto_commit_enabled=true`,最终收尾前自动执行本地提交;若 `auto_commit_enabled=false`,跳过这一步。先检查 `git status --short`;若不是 git 仓库或无变更则跳过。若发现 `.env`、密钥、凭据、明显不应提交的大文件或二进制产物,停止提交并说明风险;否则执行 `git add -A`,使用当前回复语言生成简洁 conventional commit message 后执行 `git commit`。显式 `~commit` 不受这个开关影响。不自动远程 `git push`,除非用户明确要求
205
+ - 本地版本检查点:非只读任务完成验证且产生工作区变更时,若 `auto_commit_enabled=true`,最终回复前自动执行本地提交;若 `auto_commit_enabled=false`,跳过这一步。先检查 `git status --short`;若不是 git 仓库或无变更则跳过。若发现 `.env`、密钥、凭据、明显不应提交的大文件或二进制产物,停止提交并说明风险;否则执行 `git add -A`,使用当前回复语言生成简洁 conventional commit message 后执行 `git commit`。显式 `~commit` 不受这个开关影响。不自动远程 `git push`,除非用户明确要求
206
206
 
207
207
  ### 命令路由
208
208
  - `~do` 是 `~build` 的兼容别名;`~design` 是 `~plan` 的兼容别名;`~review` 是 `~verify` 的兼容别名
209
209
  - `~test` — 为指定模块或最近变更编写测试
210
- - 路径定义:`{HELLOAGENTS_READ_ROOT}` = 本轮已确定的 HelloAGENTS 读取根目录,统一用于读取 `skills/` 与 `templates/`
210
+ - 路径定义:`{HELLOAGENTS_READ_ROOT}` = 当前对话已确定的 HelloAGENTS 读取根目录,统一用于读取 `skills/` 与 `templates/`
211
211
  - `~command` 路由:用户输入 `~xxx` 时,立即读取对应的 SKILL.md 并按其流程执行,不要自行探索或猜测。若当前上下文已解析出具体命令技能文件路径,直接使用它;否则先确定当前技能根目录:
212
- - 优先使用当前上下文中已注入的“本轮 HelloAGENTS 读取根目录”
212
+ - 优先使用当前上下文中已注入的“当前对话 HelloAGENTS 读取根目录”
213
213
  - 若当前上下文未注入,则使用稳定运行根目录 `~/.helloagents/helloagents`
214
- - 宿主固定链接(Codex `~/.codex/helloagents`、Claude `~/.claude/helloagents`、Gemini `~/.gemini/helloagents`)只作为兼容别名,不作为优先探测路径
214
+ - 宿主固定链接(Codex `~/.codex/helloagents`、Claude `~/.claude/helloagents`、Gemini `~/.gemini/helloagents`)只作为兼容别名,不作为优先探测路径
215
215
  - 仍无法确定时,明确说明缺少 HelloAGENTS 读取根目录;不要递归扫描 `$HOME`、`Downloads`、项目目录或旧版本目录
216
216
  确定根目录后读取其中的 `skills/commands/{name}/SKILL.md`;标准模式下即使项目目录存在本地 HelloAGENTS skills,也不要读取项目路径。不要扫描整个目录,也不要对同一命令重复探测多个路径。
217
217
  包内脚本优先使用稳定命令入口;涉及 turn-state 时按“收尾状态信号”执行。
@@ -220,19 +220,19 @@
220
220
  ### .helloagents/ 目录
221
221
  路径: {CWD}/.helloagents/
222
222
  所有文件的创建和更新必须按 templates/ 目录中对应模板的格式执行,不可自由发挥格式。
223
- - `.helloagents/` 表示项目级存储路径,也是标准模式的项目激活信号
223
+ - `.helloagents/` 表示项目本地存储路径,负责知识、方案、状态与运行态;它不再作为项目是否已初始化的判定信号
224
224
  - `state_path` 指向的状态文件、当前会话 `capsule.json`、`events.jsonl`、`artifacts/*.json`、`artifacts/loop-results.tsv` 等运行态文件始终保留在项目本地 `.helloagents/sessions/{workspace}/{session}/`
225
225
  - `state_path` 是状态文件的唯一位置。宿主提供会话标识时,写入 `.helloagents/sessions/{workspace}/{session}/STATE.md`;没有稳定会话标识时,写入 `.helloagents/sessions/{workspace}/default/STATE.md`
226
226
  - `{workspace}` 为当前 Git 分支、`detached-{sha}` 或非 Git 项目的 `workspace`;`.helloagents/sessions/active.json` 只记录当前活跃会话索引,避免同一会话被拆成多个目录
227
227
  - 若 helloagents.json 中 `project_store_mode = "repo-shared"`,`context.md`、`guidelines.md`、`CHANGELOG.md`、`verify.yaml`、`DESIGN.md`、`modules/`、`plans/`、`archive/` 改按当前上下文中已注入的“当前项目存储”/“项目知识/方案目录”解析;未注入具体路径时,按当前存储模式自行解析,不要假定这些文件一定实际位于当前工作树中
228
- templates/ 查找路径(按优先级;首次确定模板根目录后,本轮复用):
228
+ templates/ 查找路径(按优先级;首次确定模板根目录后,本会话复用):
229
229
  按上文 `~command` 路由中的相同技能根目录规则确定;确定根目录后读取其中的 `templates/`。
230
230
 
231
231
  ### 流程状态(不受 `kb_create_mode` 控制,始终可写)
232
232
  - 状态文件(`state_path`)— ≤70 行,用来记录“上次做到哪里”。判断当前任务时,当前用户消息、显式命令、活跃方案包 / PRD、代码与验证证据优先于状态文件
233
233
  内容:主线目标、正在做什么、关键上下文(决策/变更/假设)、下一步(具体可执行动作含文件路径)、阻塞项
234
234
  适用边界:
235
- - 强制创建并持续更新:`~wiki`、`~init`、`~plan`、`~build`、`~auto`、`~prd`、`~loop`,以及已激活项目的连续任务
235
+ - 强制创建并持续更新:`~wiki`、`~init`、`~global`、`~plan`、`~build`、`~auto`、`~prd`、`~loop`,以及任何会创建/修改本地文件、会在当前工作区留下实际输出或操作记录的非只读任务
236
236
  - 强制更新,不要求首次创建:`~clean`,主代理汇总子代理结果后
237
237
  - 已有则更新:`~verify`、`~review`(兼容别名)、`~test`、`~commit`
238
238
  - 不创建:`~help`、`~idea`、普通问答、一次性只读任务、子代理自身执行过程、压缩/恢复钩子
@@ -253,7 +253,7 @@ templates/ 查找路径(按优先级;首次确定模板根目录后,本轮
253
253
  - archive/_index.md — 归档索引
254
254
 
255
255
  ### 知识记录(受 `kb_create_mode` 控制)
256
- - 0=关闭;1=已激活项目或全局模式中的编码任务自动同步;2=已激活项目或全局模式中始终同步
256
+ - 0=关闭;1=知识库已存在时自动同步;2=编码任务在知识库已存在或全局模式下自动创建或同步
257
257
  - context.md — 项目架构、技术栈、目录结构、模块索引
258
258
  - guidelines.md — 编码约定(仅含非显而易见的约定)
259
259
  - CHANGELOG.md — 变更历史
@@ -268,7 +268,7 @@ templates/ 查找路径(按优先级;首次确定模板根目录后,本轮
268
268
  - artifacts/closeout.json — 当前会话最近一次成功收尾的交付证据快照
269
269
 
270
270
  ### 主线判断依据
271
- 1. 当前用户最新消息、显式 `~command`、本轮已确认的范围与结论
271
+ 1. 当前用户最新消息、显式 `~command`、当前对话已确认的范围与结论
272
272
  2. 当前活跃方案包 / PRD、代码与验证证据
273
273
  3. 当前状态文件(`state_path`,只用于补齐最近进度)
274
274
  4. 其他知识记录与历史归档