agent-personal-vault 0.1.0__tar.gz
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.
- agent_personal_vault-0.1.0/LICENSE +21 -0
- agent_personal_vault-0.1.0/PKG-INFO +355 -0
- agent_personal_vault-0.1.0/README.md +336 -0
- agent_personal_vault-0.1.0/agent_personal_vault/__init__.py +5 -0
- agent_personal_vault-0.1.0/agent_personal_vault/audit.py +91 -0
- agent_personal_vault-0.1.0/agent_personal_vault/cli.py +366 -0
- agent_personal_vault-0.1.0/agent_personal_vault/consent.py +277 -0
- agent_personal_vault-0.1.0/agent_personal_vault/crypto_store.py +103 -0
- agent_personal_vault-0.1.0/agent_personal_vault/gui.py +412 -0
- agent_personal_vault-0.1.0/agent_personal_vault/mcp_server.py +206 -0
- agent_personal_vault-0.1.0/agent_personal_vault/schemas.py +118 -0
- agent_personal_vault-0.1.0/agent_personal_vault/vault.py +443 -0
- agent_personal_vault-0.1.0/agent_personal_vault.egg-info/PKG-INFO +355 -0
- agent_personal_vault-0.1.0/agent_personal_vault.egg-info/SOURCES.txt +20 -0
- agent_personal_vault-0.1.0/agent_personal_vault.egg-info/dependency_links.txt +1 -0
- agent_personal_vault-0.1.0/agent_personal_vault.egg-info/entry_points.txt +4 -0
- agent_personal_vault-0.1.0/agent_personal_vault.egg-info/requires.txt +3 -0
- agent_personal_vault-0.1.0/agent_personal_vault.egg-info/top_level.txt +1 -0
- agent_personal_vault-0.1.0/pyproject.toml +31 -0
- agent_personal_vault-0.1.0/setup.cfg +4 -0
- agent_personal_vault-0.1.0/tests/test_release_checks.py +272 -0
- agent_personal_vault-0.1.0/tests/test_vault.py +937 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Agent Personal Vault contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,355 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: agent-personal-vault
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Alpha local personal-data utility for AI agents.
|
|
5
|
+
Author: Agent Personal Vault contributors
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Keywords: ai-agent,privacy,personal-data,local-first,japan
|
|
8
|
+
Classifier: Development Status :: 3 - Alpha
|
|
9
|
+
Classifier: Environment :: Console
|
|
10
|
+
Classifier: Intended Audience :: End Users/Desktop
|
|
11
|
+
Classifier: Programming Language :: Python :: 3
|
|
12
|
+
Classifier: Topic :: Utilities
|
|
13
|
+
Requires-Python: >=3.11
|
|
14
|
+
Description-Content-Type: text/markdown
|
|
15
|
+
License-File: LICENSE
|
|
16
|
+
Provides-Extra: encrypted
|
|
17
|
+
Requires-Dist: cryptography>=42; extra == "encrypted"
|
|
18
|
+
Dynamic: license-file
|
|
19
|
+
|
|
20
|
+
# Agent Personal Vault
|
|
21
|
+
|
|
22
|
+
日本語タイトル: AIエージェント向け個人情報ローカルVault
|
|
23
|
+
|
|
24
|
+
`Agent Personal Vault` は、Codex などのAIエージェントがユーザーの個人情報をローカルで管理し、必要な時だけ最小限に参照するためのローカルファーストな管理レイヤーです。
|
|
25
|
+
|
|
26
|
+

|
|
27
|
+
|
|
28
|
+
## Alpha Safety Notice
|
|
29
|
+
|
|
30
|
+
このプロジェクトはalpha版のローカル実験ユーティリティです。
|
|
31
|
+
|
|
32
|
+
- 既定では保存データを暗号化しません。
|
|
33
|
+
- 侵害済み端末、共有端末、マルウェア、OSユーザー権限を持つ攻撃者からは守れません。
|
|
34
|
+
- `get` と `env` はraw個人情報を表示します。ログ、Issue、スクリーンショット、外部AI、Subagent指示へ貼らないでください。
|
|
35
|
+
- `get` と `env` は事前に承認された一回限りのconsent tokenを要求します。
|
|
36
|
+
- public alphaの通常導線は、1回のconsentで1 keyだけを取得するone-key raw retrievalです。bulk raw exportはAIエージェントの通常導線ではありません。
|
|
37
|
+
- `get` / `env` / `set` / `unset` / `consent` / GUI保存はraw値なしの監査ログを書きます。`--purpose` にも実個人情報を書かないでください。
|
|
38
|
+
- consent tokenは、同一OSユーザーやシェル実行権限を持つagentに対する強いセキュリティ境界ではありません。信頼できないagentにこのCLIや保存先へのアクセスを渡さないでください。
|
|
39
|
+
- 保存時暗号化はoptionalです。使う場合は `agent-personal-vault[encrypted]` とpassphraseが必要です。
|
|
40
|
+
- 法令遵守、本人確認、応募、送信、アップロード、契約、金融、医療、企業利用の安全性は保証しません。
|
|
41
|
+
- GitHub IssueやDiscussionに、氏名、住所、電話番号、メール、顔写真、証明書、実データのスクリーンショットを投稿しないでください。
|
|
42
|
+
|
|
43
|
+
安全な使い方は「raw値を保存する前に、まず `schema` / `context` / `check` でrawなしの流れを確認する」ことです。
|
|
44
|
+
|
|
45
|
+
## 5分で試す
|
|
46
|
+
|
|
47
|
+
まずはdummy値かローカルで扱ってよい値だけで試してください。`get` の結果はraw値なので、ログ、Issue、外部AIへ貼らないでください。
|
|
48
|
+
|
|
49
|
+
```sh
|
|
50
|
+
python3 -m venv .venv
|
|
51
|
+
. .venv/bin/activate
|
|
52
|
+
python3 -m pip install -e .
|
|
53
|
+
export APV_STORE="$(mktemp -d)/vault.json"
|
|
54
|
+
|
|
55
|
+
agent-personal-vault --store "$APV_STORE" init
|
|
56
|
+
printf 'Example\n' | agent-personal-vault --store "$APV_STORE" set FAMILY_NAME --stdin --purpose "dummy local quickstart"
|
|
57
|
+
printf 'Taro\n' | agent-personal-vault --store "$APV_STORE" set GIVEN_NAME --stdin --purpose "dummy local quickstart"
|
|
58
|
+
printf 'taro@example.test\n' | agent-personal-vault --store "$APV_STORE" set EMAIL --stdin --purpose "dummy local quickstart"
|
|
59
|
+
|
|
60
|
+
agent-personal-vault --store "$APV_STORE" context --task "応募フォームの氏名とメール連絡先を下書きする"
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
MCPクライアントには、stdio serverとして次のコマンドを設定します。このコマンドはserverとして待機するため、通常のシェルで順番に実行するコマンドではありません。
|
|
64
|
+
|
|
65
|
+
```sh
|
|
66
|
+
apv-mcp --store "$APV_STORE"
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
MCPクライアントでは、まず `apv.context` を呼び、raw値なしの候補keyを確認します。raw値が必要になったら `apv.request_consent` で `FULL_NAME` など1 keyだけを要求します。その後、GUIを起動して人間が承認します。
|
|
70
|
+
|
|
71
|
+
```sh
|
|
72
|
+
apv-gui --store "$APV_STORE" --open
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
承認後、GUIに表示されるconsent idを使い、CLIでその1 keyだけを取得します。GUIを閉じた場合は `agent-personal-vault --store "$APV_STORE" consent list` で未使用のconsent idを確認できます。
|
|
76
|
+
|
|
77
|
+
```sh
|
|
78
|
+
agent-personal-vault --store "$APV_STORE" get FULL_NAME --purpose "prepare local draft for user review" --consent-id "<displayed-consent-id>"
|
|
79
|
+
agent-personal-vault --store "$APV_STORE" audit summary
|
|
80
|
+
agent-personal-vault --store "$APV_STORE" audit tail --limit 10
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
ここまでの安全な既定は、`context` / `apv.context` がraw値を返さず、`apv.request_consent` もraw値を返さず、raw取得は人間が承認した1 keyに限ることです。外部送信、フォーム送信、応募、メール送信はこのツールでは実行せず、人間確認で止めてください。
|
|
84
|
+
|
|
85
|
+
Codex、Claude Desktop、Claude Codeなどの設定例は [docs/MCP_CLIENT_SETUP.md](docs/MCP_CLIENT_SETUP.md) を参照してください。
|
|
86
|
+
|
|
87
|
+
## 位置づけ
|
|
88
|
+
|
|
89
|
+
この領域には、暗号化された個人コンテキストVault、MCPサーバー、資格情報Vault、PII redaction middleware などの先行OSSがあります。
|
|
90
|
+
|
|
91
|
+
`Agent Personal Vault` は新しいカテゴリを独占的に主張するものではありません。現時点の狙いは、次のような小さく監査しやすい実装です。
|
|
92
|
+
|
|
93
|
+
- 通常利用はPython標準ライブラリのみ
|
|
94
|
+
- CLIはdaemonなしで利用可能
|
|
95
|
+
- AIエージェント計画用の既定入口はraw値なしの `context`
|
|
96
|
+
- 保存値を読まない公開可能な `schema`
|
|
97
|
+
- 必要keyだけを `get` する最小raw取得
|
|
98
|
+
- Codexのようなローカル作業エージェント向けのfinal action境界
|
|
99
|
+
|
|
100
|
+
先行OSSとの比較メモは [docs/PRIOR_ART_REVIEW.md](docs/PRIOR_ART_REVIEW.md) にあります。
|
|
101
|
+
差別化方針とMVP境界は [docs/PRODUCT_POSITIONING.md](docs/PRODUCT_POSITIONING.md) にまとめています。
|
|
102
|
+
|
|
103
|
+
## 目的
|
|
104
|
+
|
|
105
|
+
- ユーザーに同じ個人情報を何度も入力させない。
|
|
106
|
+
- AIエージェントが必要な項目だけを、同意と監査の境界つきで取得できるようにする。
|
|
107
|
+
- raw個人情報をチャットログ、README、GitHub、外部API、Subagent指示へ不用意に流さない。
|
|
108
|
+
- 外部送信や応募などの final action は人間確認で止める。
|
|
109
|
+
|
|
110
|
+
## 同梱スキーマ
|
|
111
|
+
|
|
112
|
+
- `job_hunting_profile`
|
|
113
|
+
- 氏名、ふりがな、生年月日
|
|
114
|
+
- 住所、電話、メール
|
|
115
|
+
- 大学、大学院、追加学歴
|
|
116
|
+
- 資格
|
|
117
|
+
- 顔写真ファイルパス
|
|
118
|
+
|
|
119
|
+
今後スキーマを増やす場合も、raw値を外へ出さない設計を維持します。
|
|
120
|
+
|
|
121
|
+
## インストール
|
|
122
|
+
|
|
123
|
+
開発版:
|
|
124
|
+
|
|
125
|
+
```sh
|
|
126
|
+
python3 -m venv .venv
|
|
127
|
+
. .venv/bin/activate
|
|
128
|
+
python3 -m pip install -e .
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
通常利用の依存関係は標準ライブラリのみです。保存時暗号化を使う場合だけoptional extraを入れます。
|
|
132
|
+
|
|
133
|
+
```sh
|
|
134
|
+
. .venv/bin/activate
|
|
135
|
+
python3 -m pip install -e '.[encrypted]'
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
## 保存先
|
|
139
|
+
|
|
140
|
+
既定では次に保存します。
|
|
141
|
+
|
|
142
|
+
```text
|
|
143
|
+
~/.local/share/agent-personal-vault/vault.json
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
変更したい場合:
|
|
147
|
+
|
|
148
|
+
```sh
|
|
149
|
+
export AGENT_PERSONAL_VAULT_HOME="$HOME/.local/share/agent-personal-vault"
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
またはコマンドごとに:
|
|
153
|
+
|
|
154
|
+
```sh
|
|
155
|
+
agent-personal-vault --store /path/to/vault.json check
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
保存ファイルは `0600`、保存ディレクトリは `0700` に設定されます。
|
|
159
|
+
|
|
160
|
+
## MCP Raw-Free Server
|
|
161
|
+
|
|
162
|
+
AIエージェント連携用に、raw値を返さないMCP stdio serverを提供します。
|
|
163
|
+
|
|
164
|
+
```sh
|
|
165
|
+
apv-mcp --store /path/to/vault.json
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
公開するtool:
|
|
169
|
+
|
|
170
|
+
- `apv.schema`
|
|
171
|
+
- `apv.context`
|
|
172
|
+
- `apv.check`
|
|
173
|
+
- `apv.list_masked`
|
|
174
|
+
- `apv.request_consent`
|
|
175
|
+
|
|
176
|
+
MCPでは `get`、`env`、`set`、`unset`、raw値取得、外部送信、フォーム送信は公開しません。`apv.request_consent` はraw値を返さず、GUIまたはCLIで人間が承認/拒否するためのリクエストだけを作成します。
|
|
177
|
+
|
|
178
|
+
## CLI
|
|
179
|
+
|
|
180
|
+
初期化:
|
|
181
|
+
|
|
182
|
+
```sh
|
|
183
|
+
agent-personal-vault init
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
raw値を出さずに状態確認:
|
|
187
|
+
|
|
188
|
+
```sh
|
|
189
|
+
agent-personal-vault check
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
AIエージェント向けに、raw値なしのJSONコンテキストを取得:
|
|
193
|
+
|
|
194
|
+
```sh
|
|
195
|
+
agent-personal-vault context
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
用途が決まっている場合は、raw値なしで必要候補keyを絞るplanning hintsを取得できます。
|
|
199
|
+
|
|
200
|
+
```sh
|
|
201
|
+
agent-personal-vault context --task "応募フォームの氏名とメール連絡先を下書きする"
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
保存値を読まず、公開可能なスキーマ定義だけ確認:
|
|
205
|
+
|
|
206
|
+
```sh
|
|
207
|
+
agent-personal-vault schema
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
マスク表示:
|
|
211
|
+
|
|
212
|
+
```sh
|
|
213
|
+
agent-personal-vault list
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
`list` はraw断片を出さず、入力済みかどうかと文字数だけを表示します。
|
|
217
|
+
|
|
218
|
+
値を保存する。値はコマンド履歴に残さないため、実行後に入力します。
|
|
219
|
+
|
|
220
|
+
```sh
|
|
221
|
+
agent-personal-vault set FAMILY_NAME --purpose "initial local profile setup"
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
必要なkeyだけ取得:
|
|
225
|
+
|
|
226
|
+
```sh
|
|
227
|
+
agent-personal-vault consent request --action get --key FULL_NAME --purpose "prepare local draft for user review"
|
|
228
|
+
agent-personal-vault get FULL_NAME --purpose "prepare local draft for user review" --consent-id "<displayed-consent-id>"
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
`consent request` はrequest idを出力します。人間がGUIまたはhuman-operated CLIで承認すると、CLI `get` に渡すconsent idが発行されます。AIエージェントの通常導線では `consent approve` を実行させず、人間の承認操作として扱ってください。GUI承認後は画面に表示されたconsent idを使ってください。
|
|
232
|
+
|
|
233
|
+
raw値のbulk export:
|
|
234
|
+
|
|
235
|
+
`env` は複数のraw値をshell export形式で表示するadvanced/manual commandです。public alphaの既定では使わず、AIエージェントの通常導線、MCP連携、Quickstart、release validationには含めません。まずは `context` / `apv.context` でrawなし計画を作り、必要な場合だけ `get <KEY>` で1 keyずつ取得してください。
|
|
236
|
+
|
|
237
|
+
値を消す:
|
|
238
|
+
|
|
239
|
+
```sh
|
|
240
|
+
agent-personal-vault unset FAMILY_NAME --purpose "clear outdated value"
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
raw値なしの監査ログを確認:
|
|
244
|
+
|
|
245
|
+
```sh
|
|
246
|
+
agent-personal-vault audit summary
|
|
247
|
+
agent-personal-vault audit tail --limit 10
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
未使用のconsent tokenを確認:
|
|
251
|
+
|
|
252
|
+
```sh
|
|
253
|
+
agent-personal-vault consent requests
|
|
254
|
+
agent-personal-vault consent list
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
`get` と `env` はraw値を出し、stderrに警告を表示します。ログ、公開Issue、外部AI、Subagent指示へ貼らないでください。`audit` と `consent` はkey名、action、purpose、rawを返したかどうかを記録しますが、raw値そのものは記録しません。
|
|
258
|
+
|
|
259
|
+
保存時暗号化の状態確認:
|
|
260
|
+
|
|
261
|
+
```sh
|
|
262
|
+
agent-personal-vault encryption status
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
暗号化へ移行:
|
|
266
|
+
|
|
267
|
+
```sh
|
|
268
|
+
agent-personal-vault encryption encrypt --purpose "enable local at-rest encryption"
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
暗号化されたvaultを通常CLIで読む場合は、環境変数でpassphraseを渡します。値はログや公開Issueへ出さないでください。
|
|
272
|
+
|
|
273
|
+
```sh
|
|
274
|
+
export AGENT_PERSONAL_VAULT_PASSPHRASE="..."
|
|
275
|
+
agent-personal-vault check
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
## GUI
|
|
279
|
+
|
|
280
|
+
```sh
|
|
281
|
+
apv-gui --open
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
GUIは `127.0.0.1` にだけbindし、起動ごとにtoken付きURLを発行します。必要な時だけ起動し、作業後は `Ctrl-C` で停止してください。保留中の同意リクエストはGUI右側で承認/拒否できます。プロフィール保存はraw値なしの監査ログに記録されます。
|
|
285
|
+
|
|
286
|
+
## AIエージェント向け安全手順
|
|
287
|
+
|
|
288
|
+
1. まず `check` を使い、入力済み件数と不足項目だけを見る。
|
|
289
|
+
2. エージェントの計画には、まず `context` のraw値なしJSONを使う。用途が決まっていれば `context --task "<raw値を含まない用途>"` で必要候補keyを絞る。MCPクライアントでは `apv.context` を使う。
|
|
290
|
+
3. raw値が必要な場合は、まず `consent request` で対象keyと目的を固定したリクエストを作る。
|
|
291
|
+
4. 人間がGUIまたはhuman-operated CLIで承認・拒否する。AIエージェント自身に承認コマンドを実行させない。
|
|
292
|
+
5. 承認された対象keyを1つずつ `get <KEY> --purpose "<raw値を含まない目的>" --consent-id "<token>"` で取得する。
|
|
293
|
+
6. raw値を最終報告、公開成果物、外部API、検索クエリ、GitHub、メール、SNS、応募サイトへ無断で送らない。
|
|
294
|
+
7. 外部送信、応募、登録、アップロード、メール送信は final action として止める。
|
|
295
|
+
8. Subagentやworkerへraw値を渡さない。必要なら親エージェントが最小限の取得と貼り付けを担当する。
|
|
296
|
+
9. 必要に応じて `audit summary` または `audit tail` でrawなしの利用履歴を確認する。
|
|
297
|
+
|
|
298
|
+
詳しいプロトコルは [docs/AGENT_PROTOCOL.md](docs/AGENT_PROTOCOL.md) を参照してください。
|
|
299
|
+
|
|
300
|
+
## セキュリティ上の限界
|
|
301
|
+
|
|
302
|
+
- このツールはローカルの秘密メモに近いです。
|
|
303
|
+
- OSのユーザー権限を越えた攻撃者、マルウェア、侵害済み端末からは守れません。
|
|
304
|
+
- 同じOSユーザーとしてシェル実行できるagentやプロセスからは、CLI操作そのものを強制的に止められません。consentとauditはワークフロー制御と記録のための仕組みです。
|
|
305
|
+
- 既定では暗号化しません。optional extraでAES-256-GCM暗号化backendを使えますが、passphrase管理はユーザー責任です。macOS Keychain、Windows Credential Manager、libsecret対応は今後の候補です。
|
|
306
|
+
- ブラウザ履歴やターミナルログにtokenやraw値を残さない運用が必要です。
|
|
307
|
+
- 暗号化、MCP連携、強い権限委譲が必要な用途では、既存のpersonal context vaultやsecret manager系OSSも比較してください。
|
|
308
|
+
- このプロジェクトは現時点でalphaです。強いセキュリティ、法令遵守、エンタープライズ用途を主張しません。
|
|
309
|
+
|
|
310
|
+
## メンテナ向けチェック
|
|
311
|
+
|
|
312
|
+
<details>
|
|
313
|
+
<summary>公開前チェック</summary>
|
|
314
|
+
|
|
315
|
+
このリポジトリには実データを入れないでください。
|
|
316
|
+
|
|
317
|
+
- `vault.json`
|
|
318
|
+
- `private/`
|
|
319
|
+
- 顔写真
|
|
320
|
+
- バックアップ
|
|
321
|
+
- スクリーンショット
|
|
322
|
+
- ローカル絶対パス入り設定
|
|
323
|
+
|
|
324
|
+
公開前に次を実行してください。
|
|
325
|
+
|
|
326
|
+
```sh
|
|
327
|
+
make release-check
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
`make` を使わない場合:
|
|
331
|
+
|
|
332
|
+
```sh
|
|
333
|
+
python3 scripts/check_release.py
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
関連ドキュメント:
|
|
337
|
+
|
|
338
|
+
| Document | Purpose |
|
|
339
|
+
|---|---|
|
|
340
|
+
| [Publication Gate](docs/PUBLICATION_GATE.md) | visibility変更やpublish前の停止条件 |
|
|
341
|
+
| [Private Dry Run Report](docs/PRIVATE_DRY_RUN_REPORT.md) | private GitHub dry-runの確認結果 |
|
|
342
|
+
| [Public Release Review](docs/PUBLIC_RELEASE_REVIEW.md) | public公開可否レビュー |
|
|
343
|
+
| [Pre-Public Objective Review](docs/PRE_PUBLIC_OBJECTIVE_REVIEW.md) | public公開前の客観レビューと残リスク |
|
|
344
|
+
| [OSS Governance](docs/OSS_GOVERNANCE.md) | Issue / PR / branch protection運用 |
|
|
345
|
+
| [Release/Package Dry-Run Plan](docs/RELEASE_PACKAGE_DRY_RUN_PLAN.md) | release/package publish前のdry-run確認項目 |
|
|
346
|
+
| [RC Approval Plan](docs/RC_APPROVAL_PLAN.md) | release / tag / package publish / 告知の個別承認レーン |
|
|
347
|
+
| [RC Approval Packet](docs/RC_APPROVAL_PACKET.md) | RC実行前の対象commit・release note・承認文レビュー |
|
|
348
|
+
| [Reputation Risk Review](docs/REPUTATION_RISK_REVIEW.md) | 表現・炎上リスクの確認 |
|
|
349
|
+
| [Launch Messaging](docs/LAUNCH_MESSAGING.md) | README、release notes、告知文の安全な書き方 |
|
|
350
|
+
|
|
351
|
+
</details>
|
|
352
|
+
|
|
353
|
+
## ライセンス
|
|
354
|
+
|
|
355
|
+
MIT License。
|