helloagents 2.3.8 → 3.0.1-beta.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 (90) hide show
  1. package/.claude-plugin/marketplace.json +20 -0
  2. package/.claude-plugin/plugin.json +21 -0
  3. package/.codex-plugin/plugin.json +46 -0
  4. package/README.md +488 -638
  5. package/README_CN.md +770 -0
  6. package/assets/dogdoing/complete.wav +0 -0
  7. package/assets/dogdoing/confirm.wav +0 -0
  8. package/assets/dogdoing/error.wav +0 -0
  9. package/assets/dogdoing/idle.wav +0 -0
  10. package/assets/dogdoing/warning.wav +0 -0
  11. package/assets/icons/icon-large.png +0 -0
  12. package/assets/icons/icon.png +0 -0
  13. package/assets/sounds/complete.wav +0 -0
  14. package/assets/sounds/confirm.wav +0 -0
  15. package/assets/sounds/error.wav +0 -0
  16. package/assets/sounds/idle.wav +0 -0
  17. package/assets/sounds/warning.wav +0 -0
  18. package/bootstrap-lite.md +199 -0
  19. package/bootstrap.md +296 -0
  20. package/cli.mjs +453 -0
  21. package/gemini-extension.json +8 -0
  22. package/hooks/hooks-claude.json +88 -0
  23. package/hooks/hooks.json +76 -0
  24. package/package.json +36 -6
  25. package/scripts/cli-codex.mjs +445 -0
  26. package/scripts/cli-config.mjs +37 -0
  27. package/scripts/cli-hosts.mjs +75 -0
  28. package/scripts/cli-messages.mjs +92 -0
  29. package/scripts/cli-toml.mjs +251 -0
  30. package/scripts/cli-utils.mjs +139 -0
  31. package/scripts/guard.mjs +217 -0
  32. package/scripts/notify-context.mjs +123 -0
  33. package/scripts/notify-events.mjs +11 -0
  34. package/scripts/notify-shared.mjs +47 -0
  35. package/scripts/notify-ui.mjs +92 -0
  36. package/scripts/notify.mjs +219 -0
  37. package/scripts/ralph-loop.mjs +246 -0
  38. package/skills/_meta/SKILL.md +19 -0
  39. package/skills/commands/auto/SKILL.md +91 -0
  40. package/skills/commands/clean/SKILL.md +21 -0
  41. package/skills/commands/commit/SKILL.md +26 -0
  42. package/skills/commands/design/SKILL.md +108 -0
  43. package/skills/commands/help/SKILL.md +45 -0
  44. package/skills/commands/init/SKILL.md +60 -0
  45. package/skills/commands/loop/SKILL.md +98 -0
  46. package/skills/commands/prd/SKILL.md +151 -0
  47. package/skills/commands/review/SKILL.md +16 -0
  48. package/skills/commands/test/SKILL.md +16 -0
  49. package/skills/commands/verify/SKILL.md +21 -0
  50. package/skills/hello-api/SKILL.md +40 -0
  51. package/skills/hello-arch/SKILL.md +38 -0
  52. package/skills/hello-data/SKILL.md +39 -0
  53. package/skills/hello-debug/SKILL.md +58 -0
  54. package/skills/hello-errors/SKILL.md +39 -0
  55. package/skills/hello-perf/SKILL.md +40 -0
  56. package/skills/hello-reflect/SKILL.md +34 -0
  57. package/skills/hello-review/SKILL.md +33 -0
  58. package/skills/hello-security/SKILL.md +40 -0
  59. package/skills/hello-subagent/SKILL.md +32 -0
  60. package/skills/hello-test/SKILL.md +55 -0
  61. package/skills/hello-ui/SKILL.md +197 -0
  62. package/skills/hello-verify/SKILL.md +132 -0
  63. package/skills/hello-write/SKILL.md +33 -0
  64. package/skills/helloagents/SKILL.md +107 -0
  65. package/templates/CHANGELOG.md +5 -0
  66. package/templates/DESIGN.md +19 -0
  67. package/templates/STATE.md +19 -0
  68. package/templates/archive/_index.md +4 -0
  69. package/templates/context.md +19 -0
  70. package/templates/guidelines.md +15 -0
  71. package/templates/modules/module.md +13 -0
  72. package/templates/plans/decisions.md +10 -0
  73. package/templates/plans/design.md +14 -0
  74. package/templates/plans/prd/00-overview.md +23 -0
  75. package/templates/plans/prd/01-user-stories.md +19 -0
  76. package/templates/plans/prd/02-functional.md +30 -0
  77. package/templates/plans/prd/03-ui-design.md +31 -0
  78. package/templates/plans/prd/04-technical.md +25 -0
  79. package/templates/plans/prd/05-nonfunctional.md +28 -0
  80. package/templates/plans/prd/06-i18n-l10n.md +23 -0
  81. package/templates/plans/prd/07-accessibility.md +20 -0
  82. package/templates/plans/prd/08-content.md +20 -0
  83. package/templates/plans/prd/09-testing.md +22 -0
  84. package/templates/plans/prd/10-deployment.md +23 -0
  85. package/templates/plans/prd/11-legal-privacy.md +18 -0
  86. package/templates/plans/prd/12-timeline.md +21 -0
  87. package/templates/plans/requirements.md +18 -0
  88. package/templates/plans/tasks.md +10 -0
  89. package/templates/verify.yaml +9 -0
  90. package/bin/cli.mjs +0 -106
@@ -0,0 +1,10 @@
1
+ # {项目/功能名称} — 决策日志
2
+
3
+ 决策记录贯穿 PRD 全程,记录每个维度讨论中的关键决策。
4
+
5
+ ## 决策列表
6
+ - [YYYY-MM-DD] D-001: [决策标题]
7
+ - 背景:[为什么需要做这个决策]
8
+ - 选项:[考虑过的方案]
9
+ - 结论:[最终选择]
10
+ - 理由:[选择理由]
@@ -0,0 +1,14 @@
1
+ # {项目/功能名称} — 方案设计
2
+
3
+ ## 架构决策
4
+ [关键决策及理由]
5
+
6
+ ## 文件结构
7
+ [涉及的文件和目录规划]
8
+
9
+ ## 视觉设计
10
+ [涉及 UI 时填写:美学方向/配色/字体/布局/记忆点/动效/约束定义/内容策略]
11
+
12
+ ## 决策记录
13
+ [设计过程中的关键决策,供回溯]
14
+ - [YYYY-MM-DD] 决策内容及理由
@@ -0,0 +1,23 @@
1
+ # {项目/功能名称} — 产品概述
2
+
3
+ ## 产品愿景与定位
4
+ [一句话描述产品的核心价值主张]
5
+
6
+ ## 目标用户画像
7
+ [用户角色、背景、技术水平、使用场景]
8
+ - Persona 1: [角色名] — [描述]
9
+ - Persona 2: [角色名] — [描述]
10
+
11
+ ## 用户痛点与机会
12
+ [当前用户面临的问题,以及本产品如何解决]
13
+
14
+ ## 成功指标
15
+ [可量化的 KPI / OKR]
16
+ - [ ] 指标1:[描述] — 目标值:[值]
17
+ - [ ] 指标2:[描述] — 目标值:[值]
18
+
19
+ ## 项目范围
20
+ [必须包含的核心功能]
21
+
22
+ ## 非目标
23
+ [明确不做什么——防止范围蔓延]
@@ -0,0 +1,19 @@
1
+ # {项目/功能名称} — 用户故事与场景
2
+
3
+ ## 核心用户旅程
4
+ [从用户首次接触到完成核心任务的完整路径]
5
+ 1. [步骤1] → [步骤2] → ... → [目标达成]
6
+
7
+ ## 用户故事列表
8
+ [按优先级排列]
9
+ - US-001: 作为[角色],我想要[功能],以便[价值] — 优先级:[P0/P1/P2]
10
+ - US-002: ...
11
+
12
+ ## 边缘场景与异常流
13
+ [非正常路径:网络断开、数据异常、并发冲突等]
14
+ - EC-001: [场景描述] → 预期行为:[描述]
15
+
16
+ ## 验收标准
17
+ [每个核心故事的 Acceptance Criteria]
18
+ - US-001:
19
+ - [ ] Given [前置条件], When [操作], Then [预期结果]
@@ -0,0 +1,30 @@
1
+ # {项目/功能名称} — 功能需求
2
+
3
+ ## 功能清单
4
+ [按 MoSCoW 优先级分类]
5
+
6
+ ### Must Have(必须)
7
+ - F-001: [功能名] — [描述]
8
+ - F-002: ...
9
+
10
+ ### Should Have(应该)
11
+ - F-010: ...
12
+
13
+ ### Could Have(可以)
14
+ - F-020: ...
15
+
16
+ ### Won't Have(不做)
17
+ - F-030: ...
18
+
19
+ ## 业务规则与逻辑
20
+ [核心业务规则,如权限、状态流转、计算公式]
21
+ - BR-001: [规则描述]
22
+
23
+ ## 数据模型与实体关系
24
+ [核心实体、字段、关系]
25
+
26
+ ## API 契约
27
+ [关键接口的输入/输出/错误码]
28
+
29
+ ## 状态机与流程图
30
+ [核心业务流程的状态流转]
@@ -0,0 +1,31 @@
1
+ # {项目/功能名称} — UI/UX 设计规范
2
+
3
+ ## 设计风格与美学方向
4
+ [整体视觉风格、情感基调、参考案例]
5
+
6
+ ## 设计 Token
7
+ [变量体系]
8
+ - 颜色:背景色、表面色、主色、强调色、语义色
9
+ - 字体:展示字体、正文字体、等宽字体
10
+ - 间距:基础单位、间距比例
11
+ - 圆角:组件圆角规范
12
+ - 阴影:层级阴影体系
13
+
14
+ ## 布局与响应式策略
15
+ [各视口的布局方式、网格系统、断点定义]
16
+ - Mobile: [策略]
17
+ - Tablet: [策略]
18
+ - Desktop: [策略]
19
+
20
+ ## 组件规范与交互模式
21
+ [核心组件的设计规范和交互行为]
22
+
23
+ ## 动效与过渡策略
24
+ [入场动画、交互反馈、状态过渡]
25
+ - 尊重 prefers-reduced-motion
26
+
27
+ ## 暗色模式 / 主题切换
28
+ [是否支持、切换策略、Token 映射]
29
+
30
+ ## 设计约束
31
+ [字体数量上限、强调色数量、CTA 数量等]
@@ -0,0 +1,25 @@
1
+ # {项目/功能名称} — 技术架构
2
+
3
+ ## 技术选型与理由
4
+ [语言/框架/数据库/第三方服务及选择理由]
5
+ | 层级 | 选型 | 理由 |
6
+ |------|------|------|
7
+ | 前端 | | |
8
+ | 后端 | | |
9
+ | 数据库 | | |
10
+ | 部署 | | |
11
+
12
+ ## 系统架构图
13
+ [组件关系、数据流向、外部依赖]
14
+
15
+ ## 文件/模块结构
16
+ [目录规划和模块划分]
17
+
18
+ ## 依赖关系与第三方服务
19
+ [外部 API、SDK、SaaS 服务]
20
+
21
+ ## 数据库设计
22
+ [表结构、索引策略、迁移方案]
23
+
24
+ ## 架构决策记录
25
+ - [YYYY-MM-DD] ADR-001: [决策] — 背景:[背景] | 选项:[A/B/C] | 结论:[选项X] | 理由:[理由]
@@ -0,0 +1,28 @@
1
+ # {项目/功能名称} — 非功能需求
2
+
3
+ ## 性能要求
4
+ - 页面加载时间:[目标值]
5
+ - API 响应时间:[P50/P95/P99 目标]
6
+ - 并发用户数:[目标值]
7
+ - 吞吐量:[目标值]
8
+
9
+ ## 安全需求
10
+ - 认证方式:[JWT/Session/OAuth/...]
11
+ - 授权模型:[RBAC/ABAC/...]
12
+ - 数据加密:[传输层/存储层]
13
+ - OWASP Top 10 防护:[具体措施]
14
+
15
+ ## 可用性与容灾
16
+ - SLA 目标:[99.9%/99.99%/...]
17
+ - 备份策略:[频率/保留期]
18
+ - 降级方案:[核心功能降级策略]
19
+
20
+ ## 可扩展性
21
+ - 水平扩展:[策略]
22
+ - 垂直扩展:[策略]
23
+ - 瓶颈预判:[已知瓶颈及应对]
24
+
25
+ ## 监控与可观测性
26
+ - 日志:[级别/格式/存储]
27
+ - 指标:[关键指标/采集方式]
28
+ - 告警:[告警规则/通知渠道]
@@ -0,0 +1,23 @@
1
+ # {项目/功能名称} — 国际化与本地化
2
+
3
+ ## 支持语言列表
4
+ [按优先级排列]
5
+ | 语言 | 区域 | 优先级 | 备注 |
6
+ |------|------|--------|------|
7
+ | | | P0 | 默认语言 |
8
+ | | | P1 | |
9
+
10
+ ## 文本外部化策略
11
+ [i18n 框架选型、key 命名规范、翻译文件格式]
12
+
13
+ ## RTL 布局支持
14
+ [是否需要、实现策略]
15
+
16
+ ## 日期/时间/货币/数字格式
17
+ [各区域的格式化规则]
18
+
19
+ ## 文化适配
20
+ [图标/颜色/图片/内容的文化差异处理]
21
+
22
+ ## 翻译工作流
23
+ [翻译流程、工具、质量保证]
@@ -0,0 +1,20 @@
1
+ # {项目/功能名称} — 无障碍
2
+
3
+ ## 目标合规级别
4
+ [WCAG 2.2 AA / AAA,或其他标准]
5
+
6
+ ## 键盘导航方案
7
+ [Tab 顺序、快捷键、焦点管理]
8
+
9
+ ## 屏幕阅读器支持
10
+ [ARIA 标签策略、语义化 HTML、动态内容通知]
11
+
12
+ ## 色彩对比度要求
13
+ [正文/大文本/图标的最低对比度比值]
14
+
15
+ ## 动效减弱
16
+ [prefers-reduced-motion 响应策略]
17
+
18
+ ## 测试计划
19
+ - 自动化:[axe-core / Lighthouse / ...]
20
+ - 手动:[辅助技术测试矩阵]
@@ -0,0 +1,20 @@
1
+ # {项目/功能名称} — 内容策略
2
+
3
+ ## 文案风格指南
4
+ [Tone & Voice:正式/友好/专业/幽默/...]
5
+ - 品牌语调:[描述]
6
+ - 用词规范:[术语表/禁用词]
7
+
8
+ ## 错误信息规范
9
+ [错误信息的结构和语气]
10
+ - 格式:[发生了什么] + [为什么] + [怎么解决]
11
+ - 语气:[不责怪用户、提供明确行动]
12
+
13
+ ## 空状态与引导文案
14
+ [各空状态场景的文案和引导]
15
+
16
+ ## 帮助文档与 Tooltip
17
+ [帮助内容的层级和触发方式]
18
+
19
+ ## SEO 策略
20
+ [如适用:关键词、元数据、结构化数据]
@@ -0,0 +1,22 @@
1
+ # {项目/功能名称} — 测试策略
2
+
3
+ ## 测试金字塔
4
+ [单元/集成/E2E 的比例和覆盖目标]
5
+ - 单元测试:[覆盖率目标] — [框架]
6
+ - 集成测试:[覆盖范围] — [框架]
7
+ - E2E 测试:[关键路径] — [框架]
8
+
9
+ ## 关键测试场景
10
+ [必须覆盖的核心业务场景]
11
+ - TC-001: [场景描述] — 预期结果:[描述]
12
+
13
+ ## 性能测试计划
14
+ [负载测试/压力测试/基准测试]
15
+
16
+ ## 兼容性矩阵
17
+ | 平台 | 版本 | 优先级 |
18
+ |------|------|--------|
19
+ | | | |
20
+
21
+ ## 验收测试标准
22
+ [上线前必须通过的测试清单]
@@ -0,0 +1,23 @@
1
+ # {项目/功能名称} — 部署与运维
2
+
3
+ ## 环境规划
4
+ | 环境 | 用途 | 配置差异 |
5
+ |------|------|----------|
6
+ | dev | 开发调试 | |
7
+ | staging | 预发布验证 | |
8
+ | prod | 生产环境 | |
9
+
10
+ ## CI/CD 流水线
11
+ [构建/测试/部署的自动化流程]
12
+
13
+ ## 发布策略
14
+ [蓝绿部署/金丝雀发布/灰度发布/滚动更新]
15
+
16
+ ## 回滚方案
17
+ [回滚触发条件、回滚步骤、数据回滚策略]
18
+
19
+ ## 配置管理
20
+ [环境变量/配置文件/密钥管理]
21
+
22
+ ## 数据迁移计划
23
+ [数据库迁移策略、数据兼容性、回滚脚本]
@@ -0,0 +1,18 @@
1
+ # {项目/功能名称} — 法律与隐私
2
+
3
+ ## 数据收集与处理
4
+ [收集哪些数据、处理目的、法律依据]
5
+ - GDPR 合规:[适用/不适用] — [措施]
6
+ - CCPA 合规:[适用/不适用] — [措施]
7
+
8
+ ## 用户同意机制
9
+ [Cookie 同意、隐私政策、数据处理同意]
10
+
11
+ ## 数据保留与删除策略
12
+ [各类数据的保留期限、删除机制、用户删除请求处理]
13
+
14
+ ## 第三方数据共享
15
+ [与哪些第三方共享数据、共享目的、数据处理协议]
16
+
17
+ ## 许可证合规
18
+ [开源依赖的许可证审查、商业许可证需求]
@@ -0,0 +1,21 @@
1
+ # {项目/功能名称} — 里程碑与排期
2
+
3
+ ## 阶段划分
4
+ | 阶段 | 范围 | 目标 |
5
+ |------|------|------|
6
+ | MVP | [最小可行产品范围] | [验证核心假设] |
7
+ | V1 | [完整功能集] | [正式发布] |
8
+ | V2 | [增强功能] | [规模化] |
9
+
10
+ ## 里程碑与交付物
11
+ - M1: [里程碑名] — 交付物:[描述] — 预计:[日期]
12
+ - M2: ...
13
+
14
+ ## 依赖关系与风险
15
+ [外部依赖、技术风险、人员风险]
16
+ | 风险 | 影响 | 概率 | 缓解措施 |
17
+ |------|------|------|----------|
18
+ | | | | |
19
+
20
+ ## 资源需求
21
+ [人员/技术/预算需求]
@@ -0,0 +1,18 @@
1
+ # {项目/功能名称} — 需求
2
+
3
+ 确认后冻结,执行阶段不可修改。如需变更必须回到设计阶段重新确认。
4
+
5
+ ## 核心目标
6
+ [解决什么问题?给谁用?]
7
+
8
+ ## 功能边界
9
+ [必须有什么?不需要什么?]
10
+
11
+ ## 非目标
12
+ [明确不做什么——防止范围蔓延和 AI 自作主张]
13
+
14
+ ## 技术约束
15
+ [平台/语言/框架/依赖/不可修改的文件或 API]
16
+
17
+ ## 质量要求
18
+ [测试/安全/可访问性/性能要求]
@@ -0,0 +1,10 @@
1
+ # {项目/功能名称} — 任务分解
2
+
3
+ ## 任务列表
4
+ [按执行顺序排列,每个任务独立可验证]
5
+ - [ ] 任务1:描述(涉及文件、验证方式)
6
+ - [ ] 任务2:描述
7
+ - [ ] 任务3:描述
8
+
9
+ ## 进度
10
+ [执行过程中更新]
@@ -0,0 +1,9 @@
1
+ # Verify commands for HelloAGENTS Ralph Loop
2
+ # Auto-detected or manually configured
3
+ # Format: simple list only (one command per line, no YAML advanced syntax)
4
+ # Uncomment or add your project's verify commands below:
5
+
6
+ commands:
7
+ # - npm run lint
8
+ # - npm run typecheck
9
+ # - npm run test
package/bin/cli.mjs DELETED
@@ -1,106 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- /**
4
- * HelloAGENTS npm/npx bootstrap installer.
5
- *
6
- * This script is ONLY for first-time setup:
7
- * npx helloagents # install + interactive menu
8
- * npx helloagents install codex # install + specify target
9
- *
10
- * After installation, use the native `helloagents` command directly
11
- * for all subsequent operations (update, uninstall, status, etc.).
12
- */
13
-
14
- import { execSync, spawnSync } from "node:child_process";
15
- import { readFileSync } from "node:fs";
16
- import { fileURLToPath } from "node:url";
17
- import { dirname, join } from "node:path";
18
-
19
- const REPO = "https://github.com/hellowind777/helloagents";
20
- const MIN_PYTHON = [3, 10];
21
-
22
- function findPython() {
23
- for (const cmd of ["python3", "python"]) {
24
- try {
25
- const out = execSync(`${cmd} --version`, {
26
- encoding: "utf-8",
27
- stdio: ["pipe", "pipe", "pipe"],
28
- }).trim();
29
- const match = out.match(/Python (\d+)\.(\d+)/);
30
- if (match) {
31
- const major = parseInt(match[1], 10);
32
- const minor = parseInt(match[2], 10);
33
- if (major > MIN_PYTHON[0] || (major === MIN_PYTHON[0] && minor >= MIN_PYTHON[1])) {
34
- return cmd;
35
- }
36
- }
37
- } catch {}
38
- }
39
- return null;
40
- }
41
-
42
- function detectBranch() {
43
- try {
44
- const __dirname = dirname(fileURLToPath(import.meta.url));
45
- const pkg = JSON.parse(readFileSync(join(__dirname, "..", "package.json"), "utf-8"));
46
- if (pkg.version && /beta/i.test(pkg.version)) return "beta";
47
- } catch {}
48
- return "main";
49
- }
50
-
51
- function pipInstall(python, branch) {
52
- const suffix = branch && branch !== "main" ? `@${branch}` : "";
53
- const url = `git+${REPO}.git${suffix}`;
54
- console.log(`Installing helloagents Python package (${branch})...`);
55
- const res = spawnSync(python, ["-m", "pip", "install", "--upgrade", url], {
56
- stdio: "inherit",
57
- });
58
- if (res.status !== 0) {
59
- console.error("Failed to install helloagents Python package.");
60
- process.exit(1);
61
- }
62
- }
63
-
64
- // --- Main ---
65
- const python = findPython();
66
- if (!python) {
67
- console.error("Error: Python >= 3.10 not found.");
68
- console.error("Please install Python first: https://www.python.org/downloads/");
69
- process.exit(1);
70
- }
71
-
72
- const args = process.argv.slice(2);
73
-
74
- // Supported: no args (interactive menu) or "install [target]"
75
- if (args.length > 0 && args[0] !== "install") {
76
- console.log("HelloAGENTS npx bootstrap installer");
77
- console.log("");
78
- console.log("Usage (first-time install only):");
79
- console.log(" npx helloagents # interactive menu");
80
- console.log(" npx helloagents install codex # specify target directly");
81
- console.log(" npx helloagents install --all # install to all detected CLIs");
82
- console.log("");
83
- console.log("After installation, use the native command directly:");
84
- console.log(" helloagents update");
85
- console.log(" helloagents uninstall <target>");
86
- console.log(" helloagents status");
87
- console.log(" helloagents version");
88
- process.exit(0);
89
- }
90
-
91
- // Step 1: Install pip package
92
- pipInstall(python, detectBranch());
93
-
94
- // Step 2: Forward to native CLI (no args = interactive menu, install = direct install)
95
- const fwdArgs = args.length > 0 ? args : [];
96
- const res = spawnSync(python, ["-m", "helloagents", ...fwdArgs], { stdio: "inherit" });
97
-
98
- if (res.status === 0) {
99
- console.log("");
100
- console.log("Done! From now on, use the native command directly:");
101
- console.log(" helloagents update # update to latest version");
102
- console.log(" helloagents uninstall codex # uninstall from a CLI");
103
- console.log(" helloagents status # check installation status");
104
- }
105
-
106
- process.exit(res.status ?? 1);