openone-workflow-kit 0.1.0

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 (109) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/CODE_OF_CONDUCT.md +25 -0
  3. package/CONTRIBUTING.md +51 -0
  4. package/INIT.md +81 -0
  5. package/LICENSE +201 -0
  6. package/NOTICE +6 -0
  7. package/README.md +195 -0
  8. package/SECURITY.md +39 -0
  9. package/bin/check-contract.cjs +137 -0
  10. package/bin/check-sanitized.cjs +93 -0
  11. package/bin/init-workspace.cjs +966 -0
  12. package/docs/assets/PROVENANCE.md +20 -0
  13. package/docs/assets/architecture.svg +112 -0
  14. package/docs/assets/hero.svg +83 -0
  15. package/docs/assets/quick-demo.svg +74 -0
  16. package/docs/assets/social-preview.svg +57 -0
  17. package/docs/assets/visual-manifest.json +52 -0
  18. package/docs/definition-of-done.md +80 -0
  19. package/docs/dual-track-workflow.md +90 -0
  20. package/docs/local-merge-notes.md +21 -0
  21. package/docs/maintainer-handoff.md +150 -0
  22. package/docs/manual-publish.md +119 -0
  23. package/docs/private-denylist.example.txt +11 -0
  24. package/docs/publication-decisions.md +36 -0
  25. package/docs/release-checklist.md +72 -0
  26. package/docs/releases/v0.1.0.md +70 -0
  27. package/docs/shareable-install.md +51 -0
  28. package/docs/tool-install-recipes.md +103 -0
  29. package/examples/ecommerce/team-profile.example.yaml +141 -0
  30. package/examples/education/team-profile.example.yaml +143 -0
  31. package/examples/saas-to-b/team-profile.example.yaml +130 -0
  32. package/examples/team-profile.example.yaml +69 -0
  33. package/install.sh +27 -0
  34. package/package.json +65 -0
  35. package/scripts/build-release.cjs +141 -0
  36. package/scripts/release-source-state.cjs +38 -0
  37. package/templates/AGENTS.template.md +26 -0
  38. package/test/release-readiness.cjs +214 -0
  39. package/test/smoke.cjs +272 -0
  40. package/workflow/adapters/README.md +16 -0
  41. package/workflow/core/README.md +38 -0
  42. package/workflow/core/capabilities/README.md +61 -0
  43. package/workflow/core/capabilities/acceptance-oracle-tracker.md +45 -0
  44. package/workflow/core/capabilities/branch-gatekeeper.md +57 -0
  45. package/workflow/core/capabilities/channel-experiment-tracker.md +32 -0
  46. package/workflow/core/capabilities/ci-cd-automation-governor.md +123 -0
  47. package/workflow/core/capabilities/contract-tracer.md +53 -0
  48. package/workflow/core/capabilities/data-change-safety-checker.md +52 -0
  49. package/workflow/core/capabilities/definition-lint.md +81 -0
  50. package/workflow/core/capabilities/deployment-readiness-checker.md +57 -0
  51. package/workflow/core/capabilities/impact-scope-analyzer.md +50 -0
  52. package/workflow/core/capabilities/knowledge-capture-maintainer.md +32 -0
  53. package/workflow/core/capabilities/market-evidence-grader.md +33 -0
  54. package/workflow/core/capabilities/memory-curator.md +48 -0
  55. package/workflow/core/capabilities/personal-git-operator.md +41 -0
  56. package/workflow/core/capabilities/personal-release-checklist.md +49 -0
  57. package/workflow/core/capabilities/prd-code-diff-checker.md +53 -0
  58. package/workflow/core/capabilities/protocol-state-machine-checker.md +57 -0
  59. package/workflow/core/capabilities/release-safety-checker.md +61 -0
  60. package/workflow/core/capabilities/repo-baseline-scanner.md +48 -0
  61. package/workflow/core/capabilities/rule-extractor.md +48 -0
  62. package/workflow/core/capabilities/runtime-evidence-triage.md +53 -0
  63. package/workflow/core/capabilities/security-reviewer.md +48 -0
  64. package/workflow/core/capabilities/test-evidence-reviewer.md +50 -0
  65. package/workflow/core/capabilities/ui-baseline-reviewer.md +50 -0
  66. package/workflow/core/capabilities/verify-app.md +51 -0
  67. package/workflow/core/capabilities/worktree-isolator.md +53 -0
  68. package/workflow/core/commands/01-/351/234/200/346/261/202/350/256/250/350/256/272.md +36 -0
  69. package/workflow/core/commands/02-/344/272/247/345/223/201/346/226/207/346/241/243.md +35 -0
  70. package/workflow/core/commands/02B-UI/350/256/276/350/256/241.md +75 -0
  71. package/workflow/core/commands/03-06-/347/240/224/345/217/221/345/207/206/345/244/207.md +30 -0
  72. package/workflow/core/commands/03-/346/212/200/346/234/257/346/236/266/346/236/204.md +32 -0
  73. package/workflow/core/commands/04-/344/273/243/347/240/201/345/256/236/347/216/260.md +32 -0
  74. package/workflow/core/commands/04A-/345/211/215/347/253/257/344/273/243/347/240/201/345/256/236/347/216/260.md +36 -0
  75. package/workflow/core/commands/04B-/345/220/216/347/253/257/344/273/243/347/240/201/345/256/236/347/216/260.md +31 -0
  76. package/workflow/core/commands/05-/344/273/243/347/240/201/345/256/241/346/237/245.md +31 -0
  77. package/workflow/core/commands/06-/346/265/213/350/257/225/347/224/250/344/276/213.md +34 -0
  78. package/workflow/core/commands/07-/346/265/213/350/257/225/346/211/247/350/241/214.md +33 -0
  79. package/workflow/core/commands/08-/345/217/221/345/270/203/345/207/206/345/244/207.md +44 -0
  80. package/workflow/core/commands/09-/345/217/221/345/270/203/346/211/247/350/241/214.md +39 -0
  81. package/workflow/core/commands/10-/345/244/215/347/233/230/346/200/273/347/273/223.md +41 -0
  82. package/workflow/core/commands/B1-B8-/345/225/206/344/270/232/345/214/226/345/207/206/345/244/207.md +30 -0
  83. package/workflow/core/commands/B1-/344/270/232/345/212/241/345/256/232/344/275/215.md +38 -0
  84. package/workflow/core/commands/B2-/345/225/206/344/270/232/346/250/241/345/274/217.md +38 -0
  85. package/workflow/core/commands/B3-PMF/344/270/216/345/256/242/346/210/267/347/224/273/345/203/217.md +39 -0
  86. package/workflow/core/commands/B4-/345/234/272/346/231/257/344/270/216/350/264/255/344/271/260/346/227/205/347/250/213.md +37 -0
  87. package/workflow/core/commands/B5-/346/270/240/351/201/223/346/274/217/346/226/227/346/230/240/345/260/204.md +39 -0
  88. package/workflow/core/commands/B6-/350/220/245/351/224/200/350/216/267/345/256/242/347/255/226/347/225/245.md +38 -0
  89. package/workflow/core/commands/B7-/350/220/245/351/224/200/351/242/204/347/256/227.md +36 -0
  90. package/workflow/core/commands/B8-/346/270/240/351/201/223/346/211/247/350/241/214/347/255/226/347/225/245.md +39 -0
  91. package/workflow/core/commands/B9-/347/255/226/347/225/245/345/244/215/347/233/230.md +38 -0
  92. package/workflow/core/commands/README.md +56 -0
  93. package/workflow/core/commands/init-workspace.md +29 -0
  94. package/workflow/core/commands/new-feature.md +33 -0
  95. package/workflow/core/commands/new-product.md +28 -0
  96. package/workflow/core/commands/workflow-status.md +30 -0
  97. package/workflow/core/commands//344/270/200/350/207/264/346/200/247/346/243/200/346/237/245.md +35 -0
  98. package/workflow/core/commands//344/272/244/344/273/230/350/207/263/345/256/214/346/210/220.md +40 -0
  99. package/workflow/core/commands//345/256/232/344/271/211/345/256/214/346/210/220.md +41 -0
  100. package/workflow/core/commands//346/276/204/346/270/205.md +31 -0
  101. package/workflow/core/templates/00-business-status.md +43 -0
  102. package/workflow/core/templates/00-workflow-status.md +50 -0
  103. package/workflow/core/templates/README.md +12 -0
  104. package/workflow/core/templates/business-stage-document.md +49 -0
  105. package/workflow/core/templates/completion-contract.md +114 -0
  106. package/workflow/core/templates/constitution.template.md +50 -0
  107. package/workflow/core/templates/living-spec.md +35 -0
  108. package/workflow/core/templates/stage-document.md +42 -0
  109. package/workflow/core/templates/team-profile.template.yaml +104 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,21 @@
1
+ # Changelog
2
+
3
+ All notable changes to OpenOne Workflow Kit are documented here. The project follows [Semantic Versioning](https://semver.org/).
4
+
5
+ ## [0.1.0] - 2026-07-19
6
+
7
+ ### Added
8
+
9
+ - Tool-neutral workflow core for a solo developer's delivery and commercialization tracks.
10
+ - Completion Contract, Definition Lint, Acceptance Oracle, and `/交付至完成` workflow.
11
+ - Adapters for Claude Code, Codex, Cursor, GitHub Copilot, CodeBuddy, Kiro, and Trae.
12
+ - Local workspace scanner, generated team profile, release-safety boundaries, and sanitized-content checker.
13
+ - Cross-platform release packaging with an installed-tarball smoke test.
14
+ - GitHub Actions coverage for Ubuntu on Node.js 18/20/22, Windows on Node.js 20, and macOS on Node.js 20.
15
+
16
+ ### Security
17
+
18
+ - The initializer reads and writes only local workspace files; it does not upload source material or perform remote Git, publishing, deployment, database, or production-configuration writes.
19
+ - Release checks scan for common credential assignments, private-key markers, and private-network URLs; maintainers can add an external private denylist.
20
+
21
+ [0.1.0]: https://github.com/bluecoast1379/openone-workflow-kit/releases/tag/v0.1.0
@@ -0,0 +1,25 @@
1
+ # 行为准则
2
+
3
+ ## 基本标准
4
+
5
+ 参与者应保持专业、尊重和聚焦问题本身。讨论工作流、工具限制、风险边界和实现方案时,请给出可验证依据,避免人身攻击、骚扰、歧视或泄露他人隐私。
6
+
7
+ 鼓励的行为:
8
+
9
+ - 清楚描述问题、复现步骤和影响范围;
10
+ - 尊重不同团队的工具差异和流程约束;
11
+ - 在公开材料中使用脱敏、合成示例;
12
+ - 对安全、隐私和远程操作保持谨慎。
13
+
14
+ 不接受的行为:
15
+
16
+ - 发布他人的私有信息、凭证、日志或业务数据;
17
+ - 用攻击性语言针对个人或群体;
18
+ - 故意引导 agent 绕过安全闸门;
19
+ - 在公共渠道要求他人提供敏感资料。
20
+
21
+ ## 执行
22
+
23
+ 维护者可以编辑、隐藏或关闭违反准则的 issue、PR 或讨论。严重或重复违反时,维护者可以限制参与。
24
+
25
+ 报告行为问题时,请只提供维护者判断所需的最小上下文。除非已约定私有报告渠道,不要包含私有或敏感数据。
@@ -0,0 +1,51 @@
1
+ # 贡献说明
2
+
3
+ 感谢改进 Agent Workflow Starter Kit。本项目坚持三个原则:workflow core 保持通用、本地优先、工具无关。
4
+
5
+ ## 提交 PR 前
6
+
7
+ 先运行:
8
+
9
+ ```bash
10
+ npm run check
11
+ npm run build:release
12
+ ```
13
+
14
+ 再检查本地发布清单:
15
+
16
+ ```bash
17
+ cat dist/RELEASE_MANIFEST.md
18
+ ```
19
+
20
+ ## 隐私规则
21
+
22
+ 请不要贡献以下内容:
23
+
24
+ - 私有公司名称或内部项目名称;
25
+ - 私有工作区里的真实仓库名;
26
+ - 客户、员工、学员、患者、账号、支付或运营记录;
27
+ - 生产 URL、内部域名、日志、SQL 导出、截图、凭证、token 或私钥;
28
+ - 可以追溯到真实组织的事故细节。
29
+
30
+ 示例必须是合成的、可替换的。如果规则来自私有事件,请抽象机制并移除可识别事实后再提交。
31
+
32
+ ## 修改范围
33
+
34
+ - 工具无关行为放在 `workflow/core/`。
35
+ - 团队特化配置示例放在 `examples/`。
36
+ - 工具特定行为放在 adapter 或初始化器生成逻辑里。
37
+ - adapter 必须保持薄入口,不能削弱 core 硬闸门。
38
+ - 远程 Git、创建分支、push、包发布、部署和数据库写入必须保持人工执行。
39
+
40
+ ## PR 检查清单
41
+
42
+ - 修改是通用的,不绑定任何私有组织。
43
+ - `npm run check` 通过。
44
+ - `npm run build:release` 通过。
45
+ - 新增或修改的示例都是合成数据。
46
+ - 生成文件布局变化时,文档说明迁移或兼容影响。
47
+ - 除非维护者明确要求提交发布产物,否则不要提交生成的 `dist/` 文件。
48
+
49
+ ## 提交历史
50
+
51
+ 公开发布前,维护者应检查 commit message 和变更文件是否包含私有引用。如果私有数据进入尚未发布的历史,应在 push 前改写历史;如果泄露的是敏感凭证,应轮换对应密钥。
package/INIT.md ADDED
@@ -0,0 +1,81 @@
1
+ # 初始化指南
2
+
3
+ 本文说明个人开发者拿到 OpenOne Workflow Kit 路径、Git 地址或发布包后,如何在自己的项目或工作区初始化工作流。
4
+
5
+ ## 推荐流程
6
+
7
+ 1. 把 starter kit 放在目标产品仓库之外。
8
+ 2. 打开目标产品工作区根目录。
9
+ 3. 从目标根目录运行初始化器。
10
+ 4. 检查生成的 `workflow/team-profile.yaml`。
11
+ 5. 如果存在 `workflow/INITIALIZATION_QUESTIONS.md`,补齐缺失资料。
12
+ 6. 如需调整工具列表,重新运行初始化器。
13
+
14
+ ## 本地路径安装
15
+
16
+ ```bash
17
+ cd /path/to/target-workspace
18
+ node /path/to/openone-workflow-kit/bin/init-workspace.cjs --target . --tools codex,claude,cursor
19
+ ```
20
+
21
+ Shell wrapper:
22
+
23
+ ```bash
24
+ cd /path/to/target-workspace
25
+ /path/to/openone-workflow-kit/install.sh . --tools codex,claude,cursor
26
+ ```
27
+
28
+ ## package bin 安装
29
+
30
+ 如果 starter kit 已作为本地 package 安装:
31
+
32
+ ```bash
33
+ cd /path/to/target-workspace
34
+ openone-workflow-init --target . --tools codex,claude,cursor
35
+ ```
36
+
37
+ ## 非交互安装
38
+
39
+ 在 agent 驱动或 CI-like 初始化中,终端无法回答问题时使用:
40
+
41
+ ```bash
42
+ openone-workflow-init --target . --tools codex,claude,cursor --yes
43
+ ```
44
+
45
+ 缺失资料会记录到 `workflow/INITIALIZATION_QUESTIONS.md`。
46
+
47
+ ## 升级已有工作区
48
+
49
+ ```bash
50
+ openone-workflow-init --target . --tools codex,claude,cursor --upgrade
51
+ ```
52
+
53
+ 如果已有文件会被覆盖,初始化器默认写出 `.agent-workflow-new` 文件;只有显式传入 `--force` 才会覆盖。
54
+
55
+ ## 安全边界
56
+
57
+ 初始化器不会:
58
+
59
+ - 执行远程 Git 命令;
60
+ - push 代码;
61
+ - 触发构建或部署;
62
+ - 执行数据库写入;
63
+ - 修改生产配置。
64
+
65
+ 生成后的个人工作流允许 agent 在范围明确且工作树已检查后执行本地分支命名、创建、commit、tag 和本地 merge。远程 push、release、部署和生产配置写入需要用户明确授权。
66
+
67
+ ## 工具别名
68
+
69
+ 初始化器接受 `trea` 作为 `trae` 的别名,并写入 `.trae/instructions.md`。
70
+
71
+ ## 接收方验收
72
+
73
+ 正式用于需求交付前,请先确认:
74
+
75
+ - 已检查 `workflow/team-profile.yaml`;
76
+ - 如存在 `workflow/INITIALIZATION_QUESTIONS.md`,已补齐待补资料;
77
+ - 选中的工具 adapter 已生成;
78
+ - 已有文件没有被意外覆盖;
79
+ - 初始化期间没有发生远程 Git、push、部署、数据库或生产配置动作。
80
+
81
+ 完整验收清单见 `docs/maintainer-handoff.md`。
package/LICENSE ADDED
@@ -0,0 +1,201 @@
1
+ Apache License
2
+ Version 2.0, January 2004
3
+ http://www.apache.org/licenses/
4
+
5
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6
+
7
+ 1. Definitions.
8
+
9
+ "License" shall mean the terms and conditions for use, reproduction,
10
+ and distribution as defined by Sections 1 through 9 of this document.
11
+
12
+ "Licensor" shall mean the copyright owner or entity authorized by
13
+ the copyright owner that is granting the License.
14
+
15
+ "Legal Entity" shall mean the union of the acting entity and all
16
+ other entities that control, are controlled by, or are under common
17
+ control with that entity. For the purposes of this definition,
18
+ "control" means (i) the power, direct or indirect, to cause the
19
+ direction or management of such entity, whether by contract or
20
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
21
+ outstanding shares, or (iii) beneficial ownership of such entity.
22
+
23
+ "You" (or "Your") shall mean an individual or Legal Entity
24
+ exercising permissions granted by this License.
25
+
26
+ "Source" form shall mean the preferred form for making modifications,
27
+ including but not limited to software source code, documentation
28
+ source, and configuration files.
29
+
30
+ "Object" form shall mean any form resulting from mechanical
31
+ transformation or translation of a Source form, including but
32
+ not limited to compiled object code, generated documentation,
33
+ and conversions to other media types.
34
+
35
+ "Work" shall mean the work of authorship, whether in Source or
36
+ Object form, made available under the License, as indicated by a
37
+ copyright notice that is included in or attached to the work
38
+ (an example is provided in the Appendix below).
39
+
40
+ "Derivative Works" shall mean any work, whether in Source or Object
41
+ form, that is based on (or derived from) the Work and for which the
42
+ editorial revisions, annotations, elaborations, or other modifications
43
+ represent, as a whole, an original work of authorship. For the purposes
44
+ of this License, Derivative Works shall not include works that remain
45
+ separable from, or merely link (or bind by name) to the interfaces of,
46
+ the Work and Derivative Works thereof.
47
+
48
+ "Contribution" shall mean any work of authorship, including the
49
+ original version of the Work and any modifications or additions
50
+ to that Work or Derivative Works thereof, that is intentionally
51
+ submitted to Licensor for inclusion in the Work by the copyright owner
52
+ or by an individual or Legal Entity authorized to submit on behalf of
53
+ the copyright owner. For the purposes of this definition, "submitted"
54
+ means any form of electronic, verbal, or written communication sent
55
+ to the Licensor or its representatives, including but not limited to
56
+ communication on electronic mailing lists, source code control systems,
57
+ and issue tracking systems that are managed by, or on behalf of, the
58
+ Licensor for the purpose of discussing and improving the Work, but
59
+ excluding communication that is conspicuously marked or otherwise
60
+ designated in writing by the copyright owner as "Not a Contribution."
61
+
62
+ "Contributor" shall mean Licensor and any individual or Legal Entity
63
+ on behalf of whom a Contribution has been received by Licensor and
64
+ subsequently incorporated within the Work.
65
+
66
+ 2. Grant of Copyright License. Subject to the terms and conditions of
67
+ this License, each Contributor hereby grants to You a perpetual,
68
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69
+ copyright license to reproduce, prepare Derivative Works of,
70
+ publicly display, publicly perform, sublicense, and distribute the
71
+ Work and such Derivative Works in Source or Object form.
72
+
73
+ 3. Grant of Patent License. Subject to the terms and conditions of
74
+ this License, each Contributor hereby grants to You a perpetual,
75
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76
+ (except as stated in this section) patent license to make, have made,
77
+ use, offer to sell, sell, import, and otherwise transfer the Work,
78
+ where such license applies only to those patent claims licensable
79
+ by such Contributor that are necessarily infringed by their
80
+ Contribution(s) alone or by combination of their Contribution(s)
81
+ with the Work to which such Contribution(s) was submitted. If You
82
+ institute patent litigation against any entity (including a
83
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
84
+ or a Contribution incorporated within the Work constitutes direct
85
+ or contributory patent infringement, then any patent licenses
86
+ granted to You under this License for that Work shall terminate
87
+ as of the date such litigation is filed.
88
+
89
+ 4. Redistribution. You may reproduce and distribute copies of the
90
+ Work or Derivative Works thereof in any medium, with or without
91
+ modifications, and in Source or Object form, provided that You
92
+ meet the following conditions:
93
+
94
+ (a) You must give any other recipients of the Work or
95
+ Derivative Works a copy of this License; and
96
+
97
+ (b) You must cause any modified files to carry prominent notices
98
+ stating that You changed the files; and
99
+
100
+ (c) You must retain, in the Source form of any Derivative Works
101
+ that You distribute, all copyright, patent, trademark, and
102
+ attribution notices from the Source form of the Work, excluding
103
+ those notices that do not pertain to any part of the Derivative
104
+ Works; and
105
+
106
+ (d) If the Work includes a "NOTICE" text file as part of its
107
+ distribution, then any Derivative Works that You distribute must
108
+ include a readable copy of the attribution notices contained
109
+ within such NOTICE file, excluding those notices that do not
110
+ pertain to any part of the Derivative Works, in at least one
111
+ of the following places: within a NOTICE text file distributed
112
+ as part of the Derivative Works; within the Source form or
113
+ documentation, if provided along with the Derivative Works; or,
114
+ within a display generated by the Derivative Works, if and
115
+ wherever such third-party notices normally appear. The contents
116
+ of the NOTICE file are for informational purposes only and
117
+ do not modify the License. You may add Your own attribution
118
+ notices within Derivative Works that You distribute, alongside
119
+ or as an addendum to the NOTICE text from the Work, provided
120
+ that such additional attribution notices cannot be construed
121
+ as modifying the License.
122
+
123
+ You may add Your own copyright statement to Your modifications and
124
+ may provide additional or different license terms and conditions
125
+ for use, reproduction, or distribution of Your modifications, or
126
+ for any such Derivative Works as a whole, provided Your use,
127
+ reproduction, and distribution of the Work otherwise complies with
128
+ the conditions stated in this License.
129
+
130
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
131
+ any Contribution intentionally submitted for inclusion in the Work
132
+ by You to the Licensor shall be under the terms and conditions of
133
+ this License, without any additional terms or conditions.
134
+ Notwithstanding the above, nothing herein shall supersede or modify
135
+ the terms of any separate license agreement you may have executed
136
+ with Licensor regarding such Contributions.
137
+
138
+ 6. Trademarks. This License does not grant permission to use the trade
139
+ names, trademarks, service marks, or product names of the Licensor,
140
+ except as required for reasonable and customary use in describing the
141
+ origin of the Work and reproducing the content of the NOTICE file.
142
+
143
+ 7. Disclaimer of Warranty. Unless required by applicable law or
144
+ agreed to in writing, Licensor provides the Work (and each
145
+ Contributor provides its Contributions) on an "AS IS" BASIS,
146
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147
+ implied, including, without limitation, any warranties or conditions
148
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149
+ PARTICULAR PURPOSE. You are solely responsible for determining the
150
+ appropriateness of using or redistributing the Work and assume any
151
+ risks associated with Your exercise of permissions under this License.
152
+
153
+ 8. Limitation of Liability. In no event and under no legal theory,
154
+ whether in tort (including negligence), contract, or otherwise,
155
+ unless required by applicable law (such as deliberate and grossly
156
+ negligent acts) or agreed to in writing, shall any Contributor be
157
+ liable to You for damages, including any direct, indirect, special,
158
+ incidental, or consequential damages of any character arising as a
159
+ result of this License or out of the use or inability to use the
160
+ Work (including but not limited to damages for loss of goodwill,
161
+ work stoppage, computer failure or malfunction, or any and all
162
+ other commercial damages or losses), even if such Contributor
163
+ has been advised of the possibility of such damages.
164
+
165
+ 9. Accepting Warranty or Additional Liability. While redistributing
166
+ the Work or Derivative Works thereof, You may choose to offer,
167
+ and charge a fee for, acceptance of support, warranty, indemnity,
168
+ or other liability obligations and/or rights consistent with this
169
+ License. However, in accepting such obligations, You may act only
170
+ on Your own behalf and on Your sole responsibility, not on behalf
171
+ of any other Contributor, and only if You agree to indemnify,
172
+ defend, and hold each Contributor harmless for any liability
173
+ incurred by, or claims asserted against, such Contributor by reason
174
+ of your accepting any such warranty or additional liability.
175
+
176
+ END OF TERMS AND CONDITIONS
177
+
178
+ APPENDIX: How to apply the Apache License to your work.
179
+
180
+ To apply the Apache License to your work, attach the following
181
+ boilerplate notice, with the fields enclosed by brackets "[]"
182
+ replaced with your own identifying information. (Do not include
183
+ the brackets!) The text should be enclosed in the appropriate
184
+ comment syntax for the file format. We also recommend that a
185
+ file or class name and description of purpose be included on the
186
+ same "printed page" as the copyright notice for easier
187
+ identification within third-party archives.
188
+
189
+ Copyright 2026 Agent Workflow Starter Kit contributors
190
+
191
+ Licensed under the Apache License, Version 2.0 (the "License");
192
+ you may not use this file except in compliance with the License.
193
+ You may obtain a copy of the License at
194
+
195
+ http://www.apache.org/licenses/LICENSE-2.0
196
+
197
+ Unless required by applicable law or agreed to in writing, software
198
+ distributed under the License is distributed on an "AS IS" BASIS,
199
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200
+ See the License for the specific language governing permissions and
201
+ limitations under the License.
package/NOTICE ADDED
@@ -0,0 +1,6 @@
1
+ Agent Workflow Starter Kit
2
+
3
+ Copyright 2026 Agent Workflow Starter Kit contributors
4
+
5
+ This product includes software and documentation developed for a
6
+ tool-agnostic agent workflow starter kit.
package/README.md ADDED
@@ -0,0 +1,195 @@
1
+ # OpenOne Workflow Kit
2
+
3
+ [![CI](https://img.shields.io/github/actions/workflow/status/bluecoast1379/openone-workflow-kit/check.yml?branch=main&label=CI)](https://github.com/bluecoast1379/openone-workflow-kit/actions/workflows/check.yml)
4
+ [![npm](https://img.shields.io/npm/v/openone-workflow-kit?label=npm)](https://www.npmjs.com/package/openone-workflow-kit)
5
+ [![Node.js](https://img.shields.io/badge/Node.js-%3E%3D18-339933)](./package.json)
6
+ [![License](https://img.shields.io/badge/license-Apache--2.0-blue)](./LICENSE)
7
+
8
+ ![OpenOne Workflow Kit:独立开发者的研发与商业化双轨工作流](./docs/assets/hero.svg)
9
+
10
+ 面向独立开发者的工具无关 agent 工作流:把产品研发和商业化放进同一个可验证闭环。核心不是更长的 prompt,而是把“什么叫完成”编译成可冻结的《完成合同》:**blocking 验收 Oracle 全部 PASS,才能宣布完成。**
11
+
12
+ - **研发轨**:需求 → 完成合同 → 实现/审查/测试 → 发布 → 复盘。
13
+ - **商业化轨**:定位 → 商业模式/PMF/ICP → 渠道/预算 → 策略复盘。
14
+ - **本地优先**:只读本地上下文并生成工作流文件;不上传资料,不自动 push、发布、部署或写生产数据。
15
+
16
+ ## 如何选择
17
+
18
+ | 项目 | 服务对象 | 选它的理由 |
19
+ | --- | --- | --- |
20
+ | [open-workflow-kit](https://github.com/bluecoast1379/open-workflow-kit) | AI Coding 团队 | 需要完成合同、证据账本和跨工具交付治理 |
21
+ | [business-agent](https://github.com/bluecoast1379/business-agent) | 企业业务 Agent | 需要从业务规划、网关脚手架到评测与运行边界 |
22
+ | **openone-workflow-kit(本项目)** | **独立开发者** | **需要个人研发 + 商业化双轨,同时控制流程税** |
23
+
24
+ ## 30 秒 Quick Demo
25
+
26
+ 前置条件:Node.js 18+;首次下载时间不计入 30 秒。在一个空目录中执行:
27
+
28
+ ```bash
29
+ mkdir openone-demo && cd openone-demo
30
+ npx --yes --package openone-workflow-kit@0.1.0 openone-workflow-init --target . --tools codex,cursor --yes
31
+ node -e "for (const f of ['workflow/team-profile.yaml','AGENTS.md']) require('node:fs').accessSync(f); console.log('OpenOne ready')"
32
+ ```
33
+
34
+ 预期结果:终端输出 `OpenOne ready`,并生成 `workflow/team-profile.yaml`、`workflow/core/`、`AGENTS.md` 与所选工具 adapter。如果 npm 网络不可用,参考 [Git 或本地 tarball 安装](./docs/shareable-install.md)。
35
+
36
+ ![OpenOne Workflow Kit 30 秒体验:创建目录、运行 v0.1.0、验证产物](./docs/assets/quick-demo.svg)
37
+
38
+ ## 架构:一套 Core,两条轨道
39
+
40
+ ![OpenOne Workflow Kit 双轨架构:上下文、定义、执行、验证与复盘共享治理闸门](./docs/assets/architecture.svg)
41
+
42
+ 1. `workflow/team-profile.yaml` 记录本地事实与路径;`specs/` 记录已发布行为真相。
43
+ 2. `workflow/core/` 提供工具无关的阶段、完成合同、闸门、模板和 Oracle 能力。
44
+ 3. `workflow/adapters/` 为 Claude、Codex、Cursor、Copilot、CodeBuddy、Kiro 和 Trae 生成薄入口;共享 core,但不承诺工具体验完全相同。
45
+
46
+ 深入阅读:[定义完成指南](./docs/definition-of-done.md) · [双轨工作流设计](./docs/dual-track-workflow.md) · [v0.1.0 Release Notes](./docs/releases/v0.1.0.md)
47
+
48
+ ## 一键初始化
49
+
50
+ 从 npm 的不可变版本运行(Node.js 18+):
51
+
52
+ ```bash
53
+ npx --yes --package openone-workflow-kit@0.1.0 openone-workflow-init --target . --tools codex,claude,cursor --yes
54
+ ```
55
+
56
+ 从源码 checkout 本地运行:
57
+
58
+ ```bash
59
+ node /path/to/openone-workflow-kit/bin/init-workspace.cjs --target .
60
+ ```
61
+
62
+ 也可以使用 shell wrapper:
63
+
64
+ ```bash
65
+ /path/to/openone-workflow-kit/install.sh . --tools codex,claude,cursor
66
+ ```
67
+
68
+ 如果你拿到的是 Git 地址或本地 tarball,见 [可分享安装方式](./docs/shareable-install.md)。该文档也说明了如何先验证 Registry 中的 `0.1.0` 再安装,避免把尚未发布的版本当作可用事实。
69
+
70
+ 常用参数:
71
+
72
+ ```bash
73
+ # 指定工具入口
74
+ node /path/to/openone-workflow-kit/bin/init-workspace.cjs --target . --tools codex,claude,cursor
75
+
76
+ # GitHub 包安装方式
77
+ npx --yes --package "git+https://github.com/bluecoast1379/openone-workflow-kit.git#v0.1.0" openone-workflow-init --target . --tools codex,claude,cursor
78
+
79
+ # 工具名支持 trea 别名,会自动归一为 trae
80
+ node /path/to/openone-workflow-kit/bin/init-workspace.cjs --target . --tools codex,trea,codebuddy
81
+
82
+ # 非交互模式,缺失资料会写入 workflow/INITIALIZATION_QUESTIONS.md
83
+ node /path/to/openone-workflow-kit/bin/init-workspace.cjs --target . --yes
84
+
85
+ # 只查看会生成什么,不写文件
86
+ node /path/to/openone-workflow-kit/bin/init-workspace.cjs --target . --dry-run
87
+ ```
88
+
89
+ ## 初始化器会做什么
90
+
91
+ 1. 扫描目标工作区本地文件和目录,识别代码仓库、技术栈线索、项目资料、UI 规范、前后端规范和测试规范。
92
+ 2. 生成 `workflow/team-profile.yaml`,只记录本地路径、工具选择、技术栈和缺失项,不上传任何资料。
93
+ 3. 如果必要资料缺失:
94
+ - 交互式终端:逐项提问。
95
+ - 非交互模式:生成 `workflow/INITIALIZATION_QUESTIONS.md`。
96
+ 4. 生成跨工具入口:
97
+ - Codex: `AGENTS.md`、`.codex/prompts/`
98
+ - Claude Code: `CLAUDE.md`、`.claude/commands/`
99
+ - Cursor: `.cursor/rules/` 和 `.cursor/commands/`
100
+ - Copilot: `.github/copilot-instructions.md`
101
+ - CodeBuddy / Kiro / Trae: 各自 `instructions.md`
102
+ 5. 初始化器本身不执行远程 Git、push、构建部署或数据库写入。生成后的个人工作流允许 agent 在范围明确且工作树干净时执行本地分支命名、创建、commit、tag 和本地 merge;远程 push、release、部署和生产配置写入需要用户明确授权。
103
+
104
+ ## 隐私与脱敏边界
105
+
106
+ 本 kit 自身不应包含任何真实客户字段、内部系统地址、真实 URL 或凭证。对外分发前运行:
107
+
108
+ ```bash
109
+ node openone-workflow-kit/bin/check-sanitized.cjs
110
+ ```
111
+
112
+ 个人项目的业务介绍、项目资料、代码、UI 文件、前后端规范和测试规范只在本地被引用;初始化器不把这些资料发送到外部服务。
113
+
114
+ ## 生成后的工作方式
115
+
116
+ 初始化完成后,个人项目按 `AGENTS.md` 和 `workflow/core/commands/` 推进。
117
+
118
+ 研发轨(每个需求一轮;`/new-feature` 时按 S/M/L 分级,S 档压缩为 定义完成→实现→验证 三步):
119
+
120
+ 1. `/new-feature`(S/M/L 复杂度分级)
121
+ 2. `/01-需求讨论`(存量行为先读 `specs/`)
122
+ 3. `/澄清`(按需:≤5 问消融歧义,答案写回文档)
123
+ 4. `/02-产品文档`
124
+ 5. `/02B-UI设计`(含体验预算)
125
+ 6. `/03-技术架构`(含数据流/状态机草案、规范提取到 `workflow/standards/`)
126
+ 7. `/06-测试用例`(风险驱动,Oracle-ready)
127
+ 8. `/定义完成`(把 01-06 编译成完成合同:数据流、失败路径、质量预算、验收 Oracle、术语表、影响边界;Definition Lint 通过并经用户确认后冻结)
128
+ 9. `/一致性检查`(实现前只读交叉检查)
129
+ 10. `/交付至完成`(在合同范围内自主循环 实现→验证→修复→复验 直到 blocking Oracle 全绿或精确阻塞),或手动 `/04-代码实现`、`/04A`、`/04B` → `/05-代码审查` → `/07-测试执行`
130
+ 11. `/08-发布准备`(发布准入 = blocking Oracle 全 PASS)
131
+ 12. `/09-发布执行`
132
+ 13. `/10-复盘总结`(行为增量回写 `specs/` living specs)
133
+
134
+ 商业化轨(每个产品一份基线 + 周期复盘):
135
+
136
+ 1. `/new-product`
137
+ 2. `/B1-业务定位`(可用 `/B1-B8-商业化准备` 一次性串联 B1 到 B8)
138
+ 3. `/B2-商业模式`
139
+ 4. `/B3-PMF与客户画像`
140
+ 5. `/B4-场景与购买旅程`
141
+ 6. `/B5-渠道漏斗映射`
142
+ 7. `/B6-营销获客策略`
143
+ 8. `/B7-营销预算`
144
+ 9. `/B8-渠道执行策略`
145
+ 10. `/B9-策略复盘`(周期执行:建议周检视指标、月度策略复盘、季度定位校准)
146
+
147
+ 两轨衔接:`/01`、`/02` 读取定位、ICP 与场景基线;`/08`、`/09` 对照 B5/B8 准备发布营销材料和分发清单;`/10` 的增长信号回流 `/B9`;B8 的营销工程需求(landing、SEO 页面、埋点)通过 `/new-feature` 进入研发轨。
148
+
149
+ 业务代码修改必须先通过功能分支闸门、阶段闸门和并行开发隔离检查;M/L 档需求还必须有已冻结且 Definition Lint 通过的完成合同(S 档为迷你合同)。涉及 UI 或前端的功能必须先完成 `/02B-UI设计`,或记录用户明确授权的范围有限设计豁免。文档分析和初始化不等于授权实现代码。商业化轨只产出文档和清单:对外发布、投放、cold outreach 必须由用户明确授权或自行执行,市场结论必须做证据分级、不得编造数据。
150
+
151
+ 完成合同可用内置校验器检查结构:
152
+
153
+ ```bash
154
+ node openone-workflow-kit/bin/check-contract.cjs features/<feature>/00-完成合同.md
155
+ ```
156
+
157
+ 初始化器还会在目标工作区生成 `workflow/constitution.md`(跨需求不可协商原则)、`workflow/standards/`(个人规范层)和 `specs/`(已实现行为的 living specs)。
158
+
159
+ 个人版迁移了 gstack 指南中的独立开发者发布经验:`main` / `prod` 双分支、本地集成、语义化 tag、扩展/CLI/桌面应用发布清单、发布后文档和复盘。agent 可以执行本地 git 分支、commit、tag、merge;远程 push、GitHub release、商店提交、部署和生产配置写入需要用户明确授权。
160
+
161
+ ## 维护建议
162
+
163
+ - 通用规则只改 `workflow/core`。
164
+ - 个人项目特化配置只改 `workflow/team-profile.yaml`。
165
+ - 工具入口由初始化器或 adapter 生成,不把业务规则硬编码到单个工具里。
166
+ - 对外发布前先跑脱敏检查,再由人工复核许可证、示例和文档。
167
+
168
+ ## 开源协作
169
+
170
+ - 贡献说明见 [CONTRIBUTING.md](./CONTRIBUTING.md)。
171
+ - 安全报告说明见 [SECURITY.md](./SECURITY.md)。
172
+ - 行为准则见 [CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md)。
173
+ - GitHub issue 和 PR 模板位于 `.github/`。
174
+
175
+ ## 本地验证
176
+
177
+ ```bash
178
+ cd /path/to/openone-workflow-kit
179
+ npm run check
180
+ ```
181
+
182
+ 该命令会执行脚本语法检查、starter kit 脱敏检查和临时目录 smoke test。
183
+
184
+ ## 本地打包
185
+
186
+ ```bash
187
+ cd /path/to/openone-workflow-kit
188
+ npm run build:release
189
+ ```
190
+
191
+ 该命令会在 `dist/` 下生成本地 tarball 和 `RELEASE_MANIFEST.md`。它不创建远程仓库、不 push、不打 tag、不执行 npm publish。
192
+
193
+ 远程发布步骤见 [手动发布指南](./docs/manual-publish.md)。维护本 kit 自身时,push、tag、npm publish 仍应由维护者明确授权。
194
+
195
+ 维护者发布、接收方验收和支持边界见 [维护者交接](./docs/maintainer-handoff.md)。
package/SECURITY.md ADDED
@@ -0,0 +1,39 @@
1
+ # 安全策略
2
+
3
+ ## 支持版本
4
+
5
+ 公开项目默认支持最新发布版本。安全修复优先进入默认分支,再由维护者手动发布。
6
+
7
+ ## 报告漏洞
8
+
9
+ 不要在公开 issue 中提交密钥、凭证、私有 URL、客户数据、私有源码、日志、数据库导出或生产配置。
10
+
11
+ 请通过仓库维护者指定的私有渠道报告安全问题,并只提供定位问题所需的最小上下文。
12
+
13
+ ## 范围
14
+
15
+ 本项目关注:
16
+
17
+ - 初始化器写入了不应写入的私有内容;
18
+ - 脱敏检查遗漏明显敏感模式;
19
+ - 生成的 adapter 削弱了 workflow 硬闸门;
20
+ - 文档引导用户执行不安全的自动远程操作。
21
+
22
+ 不在范围内:
23
+
24
+ - 用户手动改坏生成文件后的误用;
25
+ - 目标团队自己的业务代码缺陷;
26
+ - 目标团队工具或插件本身的漏洞;
27
+ - 未经授权上传到 issue、PR 或讨论区的私有数据。
28
+
29
+ ## 脱敏检查
30
+
31
+ 发布或分享前必须运行:
32
+
33
+ ```bash
34
+ npm run check
35
+ npm run build:release
36
+ node bin/check-sanitized.cjs --extra-banned <private-denylist-file>
37
+ ```
38
+
39
+ `private-denylist-file` 必须放在 starter kit 外部,不要提交到仓库。