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.
- package/LICENSE +201 -0
- package/NOTICE +9 -0
- package/README.ja.md +448 -0
- package/README.md +520 -0
- package/agent-instructions/codex/AGENTS.vibepro.md +45 -0
- package/bin/vibepro.js +9 -0
- package/docs/assets/vibepro-header.png +0 -0
- package/package.json +51 -0
- package/skills/vibepro-diagnosis-packages/SKILL.md +133 -0
- package/skills/vibepro-human-review/SKILL.md +73 -0
- package/skills/vibepro-story-refactor/SKILL.md +89 -0
- package/skills/vibepro-workflow/SKILL.md +139 -0
- package/src/agent-harness-map.js +230 -0
- package/src/agent-harness-scanner.js +337 -0
- package/src/agent-review.js +2180 -0
- package/src/api-boundary-scanner.js +452 -0
- package/src/architecture-profiler.js +423 -0
- package/src/authorization-scoring.js +149 -0
- package/src/brainbase-importer.js +534 -0
- package/src/change-risk-classifier.js +195 -0
- package/src/check-packs.js +605 -0
- package/src/checkpoint-manager.js +233 -0
- package/src/cli.js +2213 -0
- package/src/code-quality-scanner.js +310 -0
- package/src/codex-manager.js +143 -0
- package/src/component-style-scanner.js +336 -0
- package/src/coverage-report.js +99 -0
- package/src/database-access-scanner.js +163 -0
- package/src/decision-records.js +315 -0
- package/src/design-modernize.js +1435 -0
- package/src/design-system.js +1732 -0
- package/src/diagnostic-engine.js +1945 -0
- package/src/diagram-requirement-resolver.js +194 -0
- package/src/doctor.js +677 -0
- package/src/environment-graph.js +424 -0
- package/src/execution-state.js +849 -0
- package/src/explore-evidence.js +425 -0
- package/src/flow-design-scanner.js +896 -0
- package/src/flow-verifier.js +887 -0
- package/src/gesture-interaction-scanner.js +330 -0
- package/src/graph-context.js +263 -0
- package/src/graphify-adapter.js +189 -0
- package/src/html-report.js +1035 -0
- package/src/journey-map.js +1299 -0
- package/src/language.js +48 -0
- package/src/lazy-pattern-detector.js +182 -0
- package/src/local-dev-scanner.js +135 -0
- package/src/managed-worktree-gate.js +187 -0
- package/src/managed-worktree.js +766 -0
- package/src/merge-manager.js +501 -0
- package/src/network-contract-scanner.js +442 -0
- package/src/nocodb-story-sync.js +386 -0
- package/src/oss-readiness-scanner.js +417 -0
- package/src/performance-evidence.js +756 -0
- package/src/performance-measurer.js +591 -0
- package/src/pr-manager.js +8220 -0
- package/src/presets.js +682 -0
- package/src/public-discovery-scanner.js +519 -0
- package/src/refactoring-delta-reporter.js +367 -0
- package/src/refactoring-opportunity-generator.js +797 -0
- package/src/regression-risk-scanner.js +146 -0
- package/src/repo-status.js +266 -0
- package/src/report-fingerprint.js +188 -0
- package/src/report-pr-body-prompt-template.md +108 -0
- package/src/report-pr-body-schema.json +95 -0
- package/src/report-store.js +135 -0
- package/src/report-validator.js +192 -0
- package/src/requirement-consistency.js +1066 -0
- package/src/runtime-info.js +134 -0
- package/src/self-dogfood-scanner.js +476 -0
- package/src/session-learning.js +164 -0
- package/src/skills-manager.js +157 -0
- package/src/spec-drift.js +378 -0
- package/src/spec-fingerprint.js +445 -0
- package/src/spec-prompt-template.md +155 -0
- package/src/spec-schema.json +219 -0
- package/src/spec-store.js +258 -0
- package/src/spec-validator.js +459 -0
- package/src/static-site-scanner.js +316 -0
- package/src/story-candidate-generator.js +85 -0
- package/src/story-catalog-generator.js +2813 -0
- package/src/story-html.js +156 -0
- package/src/story-manager.js +2144 -0
- package/src/story-task-generator.js +522 -0
- package/src/task-manager.js +1029 -0
- package/src/terminal-link-scanner.js +238 -0
- package/src/usage-report.js +417 -0
- package/src/verification-evidence.js +284 -0
- 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
|
+
[](README.md)
|
|
4
|
+
[](README.ja.md)
|
|
5
|
+
[](package.json)
|
|
6
|
+
[](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) で公開されています。
|