vibepro 0.1.0-alpha.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 (89) hide show
  1. package/LICENSE +201 -0
  2. package/NOTICE +9 -0
  3. package/README.ja.md +448 -0
  4. package/README.md +520 -0
  5. package/agent-instructions/codex/AGENTS.vibepro.md +45 -0
  6. package/bin/vibepro.js +9 -0
  7. package/docs/assets/vibepro-header.png +0 -0
  8. package/package.json +51 -0
  9. package/skills/vibepro-diagnosis-packages/SKILL.md +133 -0
  10. package/skills/vibepro-human-review/SKILL.md +73 -0
  11. package/skills/vibepro-story-refactor/SKILL.md +89 -0
  12. package/skills/vibepro-workflow/SKILL.md +139 -0
  13. package/src/agent-harness-map.js +230 -0
  14. package/src/agent-harness-scanner.js +337 -0
  15. package/src/agent-review.js +2180 -0
  16. package/src/api-boundary-scanner.js +452 -0
  17. package/src/architecture-profiler.js +423 -0
  18. package/src/authorization-scoring.js +149 -0
  19. package/src/brainbase-importer.js +534 -0
  20. package/src/change-risk-classifier.js +195 -0
  21. package/src/check-packs.js +605 -0
  22. package/src/checkpoint-manager.js +233 -0
  23. package/src/cli.js +2213 -0
  24. package/src/code-quality-scanner.js +310 -0
  25. package/src/codex-manager.js +143 -0
  26. package/src/component-style-scanner.js +336 -0
  27. package/src/coverage-report.js +99 -0
  28. package/src/database-access-scanner.js +163 -0
  29. package/src/decision-records.js +315 -0
  30. package/src/design-modernize.js +1435 -0
  31. package/src/design-system.js +1732 -0
  32. package/src/diagnostic-engine.js +1945 -0
  33. package/src/diagram-requirement-resolver.js +194 -0
  34. package/src/doctor.js +677 -0
  35. package/src/environment-graph.js +424 -0
  36. package/src/execution-state.js +849 -0
  37. package/src/explore-evidence.js +425 -0
  38. package/src/flow-design-scanner.js +896 -0
  39. package/src/flow-verifier.js +887 -0
  40. package/src/gesture-interaction-scanner.js +330 -0
  41. package/src/graph-context.js +263 -0
  42. package/src/graphify-adapter.js +189 -0
  43. package/src/html-report.js +1035 -0
  44. package/src/journey-map.js +1299 -0
  45. package/src/language.js +48 -0
  46. package/src/lazy-pattern-detector.js +182 -0
  47. package/src/local-dev-scanner.js +135 -0
  48. package/src/managed-worktree-gate.js +187 -0
  49. package/src/managed-worktree.js +766 -0
  50. package/src/merge-manager.js +501 -0
  51. package/src/network-contract-scanner.js +442 -0
  52. package/src/nocodb-story-sync.js +386 -0
  53. package/src/oss-readiness-scanner.js +417 -0
  54. package/src/performance-evidence.js +756 -0
  55. package/src/performance-measurer.js +591 -0
  56. package/src/pr-manager.js +8220 -0
  57. package/src/presets.js +682 -0
  58. package/src/public-discovery-scanner.js +519 -0
  59. package/src/refactoring-delta-reporter.js +367 -0
  60. package/src/refactoring-opportunity-generator.js +797 -0
  61. package/src/regression-risk-scanner.js +146 -0
  62. package/src/repo-status.js +266 -0
  63. package/src/report-fingerprint.js +188 -0
  64. package/src/report-pr-body-prompt-template.md +108 -0
  65. package/src/report-pr-body-schema.json +95 -0
  66. package/src/report-store.js +135 -0
  67. package/src/report-validator.js +192 -0
  68. package/src/requirement-consistency.js +1066 -0
  69. package/src/runtime-info.js +134 -0
  70. package/src/self-dogfood-scanner.js +476 -0
  71. package/src/session-learning.js +164 -0
  72. package/src/skills-manager.js +157 -0
  73. package/src/spec-drift.js +378 -0
  74. package/src/spec-fingerprint.js +445 -0
  75. package/src/spec-prompt-template.md +155 -0
  76. package/src/spec-schema.json +219 -0
  77. package/src/spec-store.js +258 -0
  78. package/src/spec-validator.js +459 -0
  79. package/src/static-site-scanner.js +316 -0
  80. package/src/story-candidate-generator.js +85 -0
  81. package/src/story-catalog-generator.js +2813 -0
  82. package/src/story-html.js +156 -0
  83. package/src/story-manager.js +2144 -0
  84. package/src/story-task-generator.js +522 -0
  85. package/src/task-manager.js +1029 -0
  86. package/src/terminal-link-scanner.js +238 -0
  87. package/src/usage-report.js +417 -0
  88. package/src/verification-evidence.js +284 -0
  89. package/src/workspace.js +126 -0
package/LICENSE ADDED
@@ -0,0 +1,201 @@
1
+ Apache License
2
+ Version 2.0, January 2004
3
+ https://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
49
+ the 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 Derivative
95
+ 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. (Don't 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 [yyyy] [name of copyright owner]
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
+ https://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,9 @@
1
+ VibePro
2
+ Copyright 2026 Unson LLC
3
+
4
+ VibePro is licensed under the Apache License, Version 2.0.
5
+
6
+ Optional integrations:
7
+ Graphify is not bundled with VibePro. VibePro can invoke an externally
8
+ installed `graphify` command or import artifacts generated by Graphify.
9
+ Install and use Graphify under its own license.
package/README.ja.md ADDED
@@ -0,0 +1,448 @@
1
+ # VibePro
2
+
3
+ [![Language: English](https://img.shields.io/badge/Language-English-blue)](README.md)
4
+ [![Language: Japanese](https://img.shields.io/badge/Language-%E6%97%A5%E6%9C%AC%E8%AA%9E-green)](README.ja.md)
5
+ [![Node.js >=20](https://img.shields.io/badge/Node.js-%3E%3D20-339933)](package.json)
6
+ [![License: Apache-2.0](https://img.shields.io/badge/License-Apache--2.0-blue)](LICENSE)
7
+
8
+ VibePro は、AI 駆動開発の PR を安全に進めるための CLI 制御基盤です。Feature Story から Architecture、Spec、Verification、Agent Review、PR Evidence を生成・整理し、必要な Gate が揃うまで PR 作成を止めます。
9
+
10
+ VibePro は対象アプリを自動で書き換えるツールではありません。対象リポジトリ内に `.vibepro/` 作業領域を作り、変更・レビュー・マージの前に必要な証跡を保存します。
11
+
12
+ ## なぜ VibePro か
13
+
14
+ AI コーディングは速い一方で、最後の 20% に手間がかかります。要求の抜け、UI フローの未確認、API 契約破壊、曖昧なレビュー範囲、見た目は完成しているが実際には触れない PR が起きやすいからです。さらに、広いワークフロー変更が通常の Unit/API 変更のように見えてしまうリスクがあります。
15
+
16
+ VibePro はその最後の詰めを明示します。
17
+
18
+ - Story: どんなユーザー価値を満たすべきか。
19
+ - Architecture: どの境界・責務・依存方向を守るべきか。
20
+ - Spec: どの振る舞い・不変条件を満たすべきか。
21
+ - Code: 実際に何が変わったか。
22
+ - Gates: Unit、Integration、E2E、Performance、Security、Review の何が未解決か。
23
+ - Risk profile: 軽い変更か、API契約か、画面操作か、複数の導線をまたぐ重い変更か。
24
+ - PR Evidence: 人間と AI エージェントが作業前に読むべき共通文脈。
25
+
26
+ 基本の流れは次の通りです。
27
+
28
+ ```text
29
+ Story -> Architecture -> Spec -> Code -> Risk-Adaptive Gates -> PR Evidence -> VibePro PR Create
30
+ ```
31
+
32
+ Story と Architecture が確定できれば、実装は AI エージェントへ渡しやすくなります。変更が workflow state、runtime contract、verification evidence、review orchestration にまたがる場合、VibePro は通常の軽いGateではなく重い Gate DAG へ自動で切り替えます。
33
+
34
+ ## 主な機能
35
+
36
+ - Story / Architecture / Spec を踏まえた PR 準備
37
+ - 変更コードに対する Requirement Consistency 検査
38
+ - 完了条件と workflow-heavy release check を示す、リスクに応じた Gate DAG
39
+ - 大きい変更や危険な変更の PR 分割計画
40
+ - Unit / Integration / E2E / Build / Type-check の検証証跡記録
41
+ - Playwright による UI フロー検証とネットワークエラー検知
42
+ - Performance metric 定義、run 記録、before/after 比較
43
+ - UI、Security、Performance、Architecture、PR Readiness、Launch Readiness の診断パッケージ
44
+ - サブエージェントレビュー依頼とリスクに応じたレビュー結果の記録
45
+ - 未解決Gateとwaiver理由を記録する `vibepro pr create` 経路強制
46
+ - 既存情報構造を壊さずUIを改善する `design-modernize` planning と Derived Design System 生成
47
+ - Skills / Codex instructions の導入による AI 駆動開発ワークフロー標準化
48
+
49
+ ## インストール
50
+
51
+ VibePro は Node.js 20 以上が必要です。
52
+
53
+ VibePro は現在 alpha OSS 公開候補です。まだ public npm registry に存在しない場合、`npm install -D vibepro` や `pnpm add -D vibepro` を実行しても npm からは解決できません。
54
+
55
+ 利用方法は次のどれかです。
56
+
57
+ ```bash
58
+ # このリポジトリをcloneしてローカルから使う
59
+ cd /path/to/vibepro
60
+ npm install
61
+ node bin/vibepro.js --help
62
+
63
+ # npm公開前にGitHubからinstallする
64
+ npm install -g git+https://github.com/Unson-LLC/vibepro.git
65
+ vibepro --help
66
+ ```
67
+
68
+ npm公開後は次の形で使えます。
69
+
70
+ ```bash
71
+ npx vibepro --help
72
+ ```
73
+
74
+ VibePro本体を開発する場合:
75
+
76
+ ```bash
77
+ npm install
78
+ node bin/vibepro.js --help
79
+ ```
80
+
81
+ ## 任意連携: Graphify
82
+
83
+ Graphify は任意ですが、影響範囲調査の精度を上げるため推奨です。VibePro は Graphify 本体や Graphify のコードを同梱しません。`--run-graphify` を使う場合は、外部インストール済みの `graphify` コマンドを呼びます。`--from graphify-out` を使う場合は、Graphify が生成済みの成果物を取り込みます。
84
+
85
+ ```bash
86
+ uv tool install graphifyy
87
+ ```
88
+
89
+ Graphify のインストールと利用は Graphify 側のライセンスに従ってください。Graphify がなくても、多くの Story / Diagnosis / Checkpoint / PR Gate ワークフローは利用できます。ただし、変更ファイルの隣接調査は弱くなります。
90
+
91
+ 以下の例では `vibepro` コマンドを使います。global install していない場合は、`vibepro` を `node /path/to/vibepro/bin/vibepro.js` に置き換えてください。
92
+
93
+ ## 初回: 目的別にこれだけ実行
94
+
95
+ まずリポジトリ全体を診断したいだけなら、既存の Story ID は不要です。
96
+
97
+ ```bash
98
+ vibepro check all /path/to/repo --base <base-branch>
99
+ ```
100
+
101
+ 終わったら次を共有してください。
102
+
103
+ - `.vibepro/checks/all/<run-id>/check.md`
104
+ - 先頭の `Status`
105
+ - `needs_review` / `fail` になっている項目
106
+
107
+ 特定の機能や不具合に紐づけて診断する場合は、まずローカル Story を作ります。
108
+
109
+ ```bash
110
+ vibepro init /path/to/repo \
111
+ --story-id story-<short-name> \
112
+ --title "<機能名または不具合名>" \
113
+ --language ja
114
+
115
+ vibepro check all /path/to/repo \
116
+ --story-id story-<short-name> \
117
+ --base <base-branch>
118
+ ```
119
+
120
+ すでに VibePro Story があるリポジトリでは、先に一覧や map を確認します。
121
+
122
+ ```bash
123
+ vibepro story list /path/to/repo
124
+ vibepro story map /path/to/repo
125
+ ```
126
+
127
+ PR前の確認が目的なら、見るべき入口は check report ではなく PR prepare の成果物です。
128
+
129
+ ```bash
130
+ vibepro pr prepare /path/to/repo \
131
+ --story-id <story-id> \
132
+ --base <base-branch>
133
+ ```
134
+
135
+ 見る順番:
136
+
137
+ 1. `.vibepro/pr/<story-id>/review-cockpit.html`
138
+ 2. `.vibepro/pr/<story-id>/gate-dag.html`
139
+ 3. `.vibepro/pr/<story-id>/split-plan.html`
140
+ 4. `.vibepro/pr/<story-id>/pr-body.md`
141
+
142
+ `<base-branch>` はリポジトリごとに異なります。`origin/main`、`main`、`origin/develop`、`develop` など、そのリポジトリの既定 branch を指定してください。
143
+
144
+ `pr prepare` は Gate DAG を作る前に変更リスクを分類します。狭い docs / UI 変更は軽いGateに留まります。一方、複数surfaceにまたがる workflow 変更は `workflow_heavy` となり、workflow replay、production path coverage、release confidence、より広い Agent Review role が必要になります。必須Gateが未解決の間、VibePro の `next_commands` は PR 作成ではなく review / verification / prepare の再実行を案内します。
145
+
146
+ ## Quick Start
147
+
148
+ 対象リポジトリを初期化します。
149
+
150
+ ```bash
151
+ npx vibepro init /path/to/repo \
152
+ --story-id story-internal-beta \
153
+ --title "社内β診断" \
154
+ --view dev \
155
+ --period 2026-W18 \
156
+ --language ja
157
+ ```
158
+
159
+ Story 診断を実行します。
160
+
161
+ ```bash
162
+ npx vibepro story diagnose /path/to/repo --id story-internal-beta --run-graphify
163
+ ```
164
+
165
+ PR 証跡を生成します。
166
+
167
+ ```bash
168
+ npx vibepro pr prepare /path/to/repo \
169
+ --base <base-branch> \
170
+ --story-id story-internal-beta
171
+ ```
172
+
173
+ 現在の git 状態で実際に走らせた検証証跡を記録します。
174
+
175
+ ```bash
176
+ npx vibepro verify record /path/to/repo \
177
+ --id story-internal-beta \
178
+ --kind unit \
179
+ --status pass \
180
+ --command "npm test"
181
+ ```
182
+
183
+ 実装完了扱いにする前に checkpoint を通します。
184
+
185
+ ```bash
186
+ npx vibepro checkpoint verification /path/to/repo \
187
+ --base <base-branch> \
188
+ --story-id story-internal-beta
189
+ ```
190
+
191
+ 必要な Agent Review を準備・記録し、Gate DAG が ready になるまで PR preparation を再実行します。
192
+
193
+ ```bash
194
+ npx vibepro review prepare /path/to/repo --id story-internal-beta --stage gate
195
+ npx vibepro review status /path/to/repo --id story-internal-beta
196
+ npx vibepro pr prepare /path/to/repo --base <base-branch> --story-id story-internal-beta
197
+ ```
198
+
199
+ `pr prepare` が ready を返した後、VibePro 経由で PR を作成します。
200
+
201
+ ```bash
202
+ npx vibepro pr create /path/to/repo \
203
+ --base <base-branch> \
204
+ --head <feature-branch> \
205
+ --story-id story-internal-beta
206
+ ```
207
+
208
+ 通常の PR 作成経路として直接 `gh pr create` は使わないでください。VibePro の Gate DAG と waiver audit を通らないためです。
209
+
210
+ `<base-branch>` はリポジトリごとに異なります。`origin/main`、`main`、`origin/develop`、`develop` など、そのリポジトリの既定 branch を指定してください。VibePro は `init` や `pr prepare` の出力で候補 branch も表示します。
211
+
212
+ ## VibePro が作るもの
213
+
214
+ VibePro は対象リポジトリの `.vibepro/` に作業領域を作ります。
215
+
216
+ ```text
217
+ .vibepro/
218
+ config.json
219
+ vibepro-manifest.json
220
+ diagnostics/
221
+ graphify/
222
+ pr/
223
+ qa/
224
+ raw/
225
+ stories/
226
+ ```
227
+
228
+ PR 前に見る主な成果物:
229
+
230
+ - `pr-body.md`: Story、リスク、Gate、検証文脈を含む PR 本文ドラフト。
231
+ - `review-cockpit.html`: 人間が見るレビュー画面。
232
+ - `gate-dag.html`: 完了条件の依存関係。
233
+ - `split-plan.html`: PR 分割レーンと merge order。
234
+ - `pr-prepare.json`: AI エージェント向けの機械可読な正本。
235
+
236
+ 人間は Markdown / HTML を読みます。AI エージェントには `pr-body.md`、`review-cockpit.html`、`gate-dag.html`、`split-plan.html`、関連 JSON を渡すのが基本です。
237
+
238
+ ## よく使うワークフロー
239
+
240
+ ### リポジトリを診断する
241
+
242
+ ```bash
243
+ npx vibepro check all /path/to/repo --story-id <story-id> --base <base-branch>
244
+ ```
245
+
246
+ 診断パッケージを絞る場合:
247
+
248
+ ```bash
249
+ npx vibepro check ui /path/to/repo --story-id <story-id>
250
+ npx vibepro check security /path/to/repo --story-id <story-id>
251
+ npx vibepro check oss-readiness /path/to/repo --story-id <story-id>
252
+ npx vibepro check performance /path/to/repo --story-id <story-id>
253
+ npx vibepro check architecture /path/to/repo --story-id <story-id>
254
+ npx vibepro check pr-readiness /path/to/repo --story-id <story-id> --base <base-branch>
255
+ ```
256
+
257
+ ### UI フローを検証する
258
+
259
+ ```bash
260
+ npx vibepro verify flow /path/to/repo \
261
+ --base-url http://127.0.0.1:3000 \
262
+ --id <story-id>
263
+ ```
264
+
265
+ VibePro は Playwright 証跡を記録し、API `4xx` / `5xx`、console error、unhandled rejection、既知の画面エラー文言を Gate finding として扱います。
266
+
267
+ ### 検証証跡を記録する
268
+
269
+ ```bash
270
+ npx vibepro verify record /path/to/repo \
271
+ --id <story-id> \
272
+ --kind unit \
273
+ --status pass \
274
+ --command "npm test"
275
+ ```
276
+
277
+ 記録した証跡は `pr prepare` と PR Gate で再利用されます。
278
+
279
+ workflow-heavy 変更では Unit/API 証跡だけでは不十分です。VibePro は current git に紐づいた Story E2E / Flow evidence、実行可能な assertion、Gate DAG が要求する risk-adaptive review role も確認します。
280
+
281
+ ### Agent Review を準備する
282
+
283
+ ```bash
284
+ npx vibepro review prepare /path/to/repo --id <story-id> --stage implementation
285
+ ```
286
+
287
+ レビュー結果を記録します。
288
+
289
+ ```bash
290
+ npx vibepro review record /path/to/repo \
291
+ --id <story-id> \
292
+ --stage implementation \
293
+ --role regression_risk \
294
+ --status pass \
295
+ --summary "変更フローに回帰リスクは見つからなかった。" \
296
+ --agent-system codex \
297
+ --execution-mode parallel_subagent \
298
+ --agent-id <spawned-subagent-id> \
299
+ --agent-thread-id <thread-id> \
300
+ --agent-model <model> \
301
+ --agent-closed
302
+ ```
303
+
304
+ `gate:agent_review` は、required review に Codex/Claude Code の並列サブエージェント
305
+ 証跡と close 済み lifecycle 証跡がある場合だけ検証済みレビューとして扱います。
306
+ 各レビュー結果を受け取ったら、記録前にレビューに使ったサブエージェントを close/shutdown し、
307
+ `--agent-closed` を渡して記録してください。Claude Code の場合は `--agent-system claude_code`
308
+ と Task/subagent id、session id、または transcript artifact を渡してください。
309
+ 人間レビューは監査用の文脈として記録できますが、required subagent review の代替にはなりません。
310
+
311
+ ```bash
312
+ npx vibepro review record /path/to/repo \
313
+ --id <story-id> \
314
+ --stage implementation \
315
+ --role regression_risk \
316
+ --status pass \
317
+ --summary "手動レビューで問題は見つからなかった。" \
318
+ --agent-system human \
319
+ --execution-mode manual_review \
320
+ --recorded-by <reviewer>
321
+ ```
322
+
323
+ 手動レビュー証跡は監査文脈としては有用ですが、required Agent Review Gate は通しません。
324
+ 実行環境がサブエージェントを起動できない場合、coordinator は gate を通した扱いにせず、
325
+ block するか別の waiver decision として記録します。
326
+
327
+ ### VibePro 経由で PR を作成する
328
+
329
+ ```bash
330
+ npx vibepro pr prepare /path/to/repo --story-id <story-id> --base <base-branch>
331
+ npx vibepro pr create /path/to/repo --story-id <story-id> --base <base-branch> --head <feature-branch>
332
+ ```
333
+
334
+ `pr create` は `pr prepare` が生成した PR 本文を使い、branch push と GitHub PR 作成を実行します。critical Gate が未解決の場合、PR作成前に失敗します。非critical Gate だけが未解決の場合は、`--allow-needs-verification` と `--verification-waiver <reason>` の両方が必要です。
335
+
336
+ ### 既存UIをModernizeする
337
+
338
+ ```bash
339
+ npx vibepro design-modernize derive-system /path/to/repo \
340
+ --id <story-id> \
341
+ --product <name> \
342
+ --routes /home,/map,/detail \
343
+ --brief "日本語ホテル探索アプリ。地図探索とプロダクト固有CTAを重視する"
344
+
345
+ npx vibepro design-modernize plan /path/to/repo \
346
+ --id <story-id> \
347
+ --product <name> \
348
+ --routes /home,/map,/detail \
349
+ --base-url http://127.0.0.1:3000
350
+ ```
351
+
352
+ `derive-system` は product brief と現行UI証跡から、VibePro内の Derived Design System を作ります。product semantics、semantic color roles、component responsibilities、composition rules、visual-hypothesis policy、明示的なDS gateを生成し、画面候補を作る前に「そのプロダクトで許されるデザイン判断の空間」を固定します。
353
+
354
+ `design-modernize` は、既存のルート、情報構造、CTA、状態、データ依存を保ったまま実プロダクト画面を改善するための workflow です。Design System bundle や生成された visual hypothesis は参照材料であり、VibePro が作った派生デザインシステム、現行スクリーンショット、Graphify/Codex evidence、Gate DAG が実装判断の正本です。
355
+
356
+ 主な成果物は `.vibepro/design-modernize/<story-id>/` 配下に出力されます。
357
+
358
+ - `design-system-derivation.json` / `.md`: product semantics と Derived Design System の要約
359
+ - `derived-design-system.json`: semantic token、component role map、CTA hierarchy、anti-pattern、visual hypothesis policy
360
+ - `design-modernize.json`: 画面別modernization plan と Design Quality DAG
361
+ - `ds-gate.json`: fallbackを禁止した明示的なDS drift / UX regression clause
362
+
363
+ 外部Design Systemや画像生成案は visual hypothesis として扱います。実装前に、spec が現行route、情報構造、CTA優先度、状態、データ依存を保持していることを確認してください。PR作成前には `vibepro pr prepare` で Design / Requirement / Unit / Integration / Agent Review gate が現HEADに対して解消されている必要があります。
364
+
365
+ ### Performance を測る
366
+
367
+ Story ごとの metric を定義します。
368
+
369
+ ```bash
370
+ npx vibepro performance define /path/to/repo \
371
+ --id <story-id> \
372
+ --metric-id session-switch.user-terminal-ready \
373
+ --user-story "ユーザーがsessionを切り替え、terminalに入力できる" \
374
+ --start-condition "session row click" \
375
+ --completion-condition "owner and inputReady=true" \
376
+ --evidence-source browser_e2e \
377
+ --readiness-kind user_perceived
378
+ ```
379
+
380
+ before / after の run を記録します。
381
+
382
+ ```bash
383
+ npx vibepro performance record /path/to/repo \
384
+ --id <story-id> \
385
+ --metric-id session-switch.user-terminal-ready \
386
+ --label before \
387
+ --status completed \
388
+ --duration-ms 2400
389
+
390
+ npx vibepro performance compare /path/to/repo --id <story-id>
391
+ ```
392
+
393
+ VibePro は同じ `metricId` と互換性のある completion condition の run だけを比較します。比較できない場合は、その理由を表示します。
394
+
395
+ ## AI Agent Setup
396
+
397
+ Claude / Claude Code 向けの同梱 Skills を対象リポジトリへ導入します。
398
+
399
+ ```bash
400
+ npx vibepro skills list
401
+ npx vibepro skills install /path/to/repo
402
+ npx vibepro skills verify /path/to/repo
403
+ ```
404
+
405
+ 同梱 Skills:
406
+
407
+ - `vibepro-workflow`: Story / Architecture / Spec / Graphify / Gate の実行順。design-modernize と Agent Review flow も含む。
408
+ - `vibepro-story-refactor`: Story、Architecture、Spec、Task、Code、Gate evidence を揃えながら進める refactor workflow。
409
+ - `vibepro-diagnosis-packages`: UI、security、performance、architecture、PR、launch readiness の目的別check。
410
+ - `vibepro-human-review`: PR readiness artifact、split plan、review cockpit、waiver 判断の読み方。
411
+
412
+ Codex 向け instructions を導入します。
413
+
414
+ ```bash
415
+ npx vibepro codex install /path/to/repo
416
+ npx vibepro codex verify /path/to/repo
417
+ ```
418
+
419
+ 目的は、agent が Story を読み、証跡を作り、レビューを実行し、PR Gate を守る流れを標準化することです。
420
+
421
+ ## 出力言語
422
+
423
+ VibePro は人間が読む CLI 出力とレポートで日本語・英語を切り替えられます。
424
+
425
+ ```bash
426
+ npx vibepro init /path/to/repo --language ja
427
+ npx vibepro config language /path/to/repo --language en
428
+ npx vibepro pr prepare /path/to/repo --language en --base <base-branch>
429
+ ```
430
+
431
+ 機械可読 JSON のキーは安定性のため英語系のまま維持します。
432
+
433
+ ## ドキュメント
434
+
435
+ - [English README](README.md)
436
+ - [Changelog](CHANGELOG.md)
437
+ - [Contributing guide](CONTRIBUTING.md)
438
+ - [Security policy](SECURITY.md)
439
+ - [OSS readiness architecture](https://github.com/Unson-LLC/vibepro/blob/main/docs/architecture/vibepro-oss-apache2-readiness.md)
440
+ - [OSS readiness spec](https://github.com/Unson-LLC/vibepro/blob/main/docs/specs/vibepro-oss-apache2-readiness.md)
441
+
442
+ ## プロジェクト状態
443
+
444
+ VibePro は現在 alpha OSS 公開候補です。安定版公開前に API、report schema、diagnosis pack は変わる可能性があります。
445
+
446
+ ## License
447
+
448
+ VibePro は [Apache License 2.0](LICENSE) で公開されています。