@aramassa/ai-rules 0.9.6 → 0.9.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifact/agents/agent-creation.agent.md +8 -0
- package/artifact/instructions/git-rules.md +8 -0
- package/artifact/instructions/rules/test/e2e-cmd.md +323 -0
- package/artifact/prompts/development/plan-fix.prompt.md +25 -4
- package/artifact/prompts/github-copilot/copilot-agent-environment.prompt.md +462 -0
- package/package.json +1 -1
- package/presets/prompts/github-copilot-agent.yaml +15 -0
|
@@ -304,6 +304,14 @@ In case of naming conflicts, lowest level takes precedence:
|
|
|
304
304
|
2. Organization-level agent
|
|
305
305
|
3. Enterprise-level agent (lowest priority)
|
|
306
306
|
|
|
307
|
+
### Automation Considerations
|
|
308
|
+
|
|
309
|
+
**Avoid using `/dev/null` in agent prompts or tool configurations:**
|
|
310
|
+
- Using `/dev/null` can cause automation workflows to stop or hang
|
|
311
|
+
- This is particularly problematic in CI/CD pipelines and automated testing
|
|
312
|
+
- Instead, use proper output handling or logging mechanisms
|
|
313
|
+
- If output suppression is needed, use tool-specific options or environment configurations
|
|
314
|
+
|
|
307
315
|
## MCP Server Configuration (Organization/Enterprise Only)
|
|
308
316
|
|
|
309
317
|
### Basic MCP Server Setup
|
|
@@ -145,3 +145,11 @@ main
|
|
|
145
145
|
2. **CI/CD安定性**: パイプラインの失敗率低下
|
|
146
146
|
3. **開発効率**: 明確なプロセス定義による作業手順統一
|
|
147
147
|
4. **パッケージ品質**: npm publishable な状態の維持
|
|
148
|
+
|
|
149
|
+
## ブランチのクリーンアップ(リモートで削除済みのみ)
|
|
150
|
+
|
|
151
|
+
リモートで削除されたブランチだけをローカルから削除し、ローカルでのみ存在するブランチは残す。
|
|
152
|
+
|
|
153
|
+
```
|
|
154
|
+
git fetch --prune && git branch -vv | grep ': gone]' | awk '{print $1}' | xargs -r git branch -D
|
|
155
|
+
```
|
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: test
|
|
3
|
+
category: e2e-test
|
|
4
|
+
focus: command-line-testing
|
|
5
|
+
applyTo: "todo_plans/**/e2e-cmd.md"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# E2E コマンドラインテスト計画ガイドライン
|
|
9
|
+
|
|
10
|
+
## 概要
|
|
11
|
+
|
|
12
|
+
このドキュメントは、`todo_plans/${ISSUE_NUMBER}/e2e-cmd.md` ファイルに記載すべき E2E テストの追加/更新/削除内容に関するガイドラインです。
|
|
13
|
+
|
|
14
|
+
## 基本原則
|
|
15
|
+
|
|
16
|
+
### コマンドライン完結の原則
|
|
17
|
+
|
|
18
|
+
**E2E テストは、原則としてコマンドライン(CLI)上で完結するもののみを対象とします。**
|
|
19
|
+
|
|
20
|
+
**対象となるテスト**:
|
|
21
|
+
- CLI ツールの動作確認
|
|
22
|
+
- API サーバーの HTTP リクエスト/レスポンス検証(curl、httpie などを使用)
|
|
23
|
+
- ビルドプロセスの実行確認
|
|
24
|
+
- スクリプトの実行と出力検証
|
|
25
|
+
- ファイル操作の確認
|
|
26
|
+
|
|
27
|
+
**対象外となるテスト**:
|
|
28
|
+
- ブラウザ UI のインタラクション(Playwright、Selenium などを使うもの)
|
|
29
|
+
- デスクトップアプリケーションの GUI 操作
|
|
30
|
+
- モバイルアプリケーションのテスト
|
|
31
|
+
- コマンドラインから実行できないインタラクティブな操作
|
|
32
|
+
|
|
33
|
+
### なぜコマンドライン完結なのか
|
|
34
|
+
|
|
35
|
+
- **再現性**: コマンドは完全に記録でき、誰でも同じ手順で実行可能
|
|
36
|
+
- **自動化**: CI/CD パイプラインで容易に実行可能
|
|
37
|
+
- **保守性**: テストスクリプトがシンプルで理解しやすい
|
|
38
|
+
- **環境依存性の最小化**: ブラウザやGUIツールのバージョン差異を避けられる
|
|
39
|
+
|
|
40
|
+
## e2e-cmd.md の記載内容
|
|
41
|
+
|
|
42
|
+
### ファイル構成
|
|
43
|
+
|
|
44
|
+
`todo_plans/${ISSUE_NUMBER}/e2e-cmd.md` ファイルには、以下の内容を記載します:
|
|
45
|
+
|
|
46
|
+
```markdown
|
|
47
|
+
# E2E テスト計画: [機能名]
|
|
48
|
+
|
|
49
|
+
## 追加すべきテスト
|
|
50
|
+
|
|
51
|
+
### テスト1: [テスト名]
|
|
52
|
+
- **目的**: [何を検証するか]
|
|
53
|
+
- **対象ファイル**: [プロジェクトルートからのフルパス]
|
|
54
|
+
- **コマンド**:
|
|
55
|
+
```bash
|
|
56
|
+
# セットアップ
|
|
57
|
+
npm run build
|
|
58
|
+
|
|
59
|
+
# テスト実行
|
|
60
|
+
./dist/cli.js command --option value
|
|
61
|
+
|
|
62
|
+
# 期待する結果
|
|
63
|
+
# - 終了コード: 0
|
|
64
|
+
# - 標準出力: "Success message"
|
|
65
|
+
```
|
|
66
|
+
- **検証ポイント**:
|
|
67
|
+
- [ ] 終了コードが正しい
|
|
68
|
+
- [ ] 標準出力/標準エラー出力が期待通り
|
|
69
|
+
- [ ] ファイル生成が正しく行われる
|
|
70
|
+
|
|
71
|
+
## 更新すべきテスト
|
|
72
|
+
|
|
73
|
+
### テスト2: [既存テスト名]
|
|
74
|
+
- **現在の問題**: [なぜ更新が必要か]
|
|
75
|
+
- **対象ファイル**: docs-ai/e2e-test/[既存ファイル名]
|
|
76
|
+
- **変更内容**:
|
|
77
|
+
- 変更前: `old command`
|
|
78
|
+
- 変更後: `new command --new-option`
|
|
79
|
+
- **理由**: [変更理由]
|
|
80
|
+
|
|
81
|
+
## 削除すべきテスト
|
|
82
|
+
|
|
83
|
+
### テスト3: [削除するテスト名]
|
|
84
|
+
- **対象ファイル**: docs-ai/e2e-test/[ファイル名]
|
|
85
|
+
- **削除理由**: [なぜ不要になったか]
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### 記載のポイント
|
|
89
|
+
|
|
90
|
+
#### 1. 追加すべきテスト
|
|
91
|
+
|
|
92
|
+
新機能や改善により、新たに動作確認が必要になったテストを記載します。
|
|
93
|
+
|
|
94
|
+
**必須項目**:
|
|
95
|
+
- テスト名(何をテストするか明確に)
|
|
96
|
+
- 目的(このテストで何を保証するか)
|
|
97
|
+
- 対象ファイル(プロジェクトルートからのフルパス)
|
|
98
|
+
- 実行コマンド(コピペで実行可能な形式)
|
|
99
|
+
- 検証ポイント(チェックリスト形式)
|
|
100
|
+
|
|
101
|
+
**良い例**:
|
|
102
|
+
```markdown
|
|
103
|
+
### テスト: CLI のヘルプ表示
|
|
104
|
+
|
|
105
|
+
- **目的**: CLI が正しくヘルプメッセージを表示することを確認
|
|
106
|
+
- **対象ファイル**: packages/cli/dist/index.js
|
|
107
|
+
- **コマンド**:
|
|
108
|
+
```bash
|
|
109
|
+
cd /home/runner/work/ai-rules/ai-rules
|
|
110
|
+
./packages/cli/dist/index.js --help
|
|
111
|
+
```
|
|
112
|
+
- **検証ポイント**:
|
|
113
|
+
- [ ] 終了コード 0
|
|
114
|
+
- [ ] 使用方法が表示される
|
|
115
|
+
- [ ] オプション一覧が表示される
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
**悪い例**:
|
|
119
|
+
```markdown
|
|
120
|
+
### ヘルプのテスト
|
|
121
|
+
- ヘルプが表示されることを確認
|
|
122
|
+
- コマンド: `cli --help`
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
#### 2. 更新すべきテスト
|
|
126
|
+
|
|
127
|
+
既存の E2E テストの変更が必要な場合に記載します。
|
|
128
|
+
|
|
129
|
+
**記載すべき内容**:
|
|
130
|
+
- 既存テストファイルのフルパス(docs-ai/e2e-test/ 配下)
|
|
131
|
+
- 変更前後のコマンド
|
|
132
|
+
- 変更理由
|
|
133
|
+
|
|
134
|
+
**例**:
|
|
135
|
+
```markdown
|
|
136
|
+
### テスト: presets コマンドの引数変更
|
|
137
|
+
|
|
138
|
+
- **現在の問題**: 新しいオプション `--format` が追加されたが、既存テストでカバーされていない
|
|
139
|
+
- **対象ファイル**: docs-ai/e2e-test/presets-command-e2e.md
|
|
140
|
+
- **変更内容**:
|
|
141
|
+
- 変更前: `./dist/cli.js presets`
|
|
142
|
+
- 変更後: `./dist/cli.js presets --format json`
|
|
143
|
+
- **理由**: JSON 形式の出力を検証するため
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
#### 3. 削除すべきテスト
|
|
147
|
+
|
|
148
|
+
不要になったテストや、機能削除により実行できなくなったテストを記載します。
|
|
149
|
+
|
|
150
|
+
**記載すべき内容**:
|
|
151
|
+
- 削除対象ファイルのフルパス
|
|
152
|
+
- 削除理由
|
|
153
|
+
|
|
154
|
+
**例**:
|
|
155
|
+
```markdown
|
|
156
|
+
### テスト: 旧形式の config ファイル読み込み
|
|
157
|
+
|
|
158
|
+
- **対象ファイル**: docs-ai/e2e-test/legacy-config-e2e.md
|
|
159
|
+
- **削除理由**: 旧形式のサポートを終了したため、このテストは不要
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
## コマンド記述のベストプラクティス
|
|
163
|
+
|
|
164
|
+
### 1. 絶対パスの使用
|
|
165
|
+
|
|
166
|
+
```bash
|
|
167
|
+
# ✅ 良い例: プロジェクトルートからの明示的なパス
|
|
168
|
+
cd /home/runner/work/ai-rules/ai-rules
|
|
169
|
+
./dist/cli.js command
|
|
170
|
+
|
|
171
|
+
# ❌ 悪い例: 相対パスのみ
|
|
172
|
+
./cli.js command
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
### 2. 環境変数の明示
|
|
176
|
+
|
|
177
|
+
```bash
|
|
178
|
+
# ✅ 良い例: 必要な環境変数を明示
|
|
179
|
+
NODE_ENV=test ./dist/cli.js test-command
|
|
180
|
+
|
|
181
|
+
# ❌ 悪い例: 環境変数が暗黙的
|
|
182
|
+
./dist/cli.js test-command
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
### 3. 前提条件の記載
|
|
186
|
+
|
|
187
|
+
```bash
|
|
188
|
+
# ✅ 良い例: セットアップ手順を含める
|
|
189
|
+
# 前提: ビルド済みであること
|
|
190
|
+
npm run build
|
|
191
|
+
|
|
192
|
+
# テスト実行
|
|
193
|
+
./dist/cli.js command
|
|
194
|
+
|
|
195
|
+
# ❌ 悪い例: 前提条件が不明
|
|
196
|
+
./dist/cli.js command
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
### 4. 期待結果の明記
|
|
200
|
+
|
|
201
|
+
```bash
|
|
202
|
+
# ✅ 良い例: 期待する出力を明記
|
|
203
|
+
# 期待する結果:
|
|
204
|
+
# - 終了コード: 0
|
|
205
|
+
# - 標準出力に "Success" を含む
|
|
206
|
+
# - ファイル dist/output.json が生成される
|
|
207
|
+
|
|
208
|
+
# ❌ 悪い例: 期待結果が不明
|
|
209
|
+
./dist/cli.js command
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
### 5. エラーケースの検証
|
|
213
|
+
|
|
214
|
+
```bash
|
|
215
|
+
# ✅ 良い例: エラーケースも記載
|
|
216
|
+
# エラーケース: 無効な引数
|
|
217
|
+
./dist/cli.js command --invalid-option ; echo "exit code: $?"
|
|
218
|
+
# 期待: 終了コード 1、エラーメッセージ出力
|
|
219
|
+
|
|
220
|
+
# ❌ 悪い例: 正常系のみ
|
|
221
|
+
./dist/cli.js command
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
## E2E テストドキュメントへの反映
|
|
225
|
+
|
|
226
|
+
`todo_plans/${ISSUE_NUMBER}/e2e-cmd.md` に記載した内容は、実装完了後に `docs-ai/e2e-test/` ディレクトリ配下の適切なファイルに反映します。
|
|
227
|
+
|
|
228
|
+
### 反映先の決定
|
|
229
|
+
|
|
230
|
+
- **既存機能の拡張**: 既存の E2E テストファイルに追記
|
|
231
|
+
- **新機能**: 新しい E2E テストファイルを作成(命名規則: `[機能名]-e2e.md`)
|
|
232
|
+
- **大規模な変更**: 既存ファイルを分割または再構成
|
|
233
|
+
|
|
234
|
+
### 反映時の注意点
|
|
235
|
+
|
|
236
|
+
1. **ファイルパスはプロジェクトルートからのフルパス**で記載
|
|
237
|
+
2. **コマンドはコピペで実行可能**な形式で記載
|
|
238
|
+
3. **セクション構成**は既存ファイルに合わせる:
|
|
239
|
+
- 前提条件
|
|
240
|
+
- 全体ビルド・テスト
|
|
241
|
+
- パッケージ別テスト
|
|
242
|
+
- コマンドライン検証
|
|
243
|
+
- エラーケーステスト
|
|
244
|
+
- クリーンアップ
|
|
245
|
+
|
|
246
|
+
## チェックリスト
|
|
247
|
+
|
|
248
|
+
e2e-cmd.md を作成する際の確認事項:
|
|
249
|
+
|
|
250
|
+
- [ ] すべてのテストがコマンドライン上で完結する
|
|
251
|
+
- [ ] ファイルパスはプロジェクトルートからのフルパスで記載されている
|
|
252
|
+
- [ ] コマンドがコピペで実行可能である
|
|
253
|
+
- [ ] 期待結果(終了コード、出力内容など)が明記されている
|
|
254
|
+
- [ ] セットアップ手順が含まれている
|
|
255
|
+
- [ ] クリーンアップ手順が必要な場合は記載されている
|
|
256
|
+
- [ ] 既存の E2E テストファイルとの関連が明確である
|
|
257
|
+
|
|
258
|
+
## 関連ドキュメント
|
|
259
|
+
|
|
260
|
+
- **E2E テストガイドライン**: artifact/instructions/rules/test/e2e-cli-execution.md
|
|
261
|
+
- **E2E テストディレクトリ**: docs-ai/e2e-test/README.md
|
|
262
|
+
- **計画ワークフロー**: artifact/prompts/development/plan-fix.prompt.md
|
|
263
|
+
|
|
264
|
+
## 例
|
|
265
|
+
|
|
266
|
+
### 完全な e2e-cmd.md の例
|
|
267
|
+
|
|
268
|
+
```markdown
|
|
269
|
+
# E2E テスト計画: presets コマンド拡張
|
|
270
|
+
|
|
271
|
+
## 追加すべきテスト
|
|
272
|
+
|
|
273
|
+
### テスト1: JSON 形式での出力
|
|
274
|
+
|
|
275
|
+
- **目的**: presets コマンドが JSON 形式で出力できることを確認
|
|
276
|
+
- **対象ファイル**: packages/cli/dist/cli.js
|
|
277
|
+
- **コマンド**:
|
|
278
|
+
```bash
|
|
279
|
+
cd /home/runner/work/ai-rules/ai-rules
|
|
280
|
+
npm run build
|
|
281
|
+
./dist/cli.js presets --format json
|
|
282
|
+
```
|
|
283
|
+
- **検証ポイント**:
|
|
284
|
+
- [ ] 終了コード 0
|
|
285
|
+
- [ ] 標準出力が有効な JSON である
|
|
286
|
+
- [ ] JSON に "presets" 配列が含まれる
|
|
287
|
+
|
|
288
|
+
### テスト2: サブディレクトリのプリセット検出
|
|
289
|
+
|
|
290
|
+
- **目的**: presets/ 配下のサブディレクトリ内のプリセットも検出できることを確認
|
|
291
|
+
- **対象ファイル**: packages/cli/dist/cli.js
|
|
292
|
+
- **コマンド**:
|
|
293
|
+
```bash
|
|
294
|
+
cd /home/runner/work/ai-rules/ai-rules
|
|
295
|
+
npm run build
|
|
296
|
+
|
|
297
|
+
# サブディレクトリを作成してテスト
|
|
298
|
+
mkdir -p presets/custom
|
|
299
|
+
echo "test: true" > presets/custom/test.yaml
|
|
300
|
+
|
|
301
|
+
./dist/cli.js presets
|
|
302
|
+
|
|
303
|
+
# クリーンアップ
|
|
304
|
+
rm -rf presets/custom
|
|
305
|
+
```
|
|
306
|
+
- **検証ポイント**:
|
|
307
|
+
- [ ] 終了コード 0
|
|
308
|
+
- [ ] "custom/test.yaml" がリストに含まれる
|
|
309
|
+
|
|
310
|
+
## 更新すべきテスト
|
|
311
|
+
|
|
312
|
+
### テスト3: 既存の presets 一覧表示テスト
|
|
313
|
+
|
|
314
|
+
- **現在の問題**: 新しい `--format` オプションが追加されたが、既存テストでカバーされていない
|
|
315
|
+
- **対象ファイル**: docs-ai/e2e-test/presets-command-e2e.md
|
|
316
|
+
- **変更内容**:
|
|
317
|
+
- セクション「基本的な presets 一覧表示」の後に、「JSON 形式での出力」セクションを追加
|
|
318
|
+
- **理由**: 新機能のテストを既存の E2E テストファイルに統合
|
|
319
|
+
|
|
320
|
+
## 削除すべきテスト
|
|
321
|
+
|
|
322
|
+
なし
|
|
323
|
+
```
|
|
@@ -105,13 +105,30 @@ cat > "todo_plans/${ISSUE_NUMBER}/index.md" <<'EOF'
|
|
|
105
105
|
- `testing.md`: テスト戦略・テストケース
|
|
106
106
|
- `risks.md`: リスク評価と対策
|
|
107
107
|
- `notes.md`: 設計メモ・その他補足
|
|
108
|
+
- `e2e-cmd.md`: E2E テスト(追加/更新/削除すべきコマンドラインテスト。詳細は artifact/instructions/rules/test/e2e-cmd.md を参照)
|
|
109
|
+
|
|
110
|
+
## 関連ファイルの記載ルール
|
|
111
|
+
|
|
112
|
+
計画ファイル内で関連ファイルやディレクトリを参照する場合は、**必ずプロジェクトルートからのフルパス**で記載してください。
|
|
113
|
+
|
|
114
|
+
**良い例**:
|
|
115
|
+
- `artifact/instructions/rules/test/e2e-cmd.md`
|
|
116
|
+
- `todo_plans/123/index.md`
|
|
117
|
+
- `packages/core/src/index.ts`
|
|
118
|
+
|
|
119
|
+
**悪い例**:
|
|
120
|
+
- `e2e-cmd.md`(相対パスが不明確)
|
|
121
|
+
- `./index.md`(現在のディレクトリが不明確)
|
|
122
|
+
- `src/index.ts`(どのパッケージか不明)
|
|
108
123
|
EOF
|
|
109
124
|
|
|
110
125
|
cat > "todo_plans/${ISSUE_NUMBER}/details.md" <<'EOF'
|
|
111
126
|
# 補足(自由記述)
|
|
112
127
|
|
|
113
128
|
※補足はこのファイルに「全部」書く必要はありません。
|
|
114
|
-
`todo_plans/${ISSUE_NUMBER}/` 配下に、用途別にファイルを増やしてOKです(例: `testing.md`, `risks.md`, `notes.md`)。
|
|
129
|
+
`todo_plans/${ISSUE_NUMBER}/` 配下に、用途別にファイルを増やしてOKです(例: `testing.md`, `risks.md`, `notes.md`, `e2e-cmd.md`)。
|
|
130
|
+
|
|
131
|
+
**重要**: ファイル内で関連ファイルを参照する際は、プロジェクトルートからのフルパスで記載してください。
|
|
115
132
|
|
|
116
133
|
## 背景
|
|
117
134
|
|
|
@@ -308,8 +325,11 @@ echo "Next: Start Agent Coding with base branch plan/${ISSUE_NUMBER}"
|
|
|
308
325
|
|
|
309
326
|
- **index.md**: 人間が読む前提で、要点だけに絞る(Issue 本文と一致させる正本)
|
|
310
327
|
- **補足ファイル**: 長い背景/Phase/受け入れ基準などは `todo_plans/${ISSUE_NUMBER}/` 配下に分割して置く(`details.md` はその一例)
|
|
328
|
+
- **e2e-cmd.md**: E2E テストの追加/更新/削除内容を記載(原則としてコマンドライン上で完結するテストのみ対象)
|
|
329
|
+
- 詳細は `artifact/instructions/rules/test/e2e-cmd.md` を参照
|
|
311
330
|
- **Phase 分け**: 1つの Phase が 2-3時間で完了する規模に分割
|
|
312
331
|
- **受け入れ基準**: 検証可能な形で明記
|
|
332
|
+
- **ファイルパスの記載**: 関連ファイルは必ずプロジェクトルートからのフルパスで記載
|
|
313
333
|
|
|
314
334
|
#### Issue 作成時
|
|
315
335
|
|
|
@@ -433,9 +453,10 @@ git push
|
|
|
433
453
|
|
|
434
454
|
### 関連ドキュメント
|
|
435
455
|
|
|
436
|
-
- プランニングワークフロー マニュアル(planning-workflow.md)
|
|
437
|
-
- Git ブランチ命名規則(git-rules.md)
|
|
438
|
-
- todo_plans への記載項目(todo_planning.md)
|
|
456
|
+
- プランニングワークフロー マニュアル(artifact/instructions/planning-workflow.md)
|
|
457
|
+
- Git ブランチ命名規則(artifact/instructions/git-rules.md)
|
|
458
|
+
- todo_plans への記載項目(artifact/instructions/todo_planning.md)
|
|
459
|
+
- E2E コマンドラインテスト計画(artifact/instructions/rules/test/e2e-cmd.md)
|
|
439
460
|
|
|
440
461
|
### まとめ
|
|
441
462
|
|
|
@@ -0,0 +1,462 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: prompt
|
|
3
|
+
category: github-copilot
|
|
4
|
+
focus: agent-environment
|
|
5
|
+
applyTo: ".github/workflows/copilot-setup-steps.yml"
|
|
6
|
+
human-instruction: |-
|
|
7
|
+
## GitHub Copilot Coding Agent 環境カスタマイズについて
|
|
8
|
+
|
|
9
|
+
このルールは、GitHub Copilot Coding Agent の開発環境をカスタマイズする方法を説明しています。
|
|
10
|
+
以下の点で人間の判断が重要です:
|
|
11
|
+
|
|
12
|
+
- **環境要件の分析**: プロジェクトに必要なツールや依存関係の特定
|
|
13
|
+
- **セキュリティの考慮**: シークレットや認証情報の適切な管理
|
|
14
|
+
- **パフォーマンス最適化**: ランナーサイズやキャッシュ戦略の選択
|
|
15
|
+
- **コスト管理**: larger runners や self-hosted runners の費用対効果の判断
|
|
16
|
+
|
|
17
|
+
AIは設定ファイルの生成を支援できますが、プロジェクト固有の要件やセキュリティポリシーの判断は人間が行う必要があります。
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# GitHub Copilot Coding Agent 環境カスタマイズガイド
|
|
21
|
+
|
|
22
|
+
## 概要
|
|
23
|
+
|
|
24
|
+
GitHub Copilot Coding Agent は、独自のエフェメラルな開発環境(GitHub Actions によって提供)でタスクを実行します。この環境をカスタマイズすることで、エージェントがより効果的にコードの探索、変更、テスト、リンティングなどを実行できるようになります。
|
|
25
|
+
|
|
26
|
+
本ドキュメントは、GitHub 公式ドキュメントに基づいて作成されています:
|
|
27
|
+
https://docs.github.com/en/copilot/how-tos/use-copilot-agents/coding-agent/customize-the-agent-environment
|
|
28
|
+
|
|
29
|
+
## Copilot 環境のカスタマイズについて
|
|
30
|
+
|
|
31
|
+
### 基本概念
|
|
32
|
+
|
|
33
|
+
Copilot Coding Agent は、タスク実行時に以下の環境を利用します:
|
|
34
|
+
|
|
35
|
+
- **エフェメラル環境**: タスクごとに作成され、完了後に破棄される一時的な環境
|
|
36
|
+
- **GitHub Actions ベース**: GitHub Actions のランナー上で実行される
|
|
37
|
+
- **独立した環境**: 各タスクは隔離された環境で実行される
|
|
38
|
+
|
|
39
|
+
### カスタマイズ可能な項目
|
|
40
|
+
|
|
41
|
+
以下の項目をカスタマイズできます:
|
|
42
|
+
|
|
43
|
+
1. **ツールや依存関係のプリインストール**
|
|
44
|
+
2. **環境変数の設定**
|
|
45
|
+
3. **より大きな GitHub ホステッドランナーへのアップグレード**
|
|
46
|
+
4. **Git Large File Storage (LFS) の有効化**
|
|
47
|
+
5. **セルフホステッドランナーの使用(ARC 経由)**
|
|
48
|
+
|
|
49
|
+
## ツールや依存関係のプリインストール
|
|
50
|
+
|
|
51
|
+
### 概要
|
|
52
|
+
|
|
53
|
+
Copilot はプロジェクトのビルド、コンパイル、自動テスト、リンターの実行などを行うため、プロジェクトの依存関係をインストールする必要があります。Copilot は自動的にこれらを発見してインストールしようとしますが、以下の理由でプリインストールが推奨されます:
|
|
54
|
+
|
|
55
|
+
- **速度**: 試行錯誤によるインストールは時間がかかる
|
|
56
|
+
- **信頼性**: LLM の非決定的な性質により、インストールが不安定になる可能性
|
|
57
|
+
- **制限事項**: プライベートな npm レジストリなど、Copilot が自動的にアクセスできない依存関係がある
|
|
58
|
+
|
|
59
|
+
### プリインストールの設定方法
|
|
60
|
+
|
|
61
|
+
`.github/workflows/copilot-setup-steps.yml` ファイルを作成し、カスタムセットアップステップを定義します:
|
|
62
|
+
|
|
63
|
+
```yaml
|
|
64
|
+
name: Copilot setup steps
|
|
65
|
+
|
|
66
|
+
on:
|
|
67
|
+
workflow_dispatch:
|
|
68
|
+
|
|
69
|
+
jobs:
|
|
70
|
+
copilot-setup-steps:
|
|
71
|
+
runs-on: ubuntu-latest
|
|
72
|
+
permissions:
|
|
73
|
+
contents: read
|
|
74
|
+
steps:
|
|
75
|
+
- uses: actions/checkout@v4
|
|
76
|
+
|
|
77
|
+
# Node.js プロジェクトの例
|
|
78
|
+
- name: Setup Node.js
|
|
79
|
+
uses: actions/setup-node@v4
|
|
80
|
+
with:
|
|
81
|
+
node-version: '20'
|
|
82
|
+
cache: 'npm'
|
|
83
|
+
|
|
84
|
+
- name: Install dependencies
|
|
85
|
+
run: npm ci
|
|
86
|
+
|
|
87
|
+
# Python プロジェクトの例
|
|
88
|
+
- name: Setup Python
|
|
89
|
+
uses: actions/setup-python@v5
|
|
90
|
+
with:
|
|
91
|
+
python-version: '3.11'
|
|
92
|
+
cache: 'pip'
|
|
93
|
+
|
|
94
|
+
- name: Install Python dependencies
|
|
95
|
+
run: pip install -r requirements.txt
|
|
96
|
+
|
|
97
|
+
# カスタムツールのインストール例
|
|
98
|
+
- name: Install custom tools
|
|
99
|
+
run: |
|
|
100
|
+
sudo apt-get update
|
|
101
|
+
sudo apt-get install -y your-custom-tool
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### プライベート npm レジストリへの認証
|
|
105
|
+
|
|
106
|
+
プライベート npm レジストリを使用する場合:
|
|
107
|
+
|
|
108
|
+
```yaml
|
|
109
|
+
- name: Setup .npmrc
|
|
110
|
+
run: |
|
|
111
|
+
echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc
|
|
112
|
+
echo "@your-scope:registry=https://your-private-registry.com/" >> ~/.npmrc
|
|
113
|
+
|
|
114
|
+
- name: Install dependencies
|
|
115
|
+
run: npm ci
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### ベストプラクティス
|
|
119
|
+
|
|
120
|
+
- **キャッシュの活用**: `cache` オプションを使用して依存関係のダウンロード時間を短縮
|
|
121
|
+
- **必要最小限のインストール**: 実際に必要なツールのみをインストール
|
|
122
|
+
- **バージョン固定**: ツールのバージョンを明示的に指定して、一貫性を確保
|
|
123
|
+
|
|
124
|
+
## 環境変数の設定
|
|
125
|
+
|
|
126
|
+
### 概要
|
|
127
|
+
|
|
128
|
+
Copilot の環境で使用するツールや依存関係を設定・認証するために、環境変数を設定できます。
|
|
129
|
+
|
|
130
|
+
### 設定方法
|
|
131
|
+
|
|
132
|
+
#### 1. GitHub Actions の変数またはシークレットを作成
|
|
133
|
+
|
|
134
|
+
**機密情報を含む場合**(パスワード、API キーなど):
|
|
135
|
+
- GitHub Actions のシークレットを使用
|
|
136
|
+
|
|
137
|
+
**機密情報を含まない場合**:
|
|
138
|
+
- GitHub Actions の変数を使用
|
|
139
|
+
|
|
140
|
+
#### 2. リポジトリ設定での作成手順
|
|
141
|
+
|
|
142
|
+
1. GitHub のリポジトリページに移動
|
|
143
|
+
2. **Settings** をクリック
|
|
144
|
+
3. サイドバーの **Secrets and variables** > **Actions** をクリック
|
|
145
|
+
4. **Variables** タブまたは **Secrets** タブを選択
|
|
146
|
+
5. **New repository variable** または **New repository secret** をクリック
|
|
147
|
+
6. 変数名とを入力
|
|
148
|
+
- **Environment**: `copilot` を選択(重要)
|
|
149
|
+
7. **Add variable** または **Add secret** をクリック
|
|
150
|
+
|
|
151
|
+
#### 3. ワークフローでの使用例
|
|
152
|
+
|
|
153
|
+
```yaml
|
|
154
|
+
jobs:
|
|
155
|
+
copilot-setup-steps:
|
|
156
|
+
runs-on: ubuntu-latest
|
|
157
|
+
environment: copilot # 環境を指定
|
|
158
|
+
steps:
|
|
159
|
+
- uses: actions/checkout@v4
|
|
160
|
+
|
|
161
|
+
- name: Configure tool with environment variables
|
|
162
|
+
env:
|
|
163
|
+
API_KEY: ${{ secrets.API_KEY }}
|
|
164
|
+
API_ENDPOINT: ${{ vars.API_ENDPOINT }}
|
|
165
|
+
run: |
|
|
166
|
+
echo "API_ENDPOINT=$API_ENDPOINT" >> $GITHUB_ENV
|
|
167
|
+
# ツールの設定
|
|
168
|
+
tool configure --api-key "$API_KEY"
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
### セキュリティのベストプラクティス
|
|
172
|
+
|
|
173
|
+
- **シークレットの使用**: 機密情報は必ず GitHub Actions のシークレットとして保存
|
|
174
|
+
- **環境の指定**: `environment: copilot` を明示的に指定
|
|
175
|
+
- **最小権限の原則**: 必要最小限の権限のみを付与
|
|
176
|
+
- **シークレットのローテーション**: 定期的にシークレットを更新
|
|
177
|
+
|
|
178
|
+
## より大きな GitHub ホステッドランナーへのアップグレード
|
|
179
|
+
|
|
180
|
+
### 概要
|
|
181
|
+
|
|
182
|
+
デフォルトでは、Copilot は標準的な GitHub Actions ランナー(限られたリソース)で動作します。より大きなランナーを使用することで、以下のメリットがあります:
|
|
183
|
+
|
|
184
|
+
- **より多くの RAM、CPU、ディスクスペース**
|
|
185
|
+
- **高度なネットワーク制御**
|
|
186
|
+
- **パフォーマンスの向上**(依存関係のダウンロードやテスト実行時)
|
|
187
|
+
|
|
188
|
+
### 設定方法
|
|
189
|
+
|
|
190
|
+
#### 1. Larger runners の追加
|
|
191
|
+
|
|
192
|
+
GitHub のドキュメントを参照: [Larger runners](https://docs.github.com/en/actions/using-github-hosted-runners/using-larger-runners)
|
|
193
|
+
|
|
194
|
+
#### 2. Copilot 環境での有効化
|
|
195
|
+
|
|
196
|
+
リポジトリ設定で、`copilot` 環境に larger runners へのアクセスを許可します:
|
|
197
|
+
|
|
198
|
+
1. **Settings** > **Environments** > **copilot** に移動
|
|
199
|
+
2. **Deployment protection rules** で larger runners を選択
|
|
200
|
+
3. 変更を保存
|
|
201
|
+
|
|
202
|
+
#### 3. ワークフローでの指定
|
|
203
|
+
|
|
204
|
+
```yaml
|
|
205
|
+
jobs:
|
|
206
|
+
copilot-setup-steps:
|
|
207
|
+
runs-on: ubuntu-latest-4-cores # larger runner を指定
|
|
208
|
+
# または
|
|
209
|
+
# runs-on: ubuntu-latest-8-cores
|
|
210
|
+
# runs-on: ubuntu-latest-16-cores
|
|
211
|
+
steps:
|
|
212
|
+
- uses: actions/checkout@v4
|
|
213
|
+
# ... その他のステップ
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
### 考慮事項
|
|
217
|
+
|
|
218
|
+
- **コスト**: Larger runners は標準ランナーよりもコストが高い
|
|
219
|
+
- **必要性の評価**: パフォーマンス問題が実際に発生している場合にのみ使用を検討
|
|
220
|
+
- **適切なサイズ選択**: プロジェクトの要件に応じた適切なサイズを選択
|
|
221
|
+
|
|
222
|
+
## セルフホステッドランナーの使用(ARC)
|
|
223
|
+
|
|
224
|
+
### 概要
|
|
225
|
+
|
|
226
|
+
ARC (Actions Runner Controller) を使用して、セルフホステッドランナーで Copilot Coding Agent を実行できます。
|
|
227
|
+
|
|
228
|
+
### 前提条件
|
|
229
|
+
|
|
230
|
+
- ARC マネージドスケールセットが環境にセットアップされている
|
|
231
|
+
- Ubuntu x64 Linux ランナー(Windows や macOS は非対応)
|
|
232
|
+
- 永続的なランナーは推奨されない(オートスケーリングシナリオ向け)
|
|
233
|
+
|
|
234
|
+
### 設定手順
|
|
235
|
+
|
|
236
|
+
#### 1. ARC スケールセットのセットアップ
|
|
237
|
+
|
|
238
|
+
GitHub Actions Runner Controller のドキュメントを参照:
|
|
239
|
+
[Actions Runner Controller](https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller)
|
|
240
|
+
|
|
241
|
+
#### 2. ワークフローでの指定
|
|
242
|
+
|
|
243
|
+
```yaml
|
|
244
|
+
jobs:
|
|
245
|
+
copilot-setup-steps:
|
|
246
|
+
runs-on: arc-scale-set-name # ARC スケールセット名を指定
|
|
247
|
+
steps:
|
|
248
|
+
- uses: actions/checkout@v4
|
|
249
|
+
# ... その他のステップ
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
#### 3. ファイアウォールの無効化
|
|
253
|
+
|
|
254
|
+
セルフホステッドランナーを使用する場合、リポジトリ設定で Copilot coding agent の統合ファイアウォールを無効化する必要があります。
|
|
255
|
+
|
|
256
|
+
**⚠️ 警告**: ファイアウォールを無効化すると、Copilot と セルフホステッド環境間の隔離が減少します。代替のネットワークセキュリティ制御を実装する必要があります。
|
|
257
|
+
|
|
258
|
+
### セキュリティの考慮事項
|
|
259
|
+
|
|
260
|
+
#### 必須エンドポイント
|
|
261
|
+
|
|
262
|
+
セルフホステッドランナーから以下のエンドポイントへのアクセスを許可する必要があります:
|
|
263
|
+
|
|
264
|
+
- `api.githubcopilot.com`
|
|
265
|
+
- `uploads.github.com`
|
|
266
|
+
- `user-images.githubusercontent.com`
|
|
267
|
+
|
|
268
|
+
その他、GitHub Actions セルフホステッドランナーに必要なホストの完全なリストについては、[Self-hosted runners reference](https://docs.github.com/en/actions/reference/runners/self-hosted-runners#accessible-domains-by-function) を参照してください。
|
|
269
|
+
|
|
270
|
+
#### セキュリティ対策
|
|
271
|
+
|
|
272
|
+
- **ネットワーク通信制御**: ホスティング環境に厳格なネットワーク通信制御を実装
|
|
273
|
+
- **最小権限**: ランナーに必要最小限の権限のみを付与
|
|
274
|
+
- **監視**: ランナーの活動を継続的に監視
|
|
275
|
+
- **隔離**: 可能な限り、Copilot 専用の隔離された環境でランナーを実行
|
|
276
|
+
|
|
277
|
+
## Git Large File Storage (LFS) の有効化
|
|
278
|
+
|
|
279
|
+
### 概要
|
|
280
|
+
|
|
281
|
+
Git LFS を使用してリポジトリに大きなファイルを保存している場合、Copilot の環境で Git LFS をインストールし、LFS オブジェクトをフェッチする必要があります。
|
|
282
|
+
|
|
283
|
+
### 設定方法
|
|
284
|
+
|
|
285
|
+
`copilot-setup-steps` ジョブに `actions/checkout` ステップを追加し、`lfs` オプションを `true` に設定します:
|
|
286
|
+
|
|
287
|
+
```yaml
|
|
288
|
+
name: Copilot setup steps
|
|
289
|
+
|
|
290
|
+
on:
|
|
291
|
+
workflow_dispatch:
|
|
292
|
+
|
|
293
|
+
jobs:
|
|
294
|
+
copilot-setup-steps:
|
|
295
|
+
runs-on: ubuntu-latest
|
|
296
|
+
permissions:
|
|
297
|
+
contents: read # actions/checkout に必要
|
|
298
|
+
steps:
|
|
299
|
+
- uses: actions/checkout@v5
|
|
300
|
+
with:
|
|
301
|
+
lfs: true # Git LFS を有効化
|
|
302
|
+
|
|
303
|
+
# ... その他のセットアップステップ
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
### 注意事項
|
|
307
|
+
|
|
308
|
+
- **帯域幅とストレージ**: Git LFS のファイルは GitHub の LFS 帯域幅とストレージクォータを消費します
|
|
309
|
+
- **パフォーマンス**: 大きなファイルのダウンロードには時間がかかる可能性があります
|
|
310
|
+
- **必要性の確認**: プロジェクトで実際に LFS ファイルが必要な場合にのみ有効化
|
|
311
|
+
|
|
312
|
+
## ワークフロー全体の例
|
|
313
|
+
|
|
314
|
+
### 基本的な Node.js プロジェクト
|
|
315
|
+
|
|
316
|
+
```yaml
|
|
317
|
+
name: Copilot setup steps
|
|
318
|
+
|
|
319
|
+
on:
|
|
320
|
+
workflow_dispatch:
|
|
321
|
+
|
|
322
|
+
jobs:
|
|
323
|
+
copilot-setup-steps:
|
|
324
|
+
runs-on: ubuntu-latest
|
|
325
|
+
environment: copilot
|
|
326
|
+
permissions:
|
|
327
|
+
contents: read
|
|
328
|
+
steps:
|
|
329
|
+
- uses: actions/checkout@v5
|
|
330
|
+
with:
|
|
331
|
+
lfs: false # LFS が不要な場合
|
|
332
|
+
|
|
333
|
+
- name: Setup Node.js
|
|
334
|
+
uses: actions/setup-node@v4
|
|
335
|
+
with:
|
|
336
|
+
node-version: '20'
|
|
337
|
+
cache: 'npm'
|
|
338
|
+
|
|
339
|
+
- name: Install dependencies
|
|
340
|
+
run: npm ci
|
|
341
|
+
|
|
342
|
+
- name: Build project
|
|
343
|
+
run: npm run build
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
### 複雑なプロジェクト(複数言語、カスタムツール)
|
|
347
|
+
|
|
348
|
+
```yaml
|
|
349
|
+
name: Copilot setup steps
|
|
350
|
+
|
|
351
|
+
on:
|
|
352
|
+
workflow_dispatch:
|
|
353
|
+
|
|
354
|
+
jobs:
|
|
355
|
+
copilot-setup-steps:
|
|
356
|
+
runs-on: ubuntu-latest-4-cores # larger runner を使用
|
|
357
|
+
environment: copilot
|
|
358
|
+
permissions:
|
|
359
|
+
contents: read
|
|
360
|
+
steps:
|
|
361
|
+
- uses: actions/checkout@v5
|
|
362
|
+
with:
|
|
363
|
+
lfs: true # Git LFS を有効化
|
|
364
|
+
|
|
365
|
+
# Node.js セットアップ
|
|
366
|
+
- name: Setup Node.js
|
|
367
|
+
uses: actions/setup-node@v4
|
|
368
|
+
with:
|
|
369
|
+
node-version: '20'
|
|
370
|
+
cache: 'npm'
|
|
371
|
+
|
|
372
|
+
# Python セットアップ
|
|
373
|
+
- name: Setup Python
|
|
374
|
+
uses: actions/setup-python@v5
|
|
375
|
+
with:
|
|
376
|
+
python-version: '3.11'
|
|
377
|
+
cache: 'pip'
|
|
378
|
+
|
|
379
|
+
# カスタムツールのインストール
|
|
380
|
+
- name: Install system dependencies
|
|
381
|
+
run: |
|
|
382
|
+
sudo apt-get update
|
|
383
|
+
sudo apt-get install -y build-essential libpq-dev
|
|
384
|
+
|
|
385
|
+
# プライベートレジストリへの認証
|
|
386
|
+
- name: Setup .npmrc
|
|
387
|
+
run: |
|
|
388
|
+
echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc
|
|
389
|
+
|
|
390
|
+
# 依存関係のインストール
|
|
391
|
+
- name: Install Node.js dependencies
|
|
392
|
+
run: npm ci
|
|
393
|
+
|
|
394
|
+
- name: Install Python dependencies
|
|
395
|
+
run: pip install -r requirements.txt
|
|
396
|
+
|
|
397
|
+
# 環境変数の設定
|
|
398
|
+
- name: Configure environment
|
|
399
|
+
env:
|
|
400
|
+
DATABASE_URL: ${{ secrets.DATABASE_URL }}
|
|
401
|
+
API_KEY: ${{ secrets.API_KEY }}
|
|
402
|
+
run: |
|
|
403
|
+
echo "ENVIRONMENT=development" >> $GITHUB_ENV
|
|
404
|
+
|
|
405
|
+
# ビルド
|
|
406
|
+
- name: Build project
|
|
407
|
+
run: npm run build
|
|
408
|
+
```
|
|
409
|
+
|
|
410
|
+
## トラブルシューティング
|
|
411
|
+
|
|
412
|
+
### よくある問題と解決策
|
|
413
|
+
|
|
414
|
+
#### 1. 依存関係のインストールが失敗する
|
|
415
|
+
|
|
416
|
+
**原因**:
|
|
417
|
+
- プライベートレジストリへの認証が不足
|
|
418
|
+
- ネットワーク制限
|
|
419
|
+
|
|
420
|
+
**解決策**:
|
|
421
|
+
- シークレットと認証設定を確認
|
|
422
|
+
- 必要なエンドポイントへのアクセスを許可
|
|
423
|
+
|
|
424
|
+
#### 2. パフォーマンスが遅い
|
|
425
|
+
|
|
426
|
+
**原因**:
|
|
427
|
+
- 標準ランナーのリソースが不足
|
|
428
|
+
- キャッシュが有効化されていない
|
|
429
|
+
|
|
430
|
+
**解決策**:
|
|
431
|
+
- Larger runners へのアップグレードを検討
|
|
432
|
+
- 依存関係のキャッシュを有効化
|
|
433
|
+
|
|
434
|
+
#### 3. セルフホステッドランナーで接続エラー
|
|
435
|
+
|
|
436
|
+
**原因**:
|
|
437
|
+
- ファイアウォールの設定が不適切
|
|
438
|
+
- 必要なエンドポイントへのアクセスがブロックされている
|
|
439
|
+
|
|
440
|
+
**解決策**:
|
|
441
|
+
- Copilot 用のファイアウォールを無効化
|
|
442
|
+
- 必要なエンドポイントをホワイトリストに追加
|
|
443
|
+
|
|
444
|
+
## 関連ドキュメント
|
|
445
|
+
|
|
446
|
+
- [Customizing or disabling the firewall for GitHub Copilot coding agent](https://docs.github.com/en/copilot/customizing-copilot/customizing-or-disabling-the-firewall-for-copilot-coding-agent)
|
|
447
|
+
- [Larger runners](https://docs.github.com/en/actions/using-github-hosted-runners/using-larger-runners)
|
|
448
|
+
- [Actions Runner Controller](https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller)
|
|
449
|
+
- [Self-hosted runners reference](https://docs.github.com/en/actions/reference/runners/self-hosted-runners)
|
|
450
|
+
- [Using secrets in GitHub Actions](https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions)
|
|
451
|
+
|
|
452
|
+
## まとめ
|
|
453
|
+
|
|
454
|
+
GitHub Copilot Coding Agent の環境カスタマイズにより、以下が実現できます:
|
|
455
|
+
|
|
456
|
+
✅ **高速化**: 依存関係のプリインストールによる実行時間の短縮
|
|
457
|
+
✅ **信頼性向上**: 確実な依存関係のインストール
|
|
458
|
+
✅ **柔軟性**: プロジェクト固有の要件への対応
|
|
459
|
+
✅ **セキュリティ**: 適切な認証と環境変数の管理
|
|
460
|
+
✅ **パフォーマンス最適化**: Larger runners やセルフホステッドランナーの活用
|
|
461
|
+
|
|
462
|
+
プロジェクトの要件に応じて、適切なカスタマイズを実施してください。
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aramassa/ai-rules",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.7",
|
|
4
4
|
"description": "This repository collects guidelines and instructions for developing AI agents. It contains documents covering communication rules, coding standards, testing strategies, and general operational practices.",
|
|
5
5
|
"workspaces": [
|
|
6
6
|
"packages/extract",
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
description: GitHub Copilot Coding Agent の環境カスタマイズに関するプロンプトです。
|
|
2
|
+
|
|
3
|
+
config:
|
|
4
|
+
baseDir: .github/prompts
|
|
5
|
+
|
|
6
|
+
recipe:
|
|
7
|
+
- title: "GitHub Copilot Agent Environment Customization"
|
|
8
|
+
out: "copilot-agent-environment.prompt.md"
|
|
9
|
+
type: "prompt"
|
|
10
|
+
filters:
|
|
11
|
+
category: "github-copilot"
|
|
12
|
+
focus: "agent-environment"
|
|
13
|
+
frontmatter:
|
|
14
|
+
description: "GitHub Copilot Coding Agent の開発環境をカスタマイズするための包括的なガイド。依存関係のプリインストール、環境変数、larger runners、Git LFS などを網羅。"
|
|
15
|
+
applyTo: ".github/workflows/copilot-setup-steps.yml"
|