failproofai 0.0.6-beta.1 → 0.0.6-beta.3

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 (177) hide show
  1. package/.next/standalone/.failproofai/policies/review-policies.mjs +4 -3
  2. package/.next/standalone/.next/BUILD_ID +1 -1
  3. package/.next/standalone/.next/build-manifest.json +3 -3
  4. package/.next/standalone/.next/prerender-manifest.json +3 -3
  5. package/.next/standalone/.next/required-server-files.json +1 -1
  6. package/.next/standalone/.next/server/app/_global-error/page/server-reference-manifest.json +1 -1
  7. package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
  8. package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  10. package/.next/standalone/.next/server/app/_global-error.rsc +7 -7
  11. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  12. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
  13. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
  14. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
  15. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  16. package/.next/standalone/.next/server/app/_not-found/page/server-reference-manifest.json +1 -1
  17. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  18. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  19. package/.next/standalone/.next/server/app/_not-found.html +2 -2
  20. package/.next/standalone/.next/server/app/_not-found.rsc +15 -15
  21. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +15 -15
  22. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
  23. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +10 -10
  24. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  25. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  26. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  27. package/.next/standalone/.next/server/app/index.html +1 -1
  28. package/.next/standalone/.next/server/app/index.rsc +15 -15
  29. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  30. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +15 -15
  31. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
  32. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +10 -10
  33. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  34. package/.next/standalone/.next/server/app/page/server-reference-manifest.json +1 -1
  35. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  36. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  37. package/.next/standalone/.next/server/app/policies/page/server-reference-manifest.json +8 -8
  38. package/.next/standalone/.next/server/app/policies/page.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/policies/page_client-reference-manifest.js +1 -1
  40. package/.next/standalone/.next/server/app/project/[name]/page/server-reference-manifest.json +1 -1
  41. package/.next/standalone/.next/server/app/project/[name]/page.js.nft.json +1 -1
  42. package/.next/standalone/.next/server/app/project/[name]/page_client-reference-manifest.js +1 -1
  43. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/react-loadable-manifest.json +2 -2
  44. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page/server-reference-manifest.json +2 -2
  45. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page.js.nft.json +1 -1
  46. package/.next/standalone/.next/server/app/project/[name]/session/[sessionId]/page_client-reference-manifest.js +1 -1
  47. package/.next/standalone/.next/server/app/projects/page/server-reference-manifest.json +1 -1
  48. package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
  49. package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  50. package/.next/standalone/.next/server/chunks/[root-of-the-server]__0g72weg._.js +1 -1
  51. package/.next/standalone/.next/server/chunks/package_json_[json]_cjs_0z7w.hh._.js +1 -1
  52. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__092s1ta._.js +2 -2
  53. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0~kmh8w._.js → [root-of-the-server]__096k.db._.js} +2 -2
  54. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__09icjsf._.js +2 -2
  55. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0g.lg8b._.js +2 -2
  56. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h..k-e._.js +2 -2
  57. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0rh.18_._.js → [root-of-the-server]__0kyh86x._.js} +2 -2
  58. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0okos0k._.js +2 -2
  59. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0w6l33k._.js +2 -2
  60. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__11pa2ra._.js +2 -2
  61. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__12t-wym._.js +2 -2
  62. package/.next/standalone/.next/server/chunks/ssr/_10lm7or._.js +2 -2
  63. package/.next/standalone/.next/server/chunks/ssr/app_global-error_tsx_0xerkr6._.js +1 -1
  64. package/.next/standalone/.next/server/chunks/ssr/app_policies_hooks-client_tsx_0q-m0y-._.js +1 -1
  65. package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  66. package/.next/standalone/.next/server/pages/404.html +2 -2
  67. package/.next/standalone/.next/server/pages/500.html +1 -1
  68. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  69. package/.next/standalone/.next/server/server-reference-manifest.json +9 -9
  70. package/.next/standalone/.next/static/chunks/{0gbf4cphy8ksq.js → 0-dm_9a6nsc2l.js} +1 -1
  71. package/.next/standalone/.next/static/chunks/{12~yi9oj8av8p.js → 01pmw1-asbek~.js} +2 -2
  72. package/.next/standalone/.next/static/chunks/{0v.yd0kg_ld3r.js → 051m32nx~n5yr.js} +1 -1
  73. package/.next/standalone/.next/static/chunks/{09_k80d~cq2wg.js → 0a-yctdwn368y.js} +1 -1
  74. package/.next/standalone/.next/static/chunks/{0bvhsa6zva2o..js → 0ksdlt_1hucdm.js} +1 -1
  75. package/.next/standalone/.next/static/chunks/{01b~z8f1ws0rk.js → 0l-mu4okl-cj1.js} +1 -1
  76. package/.next/standalone/.next/static/chunks/{08t08igdql9yt.js → 0mazj-p-~2kc6.js} +1 -1
  77. package/.next/standalone/.next/static/chunks/0qakntsrpc~1j.js +6 -0
  78. package/.next/standalone/.next/static/chunks/{03rz6ykw-a2xi.js → 156zca6aewyr-.js} +1 -1
  79. package/.next/standalone/CHANGELOG.md +18 -0
  80. package/.next/standalone/bin/failproofai.mjs +91 -4
  81. package/.next/standalone/dist/cli.mjs +1156 -55
  82. package/.next/standalone/docs/ar/built-in-policies.mdx +140 -103
  83. package/.next/standalone/docs/ar/custom-policies.mdx +72 -72
  84. package/.next/standalone/docs/ar/examples.mdx +86 -33
  85. package/.next/standalone/docs/ar/getting-started.mdx +82 -29
  86. package/.next/standalone/docs/built-in-policies.mdx +3 -3
  87. package/.next/standalone/docs/de/built-in-policies.mdx +97 -60
  88. package/.next/standalone/docs/de/custom-policies.mdx +56 -56
  89. package/.next/standalone/docs/de/examples.mdx +72 -18
  90. package/.next/standalone/docs/de/getting-started.mdx +72 -20
  91. package/.next/standalone/docs/es/built-in-policies.mdx +91 -54
  92. package/.next/standalone/docs/es/custom-policies.mdx +55 -55
  93. package/.next/standalone/docs/es/examples.mdx +73 -19
  94. package/.next/standalone/docs/es/getting-started.mdx +72 -20
  95. package/.next/standalone/docs/fr/built-in-policies.mdx +99 -62
  96. package/.next/standalone/docs/fr/custom-policies.mdx +51 -51
  97. package/.next/standalone/docs/fr/examples.mdx +78 -24
  98. package/.next/standalone/docs/fr/getting-started.mdx +65 -13
  99. package/.next/standalone/docs/he/built-in-policies.mdx +139 -99
  100. package/.next/standalone/docs/he/custom-policies.mdx +75 -75
  101. package/.next/standalone/docs/he/examples.mdx +87 -33
  102. package/.next/standalone/docs/he/getting-started.mdx +84 -33
  103. package/.next/standalone/docs/hi/built-in-policies.mdx +203 -166
  104. package/.next/standalone/docs/hi/custom-policies.mdx +71 -70
  105. package/.next/standalone/docs/hi/examples.mdx +90 -36
  106. package/.next/standalone/docs/hi/getting-started.mdx +80 -27
  107. package/.next/standalone/docs/i18n/README.ar.md +69 -69
  108. package/.next/standalone/docs/i18n/README.de.md +46 -46
  109. package/.next/standalone/docs/i18n/README.es.md +42 -42
  110. package/.next/standalone/docs/i18n/README.fr.md +39 -39
  111. package/.next/standalone/docs/i18n/README.he.md +83 -83
  112. package/.next/standalone/docs/i18n/README.hi.md +69 -69
  113. package/.next/standalone/docs/i18n/README.it.md +72 -72
  114. package/.next/standalone/docs/i18n/README.ja.md +71 -71
  115. package/.next/standalone/docs/i18n/README.ko.md +52 -52
  116. package/.next/standalone/docs/i18n/README.pt-br.md +44 -44
  117. package/.next/standalone/docs/i18n/README.ru.md +66 -66
  118. package/.next/standalone/docs/i18n/README.tr.md +82 -83
  119. package/.next/standalone/docs/i18n/README.vi.md +70 -71
  120. package/.next/standalone/docs/i18n/README.zh.md +51 -51
  121. package/.next/standalone/docs/it/built-in-policies.mdx +115 -78
  122. package/.next/standalone/docs/it/custom-policies.mdx +69 -69
  123. package/.next/standalone/docs/it/examples.mdx +93 -39
  124. package/.next/standalone/docs/it/getting-started.mdx +73 -21
  125. package/.next/standalone/docs/ja/built-in-policies.mdx +155 -118
  126. package/.next/standalone/docs/ja/custom-policies.mdx +71 -71
  127. package/.next/standalone/docs/ja/examples.mdx +76 -22
  128. package/.next/standalone/docs/ja/getting-started.mdx +65 -13
  129. package/.next/standalone/docs/ko/built-in-policies.mdx +103 -66
  130. package/.next/standalone/docs/ko/custom-policies.mdx +67 -67
  131. package/.next/standalone/docs/ko/examples.mdx +87 -33
  132. package/.next/standalone/docs/ko/getting-started.mdx +61 -9
  133. package/.next/standalone/docs/pt-br/built-in-policies.mdx +72 -35
  134. package/.next/standalone/docs/pt-br/custom-policies.mdx +56 -56
  135. package/.next/standalone/docs/pt-br/examples.mdx +78 -24
  136. package/.next/standalone/docs/pt-br/getting-started.mdx +64 -12
  137. package/.next/standalone/docs/ru/built-in-policies.mdx +135 -98
  138. package/.next/standalone/docs/ru/custom-policies.mdx +82 -81
  139. package/.next/standalone/docs/ru/examples.mdx +77 -22
  140. package/.next/standalone/docs/ru/getting-started.mdx +74 -22
  141. package/.next/standalone/docs/tr/built-in-policies.mdx +126 -89
  142. package/.next/standalone/docs/tr/custom-policies.mdx +59 -60
  143. package/.next/standalone/docs/tr/examples.mdx +97 -42
  144. package/.next/standalone/docs/tr/getting-started.mdx +75 -23
  145. package/.next/standalone/docs/vi/built-in-policies.mdx +116 -81
  146. package/.next/standalone/docs/vi/custom-policies.mdx +68 -68
  147. package/.next/standalone/docs/vi/examples.mdx +93 -38
  148. package/.next/standalone/docs/vi/getting-started.mdx +74 -22
  149. package/.next/standalone/docs/zh/built-in-policies.mdx +117 -82
  150. package/.next/standalone/docs/zh/custom-policies.mdx +49 -49
  151. package/.next/standalone/docs/zh/examples.mdx +90 -36
  152. package/.next/standalone/docs/zh/getting-started.mdx +73 -21
  153. package/.next/standalone/package.json +1 -1
  154. package/.next/standalone/server.js +1 -1
  155. package/.next/standalone/src/auth/login.ts +104 -0
  156. package/.next/standalone/src/auth/logout.ts +50 -0
  157. package/.next/standalone/src/auth/token-store.ts +64 -0
  158. package/.next/standalone/src/hooks/builtin-policies.ts +27 -21
  159. package/.next/standalone/src/hooks/handler.ts +35 -15
  160. package/.next/standalone/src/relay/daemon.ts +362 -0
  161. package/.next/standalone/src/relay/pid.ts +76 -0
  162. package/.next/standalone/src/relay/queue.ts +225 -0
  163. package/bin/failproofai.mjs +91 -4
  164. package/dist/cli.mjs +1156 -55
  165. package/package.json +1 -1
  166. package/src/auth/login.ts +104 -0
  167. package/src/auth/logout.ts +50 -0
  168. package/src/auth/token-store.ts +64 -0
  169. package/src/hooks/builtin-policies.ts +27 -21
  170. package/src/hooks/handler.ts +35 -15
  171. package/src/relay/daemon.ts +362 -0
  172. package/src/relay/pid.ts +76 -0
  173. package/src/relay/queue.ts +225 -0
  174. package/.next/standalone/.next/static/chunks/0wlyoif4_kj_t.js +0 -6
  175. /package/.next/standalone/.next/static/{CkmOT-ZvDN-sVULinGVKT → r-wX0MuAfCjbhJm3phQc8}/_buildManifest.js +0 -0
  176. /package/.next/standalone/.next/static/{CkmOT-ZvDN-sVULinGVKT → r-wX0MuAfCjbhJm3phQc8}/_clientMiddlewareManifest.js +0 -0
  177. /package/.next/standalone/.next/static/{CkmOT-ZvDN-sVULinGVKT → r-wX0MuAfCjbhJm3phQc8}/_ssgManifest.js +0 -0
@@ -1,10 +1,10 @@
1
1
  ---
2
2
  title: 組み込みポリシー
3
- description: "エージェントのよくある失敗パターンを検出する30の組み込みポリシー"
3
+ description: "エージェントの一般的な障害モードを検出する30種類の組み込みポリシー"
4
4
  icon: shield
5
5
  ---
6
6
 
7
- failproofai には、エージェントのよくある失敗パターンを検出する30の組み込みポリシーが付属しています。各ポリシーは特定のフックイベントタイプとツール名に対して発火します。9つのポリシーはコードを書かずに動作を調整できるパラメーターを受け付けます。4つのワークフローポリシーは、Claude が停止する前にコミット → プッシュ → PR → CI のパイプラインを強制します。
7
+ failproofaiには、エージェントの一般的な障害モードを検出する30種類の組み込みポリシーが付属しています。各ポリシーは特定のフックイベントタイプとツール名に対して動作します。9つのポリシーはコードを書くことなく動作を調整できるパラメーターを受け付けます。4つのワークフローポリシーは、Claudeが停止する前にコミット → プッシュ → PR → CIのパイプラインを強制します。
8
8
 
9
9
  ---
10
10
 
@@ -21,39 +21,40 @@ failproofai には、エージェントのよくある失敗パターンを検
21
21
  | [Git](#git) | block-push-master, block-work-on-main, block-force-push, warn-git-amend, warn-git-stash-drop, warn-all-files-staged | PreToolUse |
22
22
  | [データベース](#database) | warn-destructive-sql, warn-schema-alteration | PreToolUse |
23
23
  | [警告](#warnings) | warn-large-file-write, warn-package-publish, warn-background-process, warn-global-package-install | PreToolUse |
24
+ | [パッケージマネージャー](#package-managers) | prefer-package-manager | PreToolUse |
24
25
  | [ワークフロー](#workflow) | require-commit-before-stop, require-push-before-stop, require-pr-before-stop, require-ci-green-before-stop | Stop |
25
26
 
26
27
  - **`block-`** — エージェントの処理を停止します。
27
28
  - **`warn-`** — エージェントが自己修正できるよう追加のコンテキストを提供します。
28
- - **`sanitize-`** — エージェントが参照する前に、ツールの出力から機密データを除去します。
29
- - **`require-`** — 条件が満たされるまで Stop イベントをブロックします。
29
+ - **`sanitize-`** — エージェントが参照する前にツールの出力から機密データを除去します。
30
+ - **`require-`** — 条件が満たされるまでStopイベントをブロックします。
30
31
 
31
32
  ---
32
33
 
33
34
  <Tip>
34
- すべてのポリシーは `policyParams` にオプションの `hint` フィールドをサポートしています。hint は Claude が受け取る deny または instruct メッセージに追加され、ポリシーコードを変更することなく実用的なガイダンスを提供します。組み込み、カスタム、コンベンションポリシーいずれにも対応しています。詳細は [設定 → hint](/ja/configuration#hint-cross-cutting) を参照してください。
35
+ すべてのポリシーは`policyParams`でオプションの`hint`フィールドをサポートしています。ヒントはClaudeが参照するdenyまたはinstructメッセージに追加され、ポリシーコードを変更せずに実用的なガイダンスを提供します。組み込み、カスタム、規約ポリシーで動作します。詳細は[設定 → hint](/ja/configuration#hint-cross-cutting)を参照してください。
35
36
  </Tip>
36
37
 
37
38
  ---
38
39
 
39
- ## 危険なコマンド
40
+ ## 危険なコマンド {#dangerous-commands}
40
41
 
41
- 元に戻しにくい操作や、ホストシステムに損害を与える可能性のある操作をエージェントが実行するのを防ぎます。
42
+ 元に戻しにくい操作やホストシステムに損害を与える可能性のある操作をエージェントが実行しないようにします。
42
43
 
43
44
  ### `block-sudo`
44
45
 
45
- **イベント:** PreToolUse (Bash)
46
- **デフォルト:** `sudo` コマンドを含む呼び出しをすべて拒否します。
46
+ **イベント:** PreToolUse (Bash)
47
+ **デフォルト:** `sudo`コマンドをすべて拒否します。
47
48
 
48
- `sudo` キーワードを含む呼び出しをブロックします。パターンマッチングは生の文字列ではなく、パース済みのコマンドトークンに対して行われるため、シェル演算子インジェクションによるバイパスを防止します。
49
+ `sudo`キーワードを含む呼び出しをブロックします。パターンマッチングは生の文字列ではなく、解析されたコマンドトークンに対して行われるため、シェル演算子インジェクションによるバイパスを防ぎます。
49
50
 
50
- **パラメーター:**
51
+ **パラメーター:**
51
52
 
52
53
  | パラメーター | 型 | デフォルト | 説明 |
53
54
  |-------|------|---------|-------------|
54
- | `allowPatterns` | `string[]` | `[]` | 許可するコマンドの正確なプレフィックス。各エントリはパース済みの argv トークンと照合されます。 |
55
+ | `allowPatterns` | `string[]` | `[]` | 許可する正確なコマンドプレフィックス。各エントリは解析されたargvトークンと照合されます。 |
55
56
 
56
- **例:**
57
+ **例:**
57
58
 
58
59
  ```json
59
60
  {
@@ -65,26 +66,26 @@ failproofai には、エージェントのよくある失敗パターンを検
65
66
  }
66
67
  ```
67
68
 
68
- この設定では、`sudo systemctl status nginx` は許可されますが、`sudo rm /etc/hosts` は拒否されます。
69
+ この設定では`sudo systemctl status nginx`は許可されますが、`sudo rm /etc/hosts`は拒否されます。
69
70
 
70
71
  <Note>
71
- パターンはパース済みトークンと照合され、生のコマンド文字列とは照合されません。これにより、シェル演算子を付加したバイパス(例:`sudo systemctl status x; rm -rf /` は `sudo systemctl status *` にマッチしません)を防止します。
72
+ パターンは生のコマンド文字列ではなく、解析されたトークンと照合されます。これにより、シェル演算子を追加することによるバイパスを防ぎます(例:`sudo systemctl status x; rm -rf /`は`sudo systemctl status *`にマッチしません)。
72
73
  </Note>
73
74
 
74
75
  ---
75
76
 
76
77
  ### `block-rm-rf`
77
78
 
78
- **イベント:** PreToolUse (Bash)
79
- **デフォルト:** `rm -rf`、`rm -fr`、およびそれに類する再帰的削除の形式を拒否します。
79
+ **イベント:** PreToolUse (Bash)
80
+ **デフォルト:** `rm -rf`、`rm -fr`、およびそれに類する再帰的削除のパターンをすべて拒否します。
80
81
 
81
- **パラメーター:**
82
+ **パラメーター:**
82
83
 
83
84
  | パラメーター | 型 | デフォルト | 説明 |
84
85
  |-------|------|---------|-------------|
85
- | `allowPaths` | `string[]` | `[]` | 再帰的削除が安全なパス(例:`/tmp`)。 |
86
+ | `allowPaths` | `string[]` | `[]` | 再帰的に削除しても安全なパス(例:`/tmp`)。 |
86
87
 
87
- **例:**
88
+ **例:**
88
89
 
89
90
  ```json
90
91
  {
@@ -100,8 +101,8 @@ failproofai には、エージェントのよくある失敗パターンを検
100
101
 
101
102
  ### `block-curl-pipe-sh`
102
103
 
103
- **イベント:** PreToolUse (Bash)
104
- **デフォルト:** `curl <url> | bash`、`curl <url> | sh`、`wget <url> | bash` などのパターンを拒否します。
104
+ **イベント:** PreToolUse (Bash)
105
+ **デフォルト:** `curl <url> | bash`、`curl <url> | sh`、`wget <url> | bash`、およびそれに類するパターンをすべて拒否します。
105
106
 
106
107
  パラメーターなし。
107
108
 
@@ -109,21 +110,21 @@ failproofai には、エージェントのよくある失敗パターンを検
109
110
 
110
111
  ### `block-failproofai-commands`
111
112
 
112
- **イベント:** PreToolUse (Bash)
113
- **デフォルト:** failproofai 自体をアンインストールまたは無効化するコマンド(例:`npm uninstall failproofai`、`failproofai policies --uninstall`)を拒否します。
113
+ **イベント:** PreToolUse (Bash)
114
+ **デフォルト:** failproofai自体をアンインストールまたは無効化するコマンド(例:`npm uninstall failproofai`、`failproofai policies --uninstall`)を拒否します。
114
115
 
115
116
  パラメーターなし。
116
117
 
117
118
  ---
118
119
 
119
- ## シークレット(サニタイザー)
120
+ ## シークレット(サニタイザー) {#secrets-sanitizers}
120
121
 
121
- エージェントが認証情報をコンテキストや出力に漏洩するのを防ぎます。サニタイザーポリシーは **PostToolUse** イベントで発火します。Claude Bash コマンドを実行したり、ファイルを読み取ったり、何らかのツールを呼び出したりすると、これらのポリシーは Claude に返される前に出力を検査します。シークレットのパターンが検出された場合、ポリシーは deny の決定を返し、出力が Claude に渡されるのを防ぎます。
122
+ エージェントがコンテキストや出力に認証情報を漏洩しないようにします。サニタイザーポリシーは**PostToolUse**イベントで動作します。ClaudeがBashコマンドを実行したり、ファイルを読み取ったり、ツールを呼び出したりすると、これらのポリシーはClaudeに返される前に出力を検査します。シークレットのパターンが検出された場合、ポリシーはdeny決定を返し、出力が返されないようにします。
122
123
 
123
124
  ### `sanitize-jwt`
124
125
 
125
- **イベント:** PostToolUse (すべてのツール)
126
- **デフォルト:** JWT トークン(`.` で区切られた3つの base64url セグメント)を編集します。
126
+ **イベント:** PostToolUse(全ツール)
127
+ **デフォルト:** JWTトークン(`.`で区切られた3つのbase64urlセグメント)を削除します。
127
128
 
128
129
  パラメーターなし。
129
130
 
@@ -131,16 +132,16 @@ failproofai には、エージェントのよくある失敗パターンを検
131
132
 
132
133
  ### `sanitize-api-keys`
133
134
 
134
- **イベント:** PostToolUse (すべてのツール)
135
- **デフォルト:** 一般的な API キーのフォーマットを編集します:Anthropic (`sk-ant-`)、OpenAI (`sk-`)、GitHub PAT (`ghp_`)、AWS アクセスキー (`AKIA`)、Stripe キー (`sk_live_`、`sk_test_`)、Google API キー (`AIza`)。
135
+ **イベント:** PostToolUse(全ツール)
136
+ **デフォルト:** 一般的なAPIキー形式を削除します:Anthropic(`sk-ant-`)、OpenAI(`sk-`)、GitHub PAT(`ghp_`)、AWSアクセスキー(`AKIA`)、Stripeキー(`sk_live_`、`sk_test_`)、Google APIキー(`AIza`)。
136
137
 
137
- **パラメーター:**
138
+ **パラメーター:**
138
139
 
139
140
  | パラメーター | 型 | デフォルト | 説明 |
140
141
  |-------|------|---------|-------------|
141
142
  | `additionalPatterns` | `{ regex: string; label: string }[]` | `[]` | シークレットとして扱う追加の正規表現パターン。 |
142
143
 
143
- **例:**
144
+ **例:**
144
145
 
145
146
  ```json
146
147
  {
@@ -159,8 +160,8 @@ failproofai には、エージェントのよくある失敗パターンを検
159
160
 
160
161
  ### `sanitize-connection-strings`
161
162
 
162
- **イベント:** PostToolUse (すべてのツール)
163
- **デフォルト:** 認証情報が埋め込まれたデータベース接続文字列(例:`postgresql://user:password@host/db`)を編集します。
163
+ **イベント:** PostToolUse(全ツール)
164
+ **デフォルト:** 認証情報が埋め込まれたデータベース接続文字列(例:`postgresql://user:password@host/db`)を削除します。
164
165
 
165
166
  パラメーターなし。
166
167
 
@@ -168,8 +169,8 @@ failproofai には、エージェントのよくある失敗パターンを検
168
169
 
169
170
  ### `sanitize-private-key-content`
170
171
 
171
- **イベント:** PostToolUse (すべてのツール)
172
- **デフォルト:** PEM ブロック(`-----BEGIN PRIVATE KEY-----`、`-----BEGIN RSA PRIVATE KEY-----` など)を編集します。
172
+ **イベント:** PostToolUse(全ツール)
173
+ **デフォルト:** PEMブロック(`-----BEGIN PRIVATE KEY-----`、`-----BEGIN RSA PRIVATE KEY-----`など)を削除します。
173
174
 
174
175
  パラメーターなし。
175
176
 
@@ -177,23 +178,23 @@ failproofai には、エージェントのよくある失敗パターンを検
177
178
 
178
179
  ### `sanitize-bearer-tokens`
179
180
 
180
- **イベント:** PostToolUse (すべてのツール)
181
- **デフォルト:** トークンが20文字以上の `Authorization: Bearer <token>` ヘッダーを編集します。
181
+ **イベント:** PostToolUse(全ツール)
182
+ **デフォルト:** トークンが20文字以上の`Authorization: Bearer <token>`ヘッダーを削除します。
182
183
 
183
184
  パラメーターなし。
184
185
 
185
186
  ---
186
187
 
187
- ## 環境
188
+ ## 環境 {#environment}
188
189
 
189
- エージェントによる機密の環境設定の読み取りや露出を防ぎます。
190
+ エージェントによる機密環境設定の読み取りや露出を防ぎます。
190
191
 
191
192
  ### `block-env-files`
192
193
 
193
- **イベント:** PreToolUse (Bash, Read)
194
- **デフォルト:** `cat .env` や `.env` をファイルパスとした `Read` ツールの呼び出しなど、`.env` ファイルの読み取りを拒否します。
194
+ **イベント:** PreToolUse (Bash, Read)
195
+ **デフォルト:** `cat .env`、ファイルパスに`.env`を指定した`Read`ツール呼び出しなど、`.env`ファイルの読み取りを拒否します。
195
196
 
196
- `.envrc` や他の環境関連ファイルはブロックせず、`.env` という名前のファイルのみをブロックします。
197
+ `.envrc`やその他の環境関連ファイルはブロックしません。`.env`という名前のファイルのみが対象です。
197
198
 
198
199
  パラメーターなし。
199
200
 
@@ -201,29 +202,29 @@ failproofai には、エージェントのよくある失敗パターンを検
201
202
 
202
203
  ### `protect-env-vars`
203
204
 
204
- **イベント:** PreToolUse (Bash)
205
- **デフォルト:** `printenv`、`env`、`echo $VAR` など、環境変数を表示するコマンドを拒否します。
205
+ **イベント:** PreToolUse (Bash)
206
+ **デフォルト:** 環境変数を出力するコマンド(`printenv`、`env`、`echo $VAR`)を拒否します。
206
207
 
207
208
  パラメーターなし。
208
209
 
209
210
  ---
210
211
 
211
- ## ファイルアクセス
212
+ ## ファイルアクセス {#file-access}
212
213
 
213
- エージェントをプロジェクト境界内に留め、機密ファイルへのアクセスを防ぎます。
214
+ エージェントをプロジェクトの境界内に留め、機密ファイルへのアクセスを防ぎます。
214
215
 
215
216
  ### `block-read-outside-cwd`
216
217
 
217
- **イベント:** PreToolUse (Read, Bash)
218
- **デフォルト:** 現在の作業ディレクトリ(プロジェクトルート)外のファイルの読み取りを拒否します。
218
+ **イベント:** PreToolUse (Read, Bash)
219
+ **デフォルト:** カレントワーキングディレクトリ(プロジェクトルート)の外にあるファイルの読み取りを拒否します。
219
220
 
220
- **パラメーター:**
221
+ **パラメーター:**
221
222
 
222
223
  | パラメーター | 型 | デフォルト | 説明 |
223
224
  |-------|------|---------|-------------|
224
- | `allowPaths` | `string[]` | `[]` | cwd 外であっても許可する絶対パスのプレフィックス。 |
225
+ | `allowPaths` | `string[]` | `[]` | cwdの外でも許可する絶対パスのプレフィックス。 |
225
226
 
226
- **例:**
227
+ **例:**
227
228
 
228
229
  ```json
229
230
  {
@@ -239,16 +240,16 @@ failproofai には、エージェントのよくある失敗パターンを検
239
240
 
240
241
  ### `block-secrets-write`
241
242
 
242
- **イベント:** PreToolUse (Write, Edit)
243
- **デフォルト:** 秘密鍵や証明書によく使われるファイルへの書き込みを拒否します:`id_rsa`、`id_ed25519`、`*.key`、`*.pem`、`*.p12`、`*.pfx`。
243
+ **イベント:** PreToolUse (Write, Edit)
244
+ **デフォルト:** 秘密鍵や証明書によく使われるファイル(`id_rsa`、`id_ed25519`、`*.key`、`*.pem`、`*.p12`、`*.pfx`)への書き込みを拒否します。
244
245
 
245
- **パラメーター:**
246
+ **パラメーター:**
246
247
 
247
248
  | パラメーター | 型 | デフォルト | 説明 |
248
249
  |-------|------|---------|-------------|
249
250
  | `additionalPatterns` | `string[]` | `[]` | ブロックする追加のファイル名パターン(グロブ形式)。 |
250
251
 
251
- **例:**
252
+ **例:**
252
253
 
253
254
  ```json
254
255
  {
@@ -262,22 +263,22 @@ failproofai には、エージェントのよくある失敗パターンを検
262
263
 
263
264
  ---
264
265
 
265
- ## Git
266
+ ## Git {#git}
266
267
 
267
- 元に戻しにくい誤ったプッシュ、フォースプッシュ、ブランチの操作ミスを防ぎます。
268
+ 元に戻しにくい誤ったプッシュ、強制プッシュ、ブランチの操作ミスを防ぎます。
268
269
 
269
270
  ### `block-push-master`
270
271
 
271
- **イベント:** PreToolUse (Bash)
272
- **デフォルト:** `git push origin main` と `git push origin master` を拒否します。
272
+ **イベント:** PreToolUse (Bash)
273
+ **デフォルト:** `git push origin main`および`git push origin master`を拒否します。
273
274
 
274
- **パラメーター:**
275
+ **パラメーター:**
275
276
 
276
277
  | パラメーター | 型 | デフォルト | 説明 |
277
278
  |-------|------|---------|-------------|
278
279
  | `protectedBranches` | `string[]` | `["main", "master"]` | 直接プッシュできないブランチ名。 |
279
280
 
280
- **例:**
281
+ **例:**
281
282
 
282
283
  ```json
283
284
  {
@@ -290,17 +291,17 @@ failproofai には、エージェントのよくある失敗パターンを検
290
291
  ```
291
292
 
292
293
  <Tip>
293
- すべてのブランチへのプッシュを許可する(`enabledPolicies` からポリシーを削除せずに実質的に無効化する)には、`protectedBranches: []` を設定してください。
294
+ すべてのブランチへのプッシュを許可する(`enabledPolicies`からポリシーを削除せずに実質的に無効化する)には、`protectedBranches: []`を設定してください。
294
295
  </Tip>
295
296
 
296
297
  ---
297
298
 
298
299
  ### `block-work-on-main`
299
300
 
300
- **イベント:** PreToolUse (Bash)
301
- **デフォルト:** `main` または `master` ブランチへの直接チェックアウトを拒否します。
301
+ **イベント:** PreToolUse (Bash)
302
+ **デフォルト:** `main`または`master`ブランチへの直接チェックアウトを拒否します。
302
303
 
303
- **パラメーター:**
304
+ **パラメーター:**
304
305
 
305
306
  | パラメーター | 型 | デフォルト | 説明 |
306
307
  |-------|------|---------|-------------|
@@ -310,10 +311,10 @@ failproofai には、エージェントのよくある失敗パターンを検
310
311
 
311
312
  ### `block-force-push`
312
313
 
313
- **イベント:** PreToolUse (Bash)
314
- **デフォルト:** `git push --force` と `git push -f` を拒否します。
314
+ **イベント:** PreToolUse (Bash)
315
+ **デフォルト:** `git push --force`および`git push -f`を拒否します。
315
316
 
316
- ポリシー固有のパラメーターはありません。クロスカッティングの [`hint`](/ja/configuration#hint-cross-cutting) を使用して代替手段を提案できます:
317
+ ポリシー固有のパラメーターはありません。クロスカッティングの[`hint`](/ja/configuration#hint-cross-cutting)を使用して代替手段を提案できます:
317
318
 
318
319
  ```json
319
320
  {
@@ -329,8 +330,8 @@ failproofai には、エージェントのよくある失敗パターンを検
329
330
 
330
331
  ### `warn-git-amend`
331
332
 
332
- **イベント:** PreToolUse (Bash)
333
- **デフォルト:** `git commit --amend` を実行する際に慎重に進むよう Claude に指示します。コマンドはブロックしません。
333
+ **イベント:** PreToolUse (Bash)
334
+ **デフォルト:** `git commit --amend`を実行する際に慎重に進むようClaudeに指示します。コマンドはブロックしません。
334
335
 
335
336
  パラメーターなし。
336
337
 
@@ -338,8 +339,8 @@ failproofai には、エージェントのよくある失敗パターンを検
338
339
 
339
340
  ### `warn-git-stash-drop`
340
341
 
341
- **イベント:** PreToolUse (Bash)
342
- **デフォルト:** `git stash drop` を実行する前に確認するよう Claude に指示します。コマンドはブロックしません。
342
+ **イベント:** PreToolUse (Bash)
343
+ **デフォルト:** `git stash drop`を実行する前に確認するようClaudeに指示します。コマンドはブロックしません。
343
344
 
344
345
  パラメーターなし。
345
346
 
@@ -347,21 +348,21 @@ failproofai には、エージェントのよくある失敗パターンを検
347
348
 
348
349
  ### `warn-all-files-staged`
349
350
 
350
- **イベント:** PreToolUse (Bash)
351
- **デフォルト:** `git add -A` または `git add .` を実行する際に、ステージングする内容を確認するよう Claude に指示します。コマンドはブロックしません。
351
+ **イベント:** PreToolUse (Bash)
352
+ **デフォルト:** `git add -A`または`git add .`を実行する際にステージングする内容を確認するようClaudeに指示します。コマンドはブロックしません。
352
353
 
353
354
  パラメーターなし。
354
355
 
355
356
  ---
356
357
 
357
- ## データベース
358
+ ## データベース {#database}
358
359
 
359
- データベースに対して実行される前に、破壊的な SQL 操作を検出します。
360
+ データベースに対して実行される前に、破壊的なSQL操作を検出します。
360
361
 
361
362
  ### `warn-destructive-sql`
362
363
 
363
- **イベント:** PreToolUse (Bash)
364
- **デフォルト:** `DROP TABLE`、`DROP DATABASE`、または `WHERE` 句のない `DELETE` を含む SQL を実行する前に確認するよう Claude に指示します。
364
+ **イベント:** PreToolUse (Bash)
365
+ **デフォルト:** `DROP TABLE`、`DROP DATABASE`、または`WHERE`句のない`DELETE`を含むSQLを実行する前に確認するようClaudeに指示します。
365
366
 
366
367
  パラメーターなし。
367
368
 
@@ -369,29 +370,29 @@ failproofai には、エージェントのよくある失敗パターンを検
369
370
 
370
371
  ### `warn-schema-alteration`
371
372
 
372
- **イベント:** PreToolUse (Bash)
373
- **デフォルト:** `ALTER TABLE` 文を実行する前に確認するよう Claude に指示します。
373
+ **イベント:** PreToolUse (Bash)
374
+ **デフォルト:** `ALTER TABLE`文を実行する前に確認するようClaudeに指示します。
374
375
 
375
376
  パラメーターなし。
376
377
 
377
378
  ---
378
379
 
379
- ## 警告
380
+ ## 警告 {#warnings}
380
381
 
381
- 破壊的ではないが潜在的にリスクのある操作を行う前に、エージェントに追加のコンテキストを提供します。
382
+ 潜在的にリスクがあるものの非破壊的な操作の前に、エージェントに追加のコンテキストを提供します。
382
383
 
383
384
  ### `warn-large-file-write`
384
385
 
385
- **イベント:** PreToolUse (Write)
386
- **デフォルト:** 1024 KB を超えるファイルを書き込む前に確認するよう Claude に指示します。
386
+ **イベント:** PreToolUse (Write)
387
+ **デフォルト:** 1024 KBを超えるファイルを書き込む前に確認するようClaudeに指示します。
387
388
 
388
- **パラメーター:**
389
+ **パラメーター:**
389
390
 
390
391
  | パラメーター | 型 | デフォルト | 説明 |
391
392
  |-------|------|---------|-------------|
392
- | `thresholdKb` | `number` | `1024` | 警告が発行されるファイルサイズの閾値(キロバイト)。 |
393
+ | `thresholdKb` | `number` | `1024` | 警告が発生するファイルサイズのしきい値(キロバイト)。 |
393
394
 
394
- **例:**
395
+ **例:**
395
396
 
396
397
  ```json
397
398
  {
@@ -404,15 +405,15 @@ failproofai には、エージェントのよくある失敗パターンを検
404
405
  ```
405
406
 
406
407
  <Note>
407
- フックハンドラーはペイロードに対して 1 MB の stdin 制限を適用します。小さなコンテンツでこのポリシーをテストするには、`thresholdKb` を 1024 より十分に小さい値に設定してください。
408
+ フックハンドラーはペイロードに対してstdinの1 MB制限を適用します。小さなコンテンツでこのポリシーをテストするには、`thresholdKb`を1024より十分に小さい値に設定してください。
408
409
  </Note>
409
410
 
410
411
  ---
411
412
 
412
413
  ### `warn-package-publish`
413
414
 
414
- **イベント:** PreToolUse (Bash)
415
- **デフォルト:** `npm publish` を実行する前に確認するよう Claude に指示します。
415
+ **イベント:** PreToolUse (Bash)
416
+ **デフォルト:** `npm publish`を実行する前に確認するようClaudeに指示します。
416
417
 
417
418
  パラメーターなし。
418
419
 
@@ -420,8 +421,8 @@ failproofai には、エージェントのよくある失敗パターンを検
420
421
 
421
422
  ### `warn-background-process`
422
423
 
423
- **イベント:** PreToolUse (Bash)
424
- **デフォルト:** `nohup`、`&`、`disown`、`screen` を使用してバックグラウンドプロセスを起動する際に注意するよう Claude に指示します。
424
+ **イベント:** PreToolUse (Bash)
425
+ **デフォルト:** `nohup`、`&`、`disown`、または`screen`を使用してバックグラウンドプロセスを起動する際に注意するようClaudeに指示します。
425
426
 
426
427
  パラメーターなし。
427
428
 
@@ -429,36 +430,72 @@ failproofai には、エージェントのよくある失敗パターンを検
429
430
 
430
431
  ### `warn-global-package-install`
431
432
 
432
- **イベント:** PreToolUse (Bash)
433
- **デフォルト:** `npm install -g`、`yarn global add`、または仮想環境なしの `pip install` を実行する前に確認するよう Claude に指示します。
433
+ **イベント:** PreToolUse (Bash)
434
+ **デフォルト:** `npm install -g`、`yarn global add`、または仮想環境なしの`pip install`を実行する前に確認するようClaudeに指示します。
434
435
 
435
436
  パラメーターなし。
436
437
 
437
438
  ---
438
439
 
439
- ## AI の動作
440
+ ## パッケージマネージャー {#package-managers}
440
441
 
441
- エージェントが行き詰まっているか予期しない動作をしているかを検出します。
442
+ エージェントが使用できるパッケージマネージャーを制限します。
443
+
444
+ ### `prefer-package-manager`
445
+
446
+ **イベント:** PreToolUse (Bash)
447
+ **デフォルト:** 無効。有効にすると、`allowed`リストにないパッケージマネージャーコマンドをブロックし、許可されたマネージャーを使用してコマンドを書き直すようClaudeに指示します。
448
+
449
+ 検出対象:pip、pip3、python -m pip、npm、npx、yarn、pnpm、pnpx、bun、bunx、uv、poetry、pipenv、conda、cargo。
450
+
451
+ | パラメーター | 型 | デフォルト | 説明 |
452
+ |-----------|------|---------|-------------|
453
+ | `allowed` | string[] | `[]` | 許可するパッケージマネージャー名。このリストにない検出されたマネージャーはブロックされます。空の場合、ポリシーは何もしません。 |
454
+ | `blocked` | string[] | `[]` | 組み込みリストに加えてブロックするマネージャー名(例:`['pdm', 'pipx']`)。 |
455
+
456
+ 組み込みのブロックリストには以下が含まれます:pip、pip3、npm、npx、yarn、pnpm、pnpx、bun、bunx、uv、poetry、pipenv、conda、cargo。`blocked`を使用して、このリストにないマネージャーを追加できます。
457
+
458
+ **設定例:**
459
+
460
+ ```json
461
+ {
462
+ "enabledPolicies": ["prefer-package-manager"],
463
+ "policyParams": {
464
+ "prefer-package-manager": {
465
+ "allowed": ["uv", "bun"],
466
+ "blocked": ["pdm", "pipx"]
467
+ }
468
+ }
469
+ }
470
+ ```
471
+
472
+ この設定では、`pip install flask`と`pdm install flask`はどちらも拒否され、`uv`または`bun`を使用するよう指示されます。`uv pip install flask`のようなコマンドは`uv`がallowlistにあり最初にチェックされるため許可されます。
473
+
474
+ ---
475
+
476
+ ## AIの動作 {#ai-behavior}
477
+
478
+ エージェントが行き詰まったり予期しない動作をしたりするケースを検出します。
442
479
 
443
480
  ### `warn-repeated-tool-calls`
444
481
 
445
- **イベント:** PreToolUse (すべてのツール)
446
- **デフォルト:** 同じツールが同じパラメーターで3回以上呼び出された場合(エージェントがループで行き詰まっている一般的なサイン)に、再考するよう Claude に指示します。
482
+ **イベント:** PreToolUse(全ツール)
483
+ **デフォルト:** 同じツールが同じパラメーターで3回以上呼び出された場合(エージェントがループに陥っているよくある兆候)に再考するようClaudeに指示します。
447
484
 
448
485
  パラメーターなし。
449
486
 
450
487
  ---
451
488
 
452
- ## ワークフロー
489
+ ## ワークフロー {#workflow}
453
490
 
454
- セッション終了時の規律あるワークフローを強制します。これらのポリシーは **Stop** イベントで発火し、各条件が満たされるまで Claude の停止を拒否します。コミット → プッシュ → PR → CI という自然な依存関係の連鎖に従います。ポリシーが拒否すると、チェーン内の後続ポリシーはスキップされます(deny でショートサーキット)。
491
+ セッション終了時の規律あるワークフローを強制します。これらのポリシーは**Stop**イベントで動作し、各条件が満たされるまでClaudeの停止を拒否します。コミット → プッシュ → PR → CIという自然な依存チェーンに従います。ポリシーが拒否した場合、チェーン内の後続のポリシーはスキップされます(denyによるショートサーキット)。
455
492
 
456
- すべてのワークフローポリシーは **フェイルオープン** です:必要なツールが利用できない場合(例:`gh` がインストールされていない、git リモートがない)、ポリシーはチェックがスキップされた理由を説明する情報メッセージとともに許可します。
493
+ すべてのワークフローポリシーは**フェイルオープン**です:必要なツールが利用できない場合(例:`gh`がインストールされていない、gitリモートがない)、ポリシーはチェックがスキップされた理由を説明する情報メッセージとともに許可します。
457
494
 
458
495
  ### `require-commit-before-stop`
459
496
 
460
- **イベント:** Stop
461
- **デフォルト:** コミットされていない変更(変更済み、ステージ済み、または未追跡のファイル)がある場合に停止を拒否します。作業ディレクトリがクリーンな場合は情報メッセージを返します。
497
+ **イベント:** Stop
498
+ **デフォルト:** コミットされていない変更(変更済み、ステージ済み、または未追跡のファイル)がある場合に停止を拒否します。ワーキングディレクトリがクリーンな場合は情報メッセージを返します。
462
499
 
463
500
  パラメーターなし。
464
501
 
@@ -466,16 +503,16 @@ failproofai には、エージェントのよくある失敗パターンを検
466
503
 
467
504
  ### `require-push-before-stop`
468
505
 
469
- **イベント:** Stop
470
- **デフォルト:** プッシュされていないコミットがある場合、または現在のブランチにリモートトラッキングブランチがない場合に停止を拒否します。必要に応じてトラッキングブランチを作成するための `git push -u` を提案します。リモートが設定されていない場合はフェイルオープンします。
506
+ **イベント:** Stop
507
+ **デフォルト:** プッシュされていないコミットがある場合、または現在のブランチにリモートトラッキングブランチがない場合に停止を拒否します。必要に応じてトラッキングブランチを作成するために`git push -u`を提案します。リモートが設定されていない場合はフェイルオープンします。
471
508
 
472
- **パラメーター:**
509
+ **パラメーター:**
473
510
 
474
511
  | パラメーター | 型 | デフォルト | 説明 |
475
512
  |-------|------|---------|-------------|
476
513
  | `remote` | `string` | `"origin"` | プッシュ先のリモート名。 |
477
514
 
478
- **例:**
515
+ **例:**
479
516
 
480
517
  ```json
481
518
  {
@@ -491,28 +528,28 @@ failproofai には、エージェントのよくある失敗パターンを検
491
528
 
492
529
  ### `require-pr-before-stop`
493
530
 
494
- **イベント:** Stop
495
- **デフォルト:** 現在のブランチにプルリクエストが存在しない場合、または既存の PR がクローズ/マージ済みの場合に停止を拒否します。`gh pr create` で PR を作成するよう Claude に指示します。
531
+ **イベント:** Stop
532
+ **デフォルト:** 現在のブランチにプルリクエストが存在しない場合、または既存のPRがクローズ済み/マージ済みの場合に停止を拒否します。`gh pr create`でPRを作成するようClaudeに指示します。
496
533
 
497
534
  パラメーターなし。
498
535
 
499
536
  <Note>
500
- このポリシーには [GitHub CLI](https://cli.github.com/)(`gh`)のインストールと認証が必要です。
501
- プルリクエストへの読み取りアクセスのために `repo` スコープを持つパーソナルアクセストークンで `gh auth login` を実行してください。`gh` がインストールされていないか認証されていない場合、ポリシーはフェイルオープンし、その理由を Claude に報告します。
537
+ このポリシーには[GitHub CLI](https://cli.github.com/)(`gh`)のインストールと認証が必要です。
538
+ プルリクエストへの読み取りアクセスのために`repo`スコープを持つ個人アクセストークンで`gh auth login`を実行してください。`gh`がインストールされていないか認証されていない場合、ポリシーはフェイルオープンし、その理由をClaudeに報告します。
502
539
  </Note>
503
540
 
504
541
  ---
505
542
 
506
543
  ### `require-ci-green-before-stop`
507
544
 
508
- **イベント:** Stop
509
- **デフォルト:** 現在のブランチで CI チェックが失敗しているか、まだ実行中の場合に停止を拒否します。GitHub Actions のワークフロー実行とサードパーティのボットチェック(CodeRabbit、SonarCloud、Codecov など)の両方を確認します。`skipped` の結論は成功として扱います。すべてのチェックが通過した場合は情報メッセージを返します。
545
+ **イベント:** Stop
546
+ **デフォルト:** 現在のブランチでCIチェックが失敗または実行中の場合に停止を拒否します。GitHub Actionsのワークフロー実行とサードパーティのボットチェック(例:CodeRabbit、SonarCloud、Codecov)の両方を確認します。`skipped`および`cancelled`の結論は成功として扱います。すべてのチェックが通過した場合は情報メッセージを返します。
510
547
 
511
548
  パラメーターなし。
512
549
 
513
550
  <Note>
514
- このポリシーには [GitHub CLI](https://cli.github.com/)(`gh`)のインストールと認証が必要です。
515
- Actions ワークフロー実行および Checks API への読み取りアクセスのために `repo` スコープを持つパーソナルアクセストークンで `gh auth login` を実行してください。`gh` がインストールされていないか認証されていない場合、ポリシーはフェイルオープンし、その理由を Claude に報告します。
551
+ このポリシーには[GitHub CLI](https://cli.github.com/)(`gh`)のインストールと認証が必要です。
552
+ Actionsワークフロー実行とChecks APIへの読み取りアクセスのために`repo`スコープを持つ個人アクセストークンで`gh auth login`を実行してください。`gh`がインストールされていないか認証されていない場合、ポリシーはフェイルオープンし、その理由をClaudeに報告します。
516
553
  </Note>
517
554
 
518
555
  ---
@@ -521,7 +558,7 @@ Actions ワークフロー実行および Checks API への読み取りアクセ
521
558
 
522
559
  ## 個別ポリシーの無効化
523
560
 
524
- 設定の `enabledPolicies` から特定のポリシーを削除するか、ダッシュボードの「ポリシー」タブでオフに切り替えてください。
561
+ 設定の`enabledPolicies`から特定のポリシーを削除するか、ダッシュボードのPoliciesタブでオフに切り替えます。
525
562
 
526
563
  ```json
527
564
  {
@@ -532,4 +569,4 @@ Actions ワークフロー実行および Checks API への読み取りアクセ
532
569
  }
533
570
  ```
534
571
 
535
- `enabledPolicies` に記載されていないポリシーは、`policyParams` にエントリが存在していても実行されません。
572
+ `enabledPolicies`に記載されていないポリシーは、`policyParams`のエントリが存在しても実行されません。