failproofai 0.0.6-beta.1 → 0.0.6-beta.2

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 (160) 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]__0~kmh8w._.js → [root-of-the-server]__05akje6._.js} +2 -2
  53. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__092s1ta._.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]__0i5kvry._.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/{08t08igdql9yt.js → 00j0rr7rh8ef8.js} +1 -1
  71. package/.next/standalone/.next/static/chunks/{12~yi9oj8av8p.js → 05j1px0r8yzh6.js} +2 -2
  72. package/.next/standalone/.next/static/chunks/{09_k80d~cq2wg.js → 0badv41uxa56..js} +1 -1
  73. package/.next/standalone/.next/static/chunks/{0wlyoif4_kj_t.js → 0ijk_kek9_wyx.js} +1 -1
  74. package/.next/standalone/.next/static/chunks/{0bvhsa6zva2o..js → 0ksdlt_1hucdm.js} +1 -1
  75. package/.next/standalone/.next/static/chunks/{03rz6ykw-a2xi.js → 0npb~873.wvg3.js} +1 -1
  76. package/.next/standalone/.next/static/chunks/{01b~z8f1ws0rk.js → 0xpl.oscrakvx.js} +1 -1
  77. package/.next/standalone/.next/static/chunks/{0gbf4cphy8ksq.js → 1052sguyd-.ka.js} +1 -1
  78. package/.next/standalone/.next/static/chunks/{0v.yd0kg_ld3r.js → 14cl9poem30dq.js} +1 -1
  79. package/.next/standalone/CHANGELOG.md +11 -0
  80. package/.next/standalone/dist/cli.mjs +3 -3
  81. package/.next/standalone/docs/ar/built-in-policies.mdx +124 -87
  82. package/.next/standalone/docs/ar/custom-policies.mdx +72 -72
  83. package/.next/standalone/docs/ar/examples.mdx +86 -33
  84. package/.next/standalone/docs/ar/getting-started.mdx +82 -29
  85. package/.next/standalone/docs/built-in-policies.mdx +1 -1
  86. package/.next/standalone/docs/de/built-in-policies.mdx +93 -56
  87. package/.next/standalone/docs/de/custom-policies.mdx +56 -56
  88. package/.next/standalone/docs/de/examples.mdx +72 -18
  89. package/.next/standalone/docs/de/getting-started.mdx +72 -20
  90. package/.next/standalone/docs/es/built-in-policies.mdx +115 -78
  91. package/.next/standalone/docs/es/custom-policies.mdx +55 -55
  92. package/.next/standalone/docs/es/examples.mdx +73 -19
  93. package/.next/standalone/docs/es/getting-started.mdx +72 -20
  94. package/.next/standalone/docs/fr/built-in-policies.mdx +83 -46
  95. package/.next/standalone/docs/fr/custom-policies.mdx +51 -51
  96. package/.next/standalone/docs/fr/examples.mdx +78 -24
  97. package/.next/standalone/docs/fr/getting-started.mdx +65 -13
  98. package/.next/standalone/docs/he/built-in-policies.mdx +156 -117
  99. package/.next/standalone/docs/he/custom-policies.mdx +75 -75
  100. package/.next/standalone/docs/he/examples.mdx +87 -33
  101. package/.next/standalone/docs/he/getting-started.mdx +84 -33
  102. package/.next/standalone/docs/hi/built-in-policies.mdx +101 -60
  103. package/.next/standalone/docs/hi/custom-policies.mdx +71 -70
  104. package/.next/standalone/docs/hi/examples.mdx +90 -36
  105. package/.next/standalone/docs/hi/getting-started.mdx +80 -27
  106. package/.next/standalone/docs/i18n/README.ar.md +69 -69
  107. package/.next/standalone/docs/i18n/README.de.md +46 -46
  108. package/.next/standalone/docs/i18n/README.es.md +42 -42
  109. package/.next/standalone/docs/i18n/README.fr.md +39 -39
  110. package/.next/standalone/docs/i18n/README.he.md +83 -83
  111. package/.next/standalone/docs/i18n/README.hi.md +69 -69
  112. package/.next/standalone/docs/i18n/README.it.md +72 -72
  113. package/.next/standalone/docs/i18n/README.ja.md +71 -71
  114. package/.next/standalone/docs/i18n/README.ko.md +52 -52
  115. package/.next/standalone/docs/i18n/README.pt-br.md +44 -44
  116. package/.next/standalone/docs/i18n/README.ru.md +66 -66
  117. package/.next/standalone/docs/i18n/README.tr.md +82 -83
  118. package/.next/standalone/docs/i18n/README.vi.md +70 -71
  119. package/.next/standalone/docs/i18n/README.zh.md +51 -51
  120. package/.next/standalone/docs/it/built-in-policies.mdx +118 -81
  121. package/.next/standalone/docs/it/custom-policies.mdx +69 -69
  122. package/.next/standalone/docs/it/examples.mdx +93 -39
  123. package/.next/standalone/docs/it/getting-started.mdx +73 -21
  124. package/.next/standalone/docs/ja/built-in-policies.mdx +98 -61
  125. package/.next/standalone/docs/ja/custom-policies.mdx +71 -71
  126. package/.next/standalone/docs/ja/examples.mdx +76 -22
  127. package/.next/standalone/docs/ja/getting-started.mdx +65 -13
  128. package/.next/standalone/docs/ko/built-in-policies.mdx +137 -100
  129. package/.next/standalone/docs/ko/custom-policies.mdx +67 -67
  130. package/.next/standalone/docs/ko/examples.mdx +87 -33
  131. package/.next/standalone/docs/ko/getting-started.mdx +61 -9
  132. package/.next/standalone/docs/pt-br/built-in-policies.mdx +94 -57
  133. package/.next/standalone/docs/pt-br/custom-policies.mdx +56 -56
  134. package/.next/standalone/docs/pt-br/examples.mdx +78 -24
  135. package/.next/standalone/docs/pt-br/getting-started.mdx +64 -12
  136. package/.next/standalone/docs/ru/built-in-policies.mdx +142 -105
  137. package/.next/standalone/docs/ru/custom-policies.mdx +82 -81
  138. package/.next/standalone/docs/ru/examples.mdx +77 -22
  139. package/.next/standalone/docs/ru/getting-started.mdx +74 -22
  140. package/.next/standalone/docs/tr/built-in-policies.mdx +104 -67
  141. package/.next/standalone/docs/tr/custom-policies.mdx +59 -60
  142. package/.next/standalone/docs/tr/examples.mdx +97 -42
  143. package/.next/standalone/docs/tr/getting-started.mdx +75 -23
  144. package/.next/standalone/docs/vi/built-in-policies.mdx +110 -72
  145. package/.next/standalone/docs/vi/custom-policies.mdx +68 -68
  146. package/.next/standalone/docs/vi/examples.mdx +93 -38
  147. package/.next/standalone/docs/vi/getting-started.mdx +74 -22
  148. package/.next/standalone/docs/zh/built-in-policies.mdx +132 -95
  149. package/.next/standalone/docs/zh/custom-policies.mdx +49 -49
  150. package/.next/standalone/docs/zh/examples.mdx +90 -36
  151. package/.next/standalone/docs/zh/getting-started.mdx +73 -21
  152. package/.next/standalone/package.json +1 -1
  153. package/.next/standalone/server.js +1 -1
  154. package/.next/standalone/src/hooks/builtin-policies.ts +5 -1
  155. package/dist/cli.mjs +3 -3
  156. package/package.json +1 -1
  157. package/src/hooks/builtin-policies.ts +5 -1
  158. /package/.next/standalone/.next/static/{CkmOT-ZvDN-sVULinGVKT → A9pNTZdoYJTVyPAYwQMx5}/_buildManifest.js +0 -0
  159. /package/.next/standalone/.next/static/{CkmOT-ZvDN-sVULinGVKT → A9pNTZdoYJTVyPAYwQMx5}/_clientMiddlewareManifest.js +0 -0
  160. /package/.next/standalone/.next/static/{CkmOT-ZvDN-sVULinGVKT → A9pNTZdoYJTVyPAYwQMx5}/_ssgManifest.js +0 -0
@@ -1,5 +1,5 @@
1
1
  ---
2
- title: Per iniziare
2
+ title: Iniziare
3
3
  description: "Installa failproofai, abilita le policy e lascia che i tuoi agenti funzionino in modo affidabile"
4
4
  icon: rocket
5
5
  ---
@@ -7,7 +7,7 @@ icon: rocket
7
7
  ## Requisiti
8
8
 
9
9
  - **Node.js** >= 20.9.0
10
- - **Bun** >= 1.3.0 (facoltativo - necessario solo per la compilazione dal sorgente)
10
+ - **Bun** >= 1.3.0 (opzionale - necessario solo per compilare dal codice sorgente)
11
11
 
12
12
  ---
13
13
 
@@ -31,13 +31,13 @@ bun add -g failproofai
31
31
 
32
32
  <Steps>
33
33
  <Step title="Abilita le policy">
34
- Le policy sono regole che vengono eseguite prima e dopo ogni chiamata a uno strumento dell'agente. Intercettano comandi distruttivi, fughe di segreti e altre modalità di errore prima che causino danni.
34
+ Le policy sono regole che vengono eseguite prima e dopo ogni chiamata a uno strumento dell'agente. Catturano i comandi distruttivi, le perdite di segreti e altre modalità di guasto prima che causino danni.
35
35
 
36
36
  ```bash
37
37
  failproofai policies --install
38
38
  ```
39
39
 
40
- Questo scrive voci di hook nel file `settings.json` di Claude Code. Puoi anche installare per un singolo progetto o selezionare policy specifiche:
40
+ Questo scrive le entry di hook nel file `settings.json` di Claude Code. Puoi anche installare per un singolo progetto o selezionare policy specifiche:
41
41
 
42
42
  ```bash
43
43
  failproofai policies --install --scope project
@@ -49,17 +49,17 @@ bun add -g failproofai
49
49
  failproofai policies
50
50
  ```
51
51
 
52
- Mostra ogni policy, se è abilitata e tutti i parametri configurati.
52
+ Mostra ogni policy, se è abilitata e i parametri configurati.
53
53
  </Step>
54
- <Step title="Avvia il dashboard">
54
+ <Step title="Avvia la dashboard">
55
55
  ```bash
56
56
  failproofai
57
57
  ```
58
58
 
59
- Apre un dashboard locale su `http://localhost:8020` dove puoi esplorare le sessioni, ispezionare le chiamate agli strumenti e gestire le policy.
59
+ Apre una dashboard locale su `http://localhost:8020` dove puoi sfogliare le sessioni, ispezionare le chiamate agli strumenti e gestire le policy.
60
60
  </Step>
61
61
  <Step title="Esegui il tuo agente">
62
- Avvia Claude Code come al solito. Se l'agente tenta qualcosa di rischioso, failproofai lo intercetta automaticamente. Lascialo in esecuzione senza supervisione e rivedi cosa è accaduto nel dashboard.
62
+ Avvia Claude Code come al solito. Se l'agente tenta qualcosa di rischioso, failproofai lo intercetta automaticamente. Lascialo in esecuzione senza supervisione e rivedi quello che è accaduto nella dashboard.
63
63
  </Step>
64
64
  </Steps>
65
65
 
@@ -72,14 +72,14 @@ Ogni volta che un agente esegue uno strumento, Claude Code chiama failproofai co
72
72
  ```text
73
73
  Claude Code → failproofai --hook PreToolUse → legge JSON da stdin
74
74
  valuta le policy
75
- scrive la decisione su stdout
75
+ scrive la decisione in stdout
76
76
  ```
77
77
 
78
78
  Ogni policy restituisce una di tre decisioni:
79
79
 
80
80
  - **allow** - l'agente procede normalmente
81
81
  - **deny** - l'azione è bloccata, all'agente viene spiegato il motivo
82
- - **instruct** - viene aggiunto contesto aggiuntivo al prompt dell'agente
82
+ - **instruct** - contesto aggiuntivo viene aggiunto al prompt dell'agente
83
83
 
84
84
  <Note>
85
85
  Le policy vengono eseguite nel tuo processo locale. Nulla viene inviato a un servizio remoto.
@@ -87,17 +87,69 @@ Le policy vengono eseguite nel tuo processo locale. Nulla viene inviato a un ser
87
87
 
88
88
  ---
89
89
 
90
+ ## Configura policy di team con policy basate su convenzione
91
+
92
+ Il modo più veloce per stabilire standard di qualità in tutto il team è la convenzione `.failproofai/policies/`. Inserisci i file di policy in questa directory e vengono caricati automaticamente — nessun flag, nessuna modifica della configurazione, nessun comando di installazione.
93
+
94
+ <Steps>
95
+ <Step title="Crea la directory delle policy">
96
+ ```bash
97
+ mkdir -p .failproofai/policies
98
+ ```
99
+ </Step>
100
+ <Step title="Aggiungi file di policy">
101
+ Copia gli esempi iniziali o scrivi i tuoi:
102
+
103
+ ```bash
104
+ cp node_modules/failproofai/examples/convention-policies/*.mjs .failproofai/policies/
105
+ ```
106
+
107
+ Oppure creane uno nuovo:
108
+
109
+ ```js
110
+ // .failproofai/policies/team-policies.mjs
111
+ import { customPolicies, allow, deny, instruct } from "failproofai";
112
+
113
+ customPolicies.add({
114
+ name: "test-before-commit",
115
+ match: { events: ["PreToolUse"] },
116
+ fn: async (ctx) => {
117
+ if (ctx.toolName !== "Bash") return allow();
118
+ if (/git\s+commit/.test(ctx.toolInput?.command ?? "")) {
119
+ return instruct("Esegui i test prima di eseguire il commit.");
120
+ }
121
+ return allow();
122
+ },
123
+ });
124
+ ```
125
+ </Step>
126
+ <Step title="Esegui il commit su git">
127
+ ```bash
128
+ git add .failproofai/policies/
129
+ git commit -m "Add team quality policies"
130
+ ```
131
+
132
+ Ogni membro del team che ha failproofai installato raccoglie automaticamente queste policy. Non è necessaria alcuna configurazione per sviluppatore.
133
+ </Step>
134
+ </Steps>
135
+
136
+ <Tip>
137
+ Esegui il commit di `.failproofai/policies/` nel tuo repository in modo che l'intero team condivida gli stessi standard. Man mano che il tuo team scopre nuove modalità di guasto, aggiungi policy e esegui il push — tutti ricevono l'aggiornamento al prossimo `git pull`. Nel tempo queste policy diventano uno standard di qualità vivo che continua a migliorare.
138
+ </Tip>
139
+
140
+ ---
141
+
90
142
  ## Archiviazione dei dati
91
143
 
92
144
  Tutta la configurazione e i log rimangono sul tuo computer:
93
145
 
94
- | Percorso | Cosa archivia |
95
- |----------|---------------|
146
+ | Percorso | Cosa conserva |
147
+ |------|----------------|
96
148
  | `~/.failproofai/policies-config.json` | Configurazione globale delle policy |
97
- | `~/.failproofai/hook-activity.jsonl` | Cronologia dell'esecuzione degli hook |
98
- | `~/.failproofai/hook.log` | Log di debug per errori hook personalizzati |
99
- | `.failproofai/policies-config.json` | Configurazione per progetto (committed) |
100
- | `.failproofai/policies-config.local.json` | Personalizzazioni personali (gitignored) |
149
+ | `~/.failproofai/hook-activity.jsonl` | Cronologia dell'esecuzione dei hook |
150
+ | `~/.failproofai/hook.log` | Log di debug per gli errori dei hook personalizzati |
151
+ | `.failproofai/policies-config.json` | Configurazione per progetto (sottoposta a commit) |
152
+ | `.failproofai/policies-config.local.json` | Override personali (gitignored) |
101
153
 
102
154
  ---
103
155
 
@@ -107,16 +159,16 @@ Tutta la configurazione e i log rimangono sul tuo computer:
107
159
  failproofai policies --uninstall
108
160
  ```
109
161
 
110
- Rimuove le voci di hook da `~/.claude/settings.json`. I file di configurazione in `~/.failproofai/` vengono conservati.
162
+ Rimuove le entry di hook da `~/.claude/settings.json`. I file di configurazione in `~/.failproofai/` vengono mantenuti.
111
163
 
112
164
  ---
113
165
 
114
- ## Prossimi passaggi
166
+ ## Passaggi successivi
115
167
 
116
168
  <CardGroup cols={2}>
117
169
 
118
170
  <Card title="Configurazione" icon="gear" href="/it/configuration">
119
- Scope e formato del file di configurazione
171
+ Ambiti e formato del file di configurazione
120
172
  </Card>
121
173
 
122
174
  <Card title="Policy integrate" icon="shield" href="/it/built-in-policies">
@@ -127,8 +179,8 @@ Rimuove le voci di hook da `~/.claude/settings.json`. I file di configurazione i
127
179
  Scrivi le tue policy in JavaScript
128
180
  </Card>
129
181
 
130
- <Card title="Monitor agente" icon="chart-line" href="/it/dashboard">
131
- Monitora le sessioni e esamina l'attività delle policy
182
+ <Card title="Monitore agente" icon="chart-line" href="/it/dashboard">
183
+ Monitora le sessioni e rivedi l'attività delle policy
132
184
  </Card>
133
185
 
134
186
  </CardGroup>
@@ -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,37 +21,38 @@ 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
- - **`block-`** — エージェントの処理を停止します。
27
- - **`warn-`** — エージェントが自己修正できるよう追加のコンテキストを提供します。
28
- - **`sanitize-`** — エージェントが参照する前に、ツールの出力から機密データを除去します。
29
- - **`require-`** — 条件が満たされるまで Stop イベントをブロックします。
27
+ - **`block-`** — エージェントの処理を停止する。
28
+ - **`warn-`** — エージェントが自己修正できるよう追加のコンテキストを提供する。
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` フィールドをサポートしています。hint は Claude が受け取る deny または instruct メッセージに追加され、ポリシーコードを変更せずに実行可能なガイダンスを提供します。組み込み、カスタム、コンベンションポリシーで使用できます。詳細は [設定 → hint](/ja/configuration#hint-cross-cutting) を参照してください。
35
36
  </Tip>
36
37
 
37
38
  ---
38
39
 
39
40
  ## 危険なコマンド
40
41
 
41
- 元に戻しにくい操作や、ホストシステムに損害を与える可能性のある操作をエージェントが実行するのを防ぎます。
42
+ 取り消しが困難な操作や、ホストシステムに損害を与える可能性のある操作をエージェントが実行するのを防ぎます。
42
43
 
43
44
  ### `block-sudo`
44
45
 
45
46
  **イベント:** PreToolUse (Bash)
46
- **デフォルト:** `sudo` コマンドを含む呼び出しをすべて拒否します。
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
 
@@ -68,7 +69,7 @@ failproofai には、エージェントのよくある失敗パターンを検
68
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
  ---
@@ -76,13 +77,13 @@ failproofai には、エージェントのよくある失敗パターンを検
76
77
  ### `block-rm-rf`
77
78
 
78
79
  **イベント:** PreToolUse (Bash)
79
- **デフォルト:** `rm -rf`、`rm -fr`、およびそれに類する再帰的削除の形式を拒否します。
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
 
@@ -101,7 +102,7 @@ failproofai には、エージェントのよくある失敗パターンを検
101
102
  ### `block-curl-pipe-sh`
102
103
 
103
104
  **イベント:** PreToolUse (Bash)
104
- **デフォルト:** `curl <url> | bash`、`curl <url> | sh`、`wget <url> | bash` などのパターンを拒否します。
105
+ **デフォルト:** `curl <url> | bash`、`curl <url> | sh`、`wget <url> | bash`、およびそれに類似したパターンを拒否します。
105
106
 
106
107
  パラメーターなし。
107
108
 
@@ -118,12 +119,12 @@ failproofai には、エージェントのよくある失敗パターンを検
118
119
 
119
120
  ## シークレット(サニタイザー)
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,8 +132,8 @@ 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
 
@@ -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,8 +178,8 @@ 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
 
@@ -186,14 +187,14 @@ failproofai には、エージェントのよくある失敗パターンを検
186
187
 
187
188
  ## 環境
188
189
 
189
- エージェントによる機密の環境設定の読み取りや露出を防ぎます。
190
+ エージェントによる機密環境設定の読み取りや漏洩を保護します。
190
191
 
191
192
  ### `block-env-files`
192
193
 
193
194
  **イベント:** PreToolUse (Bash, Read)
194
- **デフォルト:** `cat .env` や `.env` をファイルパスとした `Read` ツールの呼び出しなど、`.env` ファイルの読み取りを拒否します。
195
+ **デフォルト:** `cat .env` や `.env` をファイルパスとした `Read` ツール呼び出しなど、`.env` ファイルの読み取りを拒否します。
195
196
 
196
- `.envrc` や他の環境関連ファイルはブロックせず、`.env` という名前のファイルのみをブロックします。
197
+ `.envrc` やその他の環境関連ファイルはブロックしません。正確に `.env` という名前のファイルのみが対象です。
197
198
 
198
199
  パラメーターなし。
199
200
 
@@ -202,7 +203,7 @@ failproofai には、エージェントのよくある失敗パターンを検
202
203
  ### `protect-env-vars`
203
204
 
204
205
  **イベント:** PreToolUse (Bash)
205
- **デフォルト:** `printenv`、`env`、`echo $VAR` など、環境変数を表示するコマンドを拒否します。
206
+ **デフォルト:** 環境変数を出力するコマンド(`printenv`、`env`、`echo $VAR`)を拒否します。
206
207
 
207
208
  パラメーターなし。
208
209
 
@@ -210,18 +211,18 @@ failproofai には、エージェントのよくある失敗パターンを検
210
211
 
211
212
  ## ファイルアクセス
212
213
 
213
- エージェントをプロジェクト境界内に留め、機密ファイルへのアクセスを防ぎます。
214
+ エージェントをプロジェクトの境界内に留め、機密ファイルへのアクセスを防ぎます。
214
215
 
215
216
  ### `block-read-outside-cwd`
216
217
 
217
218
  **イベント:** PreToolUse (Read, Bash)
218
- **デフォルト:** 現在の作業ディレクトリ(プロジェクトルート)外のファイルの読み取りを拒否します。
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
 
@@ -240,13 +241,13 @@ failproofai には、エージェントのよくある失敗パターンを検
240
241
  ### `block-secrets-write`
241
242
 
242
243
  **イベント:** PreToolUse (Write, Edit)
243
- **デフォルト:** 秘密鍵や証明書によく使われるファイルへの書き込みを拒否します:`id_rsa`、`id_ed25519`、`*.key`、`*.pem`、`*.p12`、`*.pfx`。
244
+ **デフォルト:** 秘密鍵や証明書によく使用されるファイルへの書き込みを拒否します:`id_rsa`、`id_ed25519`、`*.key`、`*.pem`、`*.p12`、`*.pfx`。
244
245
 
245
246
  **パラメーター:**
246
247
 
247
248
  | パラメーター | 型 | デフォルト | 説明 |
248
249
  |-------|------|---------|-------------|
249
- | `additionalPatterns` | `string[]` | `[]` | ブロックする追加のファイル名パターン(グロブ形式)。 |
250
+ | `additionalPatterns` | `string[]` | `[]` | ブロックする追加のファイル名パターン(glob形式)。 |
250
251
 
251
252
  **例:**
252
253
 
@@ -264,12 +265,12 @@ failproofai には、エージェントのよくある失敗パターンを検
264
265
 
265
266
  ## Git
266
267
 
267
- 元に戻しにくい誤ったプッシュ、フォースプッシュ、ブランチの操作ミスを防ぎます。
268
+ 取り消しが困難な誤ったプッシュ、フォースプッシュ、ブランチ操作を防ぎます。
268
269
 
269
270
  ### `block-push-master`
270
271
 
271
272
  **イベント:** PreToolUse (Bash)
272
- **デフォルト:** `git push origin main` `git push origin master` を拒否します。
273
+ **デフォルト:** `git push origin main` および `git push origin master` を拒否します。
273
274
 
274
275
  **パラメーター:**
275
276
 
@@ -311,7 +312,7 @@ failproofai には、エージェントのよくある失敗パターンを検
311
312
  ### `block-force-push`
312
313
 
313
314
  **イベント:** PreToolUse (Bash)
314
- **デフォルト:** `git push --force` `git push -f` を拒否します。
315
+ **デフォルト:** `git push --force` および `git push -f` を拒否します。
315
316
 
316
317
  ポリシー固有のパラメーターはありません。クロスカッティングの [`hint`](/ja/configuration#hint-cross-cutting) を使用して代替手段を提案できます:
317
318
 
@@ -330,7 +331,7 @@ failproofai には、エージェントのよくある失敗パターンを検
330
331
  ### `warn-git-amend`
331
332
 
332
333
  **イベント:** PreToolUse (Bash)
333
- **デフォルト:** `git commit --amend` を実行する際に慎重に進むよう Claude に指示します。コマンドはブロックしません。
334
+ **デフォルト:** `git commit --amend` の実行時に注意して進むよう Claude に指示します。コマンドはブロックしません。
334
335
 
335
336
  パラメーターなし。
336
337
 
@@ -339,7 +340,7 @@ failproofai には、エージェントのよくある失敗パターンを検
339
340
  ### `warn-git-stash-drop`
340
341
 
341
342
  **イベント:** PreToolUse (Bash)
342
- **デフォルト:** `git stash drop` を実行する前に確認するよう Claude に指示します。コマンドはブロックしません。
343
+ **デフォルト:** `git stash drop` の実行前に確認するよう Claude に指示します。コマンドはブロックしません。
343
344
 
344
345
  パラメーターなし。
345
346
 
@@ -356,7 +357,7 @@ failproofai には、エージェントのよくある失敗パターンを検
356
357
 
357
358
  ## データベース
358
359
 
359
- データベースに対して実行される前に、破壊的な SQL 操作を検出します。
360
+ 破壊的な SQL 操作がデータベースに対して実行される前に検出します。
360
361
 
361
362
  ### `warn-destructive-sql`
362
363
 
@@ -370,7 +371,7 @@ failproofai には、エージェントのよくある失敗パターンを検
370
371
  ### `warn-schema-alteration`
371
372
 
372
373
  **イベント:** PreToolUse (Bash)
373
- **デフォルト:** `ALTER TABLE` 文を実行する前に確認するよう Claude に指示します。
374
+ **デフォルト:** `ALTER TABLE` ステートメントを実行する前に確認するよう Claude に指示します。
374
375
 
375
376
  パラメーターなし。
376
377
 
@@ -378,7 +379,7 @@ failproofai には、エージェントのよくある失敗パターンを検
378
379
 
379
380
  ## 警告
380
381
 
381
- 破壊的ではないが潜在的にリスクのある操作を行う前に、エージェントに追加のコンテキストを提供します。
382
+ 潜在的にリスクはあるが破壊的ではない操作の前に、エージェントに追加のコンテキストを提供します。
382
383
 
383
384
  ### `warn-large-file-write`
384
385
 
@@ -389,7 +390,7 @@ failproofai には、エージェントのよくある失敗パターンを検
389
390
 
390
391
  | パラメーター | 型 | デフォルト | 説明 |
391
392
  |-------|------|---------|-------------|
392
- | `thresholdKb` | `number` | `1024` | 警告が発行されるファイルサイズの閾値(キロバイト)。 |
393
+ | `thresholdKb` | `number` | `1024` | 警告が発生するファイルサイズのしきい値(キロバイト)。 |
393
394
 
394
395
  **例:**
395
396
 
@@ -404,7 +405,7 @@ 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
  ---
@@ -421,7 +422,7 @@ failproofai には、エージェントのよくある失敗パターンを検
421
422
  ### `warn-background-process`
422
423
 
423
424
  **イベント:** PreToolUse (Bash)
424
- **デフォルト:** `nohup`、`&`、`disown`、`screen` を使用してバックグラウンドプロセスを起動する際に注意するよう Claude に指示します。
425
+ **デフォルト:** `nohup`、`&`、`disown`、または `screen` を使用してバックグラウンドプロセスを起動する際に注意するよう Claude に指示します。
425
426
 
426
427
  パラメーターなし。
427
428
 
@@ -436,14 +437,50 @@ failproofai には、エージェントのよくある失敗パターンを検
436
437
 
437
438
  ---
438
439
 
440
+ ## パッケージマネージャー
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` を使用するよう Claude に通知されます。`uv pip install flask` のようなコマンドは、`uv` が allowlist に含まれており最初にチェックされるため許可されます。
473
+
474
+ ---
475
+
439
476
  ## AI の動作
440
477
 
441
- エージェントが行き詰まっているか予期しない動作をしているかを検出します。
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
 
@@ -451,14 +488,14 @@ failproofai には、エージェントのよくある失敗パターンを検
451
488
 
452
489
  ## ワークフロー
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
497
  **イベント:** Stop
461
- **デフォルト:** コミットされていない変更(変更済み、ステージ済み、または未追跡のファイル)がある場合に停止を拒否します。作業ディレクトリがクリーンな場合は情報メッセージを返します。
498
+ **デフォルト:** コミットされていない変更(変更済み、ステージング済み、または未追跡のファイル)がある場合に停止を拒否します。ワーキングディレクトリがクリーンな場合は情報メッセージを返します。
462
499
 
463
500
  パラメーターなし。
464
501
 
@@ -467,7 +504,7 @@ failproofai には、エージェントのよくある失敗パターンを検
467
504
  ### `require-push-before-stop`
468
505
 
469
506
  **イベント:** Stop
470
- **デフォルト:** プッシュされていないコミットがある場合、または現在のブランチにリモートトラッキングブランチがない場合に停止を拒否します。必要に応じてトラッキングブランチを作成するための `git push -u` を提案します。リモートが設定されていない場合はフェイルオープンします。
507
+ **デフォルト:** プッシュされていないコミットがある場合、または現在のブランチにリモートトラッキングブランチがない場合に停止を拒否します。必要に応じてトラッキングブランチを作成するために `git push -u` を提案します。リモートが設定されていない場合はフェイルオープンします。
471
508
 
472
509
  **パラメーター:**
473
510
 
@@ -492,13 +529,13 @@ failproofai には、エージェントのよくある失敗パターンを検
492
529
  ### `require-pr-before-stop`
493
530
 
494
531
  **イベント:** Stop
495
- **デフォルト:** 現在のブランチにプルリクエストが存在しない場合、または既存の PR がクローズ/マージ済みの場合に停止を拒否します。`gh pr create` で PR を作成するよう Claude に指示します。
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
  ---
@@ -506,13 +543,13 @@ failproofai には、エージェントのよくある失敗パターンを検
506
543
  ### `require-ci-green-before-stop`
507
544
 
508
545
  **イベント:** Stop
509
- **デフォルト:** 現在のブランチで CI チェックが失敗しているか、まだ実行中の場合に停止を拒否します。GitHub Actions のワークフロー実行とサードパーティのボットチェック(CodeRabbit、SonarCloud、Codecov など)の両方を確認します。`skipped` の結論は成功として扱います。すべてのチェックが通過した場合は情報メッセージを返します。
546
+ **デフォルト:** 現在のブランチで CI チェックが失敗中またはまだ実行中の場合に停止を拒否します。GitHub Actions のワークフロー実行とサードパーティのボットチェック(例:CodeRabbit、SonarCloud、Codecov)の両方を確認します。`skipped` の結論は成功として扱います。すべてのチェックが通過した場合は情報メッセージを返します。
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` にエントリが存在していても実行されません。