mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-03-30 13:43:26 +08:00
docs(ja-JP): translate plain text code blocks to Japanese
Translate English prose inside plain text code blocks (```text, ```) across ja-JP documentation to Japanese, following the same approach as PR #753 (zh-CN translation). Translated content includes: - Output template labels and status messages - Folder tree inline comments - CLI workflow descriptions - Error/warning message examples - Commit message templates and PR title examples Technical identifiers, file paths, and actual code remain untranslated.
This commit is contained in:
@@ -356,11 +356,11 @@ description: /help に表示される短い説明
|
|||||||
### 1. PRタイトル形式
|
### 1. PRタイトル形式
|
||||||
|
|
||||||
```
|
```
|
||||||
feat(skills): add rust-patterns skill
|
feat(skills): Rustパターンスキルを追加
|
||||||
feat(agents): add api-designer agent
|
feat(agents): APIデザイナーエージェントを追加
|
||||||
feat(hooks): add auto-format hook
|
feat(hooks): 自動フォーマットフックを追加
|
||||||
fix(skills): update React patterns
|
fix(skills): Reactパターンを更新
|
||||||
docs: improve contributing guide
|
docs: 貢献ガイドを改善
|
||||||
```
|
```
|
||||||
|
|
||||||
### 2. PR説明
|
### 2. PR説明
|
||||||
|
|||||||
@@ -409,7 +409,7 @@ claude --version
|
|||||||
Claude Code v2.1+は、インストール済みプラグインの`hooks/hooks.json`(規約)を自動読み込みします。`plugin.json`で明示的に宣言するとエラーが発生します:
|
Claude Code v2.1+は、インストール済みプラグインの`hooks/hooks.json`(規約)を自動読み込みします。`plugin.json`で明示的に宣言するとエラーが発生します:
|
||||||
|
|
||||||
```
|
```
|
||||||
Duplicate hooks file detected: ./hooks/hooks.json resolves to already-loaded file
|
重複するフックファイルを検出: ./hooks/hooks.json は既に読み込まれたファイルに解決されます
|
||||||
```
|
```
|
||||||
|
|
||||||
**背景:** これは本リポジトリで複数の修正/リバート循環を引き起こしました([#29](https://github.com/affaan-m/everything-claude-code/issues/29), [#52](https://github.com/affaan-m/everything-claude-code/issues/52), [#103](https://github.com/affaan-m/everything-claude-code/issues/103))。Claude Codeバージョン間で動作が変わったため混乱がありました。今後を防ぐため回帰テストがあります。
|
**背景:** これは本リポジトリで複数の修正/リバート循環を引き起こしました([#29](https://github.com/affaan-m/everything-claude-code/issues/29), [#52](https://github.com/affaan-m/everything-claude-code/issues/52), [#103](https://github.com/affaan-m/everything-claude-code/issues/103))。Claude Codeバージョン間で動作が変わったため混乱がありました。今後を防ぐため回帰テストがあります。
|
||||||
|
|||||||
@@ -77,9 +77,9 @@ model: opus
|
|||||||
各問題について:
|
各問題について:
|
||||||
```
|
```
|
||||||
[CRITICAL] ハードコードされたAPIキー
|
[CRITICAL] ハードコードされたAPIキー
|
||||||
File: src/api/client.ts:42
|
ファイル: src/api/client.ts:42
|
||||||
Issue: APIキーがソースコードに公開されている
|
問題: APIキーがソースコードに公開されている
|
||||||
Fix: 環境変数に移動
|
修正: 環境変数に移動
|
||||||
|
|
||||||
const apiKey = "sk-abc123"; // ❌ Bad
|
const apiKey = "sk-abc123"; // ❌ Bad
|
||||||
const apiKey = process.env.API_KEY; // ✓ Good
|
const apiKey = process.env.API_KEY; // ✓ Good
|
||||||
|
|||||||
@@ -341,20 +341,20 @@ x = x // 無意味な代入を削除
|
|||||||
各修正試行後:
|
各修正試行後:
|
||||||
|
|
||||||
```text
|
```text
|
||||||
[FIXED] internal/handler/user.go:42
|
[修正済] internal/handler/user.go:42
|
||||||
Error: undefined: UserService
|
エラー: undefined: UserService
|
||||||
Fix: Added import "project/internal/service"
|
修正: import を追加 "project/internal/service"
|
||||||
|
|
||||||
Remaining errors: 3
|
残りのエラー: 3
|
||||||
```
|
```
|
||||||
|
|
||||||
最終サマリー:
|
最終サマリー:
|
||||||
```text
|
```text
|
||||||
Build Status: SUCCESS/FAILED
|
ビルドステータス: SUCCESS/FAILED
|
||||||
Errors Fixed: N
|
修正済みエラー: N
|
||||||
Vet Warnings Fixed: N
|
Vet 警告修正済み: N
|
||||||
Files Modified: list
|
変更ファイル: list
|
||||||
Remaining Issues: list (if any)
|
残りの問題: list (ある場合)
|
||||||
```
|
```
|
||||||
|
|
||||||
## 重要な注意事項
|
## 重要な注意事項
|
||||||
|
|||||||
@@ -228,9 +228,9 @@ model: opus
|
|||||||
各問題について:
|
各問題について:
|
||||||
```text
|
```text
|
||||||
[CRITICAL] SQLインジェクション脆弱性
|
[CRITICAL] SQLインジェクション脆弱性
|
||||||
File: internal/repository/user.go:42
|
ファイル: internal/repository/user.go:42
|
||||||
Issue: ユーザー入力がSQLクエリに直接連結されている
|
問題: ユーザー入力がSQLクエリに直接連結されている
|
||||||
Fix: パラメータ化クエリを使用
|
修正: パラメータ化クエリを使用
|
||||||
|
|
||||||
query := "SELECT * FROM users WHERE id = " + userID // Bad
|
query := "SELECT * FROM users WHERE id = " + userID // Bad
|
||||||
query := "SELECT * FROM users WHERE id = $1" // Good
|
query := "SELECT * FROM users WHERE id = $1" // Good
|
||||||
|
|||||||
@@ -399,9 +399,9 @@ model: opus
|
|||||||
各問題について:
|
各問題について:
|
||||||
```text
|
```text
|
||||||
[CRITICAL] SQLインジェクション脆弱性
|
[CRITICAL] SQLインジェクション脆弱性
|
||||||
File: app/routes/user.py:42
|
ファイル: app/routes/user.py:42
|
||||||
Issue: ユーザー入力がSQLクエリに直接補間されている
|
問題: ユーザー入力がSQLクエリに直接補間されている
|
||||||
Fix: パラメータ化クエリを使用
|
修正: パラメータ化クエリを使用
|
||||||
|
|
||||||
query = f"SELECT * FROM users WHERE id = {user_id}" # Bad
|
query = f"SELECT * FROM users WHERE id = {user_id}" # Bad
|
||||||
query = "SELECT * FROM users WHERE id = %s" # Good
|
query = "SELECT * FROM users WHERE id = %s" # Good
|
||||||
|
|||||||
@@ -35,12 +35,12 @@ echo "$(date +%Y-%m-%d-%H:%M) | $CHECKPOINT_NAME | $(git rev-parse --short HEAD)
|
|||||||
3. レポート:
|
3. レポート:
|
||||||
|
|
||||||
```
|
```
|
||||||
CHECKPOINT COMPARISON: $NAME
|
チェックポイント比較: $NAME
|
||||||
============================
|
============================
|
||||||
Files changed: X
|
変更されたファイル: X
|
||||||
Tests: +Y passed / -Z failed
|
テスト: +Y 合格 / -Z 失敗
|
||||||
Coverage: +X% / -Y%
|
カバレッジ: +X% / -Y%
|
||||||
Build: [PASS/FAIL]
|
ビルド: [PASS/FAIL]
|
||||||
```
|
```
|
||||||
|
|
||||||
## チェックポイント一覧表示
|
## チェックポイント一覧表示
|
||||||
@@ -57,13 +57,13 @@ Build: [PASS/FAIL]
|
|||||||
一般的なチェックポイント流:
|
一般的なチェックポイント流:
|
||||||
|
|
||||||
```
|
```
|
||||||
[Start] --> /checkpoint create "feature-start"
|
[開始] --> /checkpoint create "feature-start"
|
||||||
|
|
|
|
||||||
[Implement] --> /checkpoint create "core-done"
|
[実装] --> /checkpoint create "core-done"
|
||||||
|
|
|
|
||||||
[Test] --> /checkpoint verify "core-done"
|
[テスト] --> /checkpoint verify "core-done"
|
||||||
|
|
|
|
||||||
[Refactor] --> /checkpoint create "refactor-done"
|
[リファクタリング] --> /checkpoint create "refactor-done"
|
||||||
|
|
|
|
||||||
[PR] --> /checkpoint verify "feature-start"
|
[PR] --> /checkpoint verify "feature-start"
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -38,24 +38,24 @@ e2e-runner エージェントは:
|
|||||||
## 使用します示例
|
## 使用します示例
|
||||||
|
|
||||||
````
|
````
|
||||||
User: /e2e Test the market search and view flow
|
User: /e2e マーケット検索と表示フローをテスト
|
||||||
|
|
||||||
Agent (e2e-runner):
|
Agent (e2e-runner):
|
||||||
# E2E Test Generation: Market Search and View Flow
|
# E2Eテスト生成: マーケット検索と表示フロー
|
||||||
|
|
||||||
## Test Scenario Identified
|
## 特定されたテストシナリオ
|
||||||
|
|
||||||
**User Journey:** Market Search → View Results → Click Market → View Details
|
**ユーザージャーニー:** マーケット検索 → 結果表示 → マーケットクリック → 詳細表示
|
||||||
|
|
||||||
**Test Coverage:**
|
**テストカバレッジ:**
|
||||||
1. Navigate to markets page
|
1. マーケットページに遷移
|
||||||
2. Perform semantic search
|
2. セマンティック検索を実行
|
||||||
3. Verify search results
|
3. 検索結果を検証
|
||||||
4. Click on first result
|
4. 最初の結果をクリック
|
||||||
5. Verify market details page loads
|
5. マーケット詳細ページの読み込みを検証
|
||||||
6. Verify chart renders
|
6. チャートの描画を検証
|
||||||
|
|
||||||
## Generated Test Code
|
## 生成されたテストコード
|
||||||
|
|
||||||
```typescript
|
```typescript
|
||||||
// tests/e2e/markets/search-and-view.spec.ts
|
// tests/e2e/markets/search-and-view.spec.ts
|
||||||
@@ -160,18 +160,18 @@ test.describe('Market Search and View Flow', () => {
|
|||||||
## テスト実行
|
## テスト実行
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Run the generated test
|
# 生成されたテストを実行
|
||||||
npx playwright test tests/e2e/markets/search-and-view.spec.ts
|
npx playwright test tests/e2e/markets/search-and-view.spec.ts
|
||||||
|
|
||||||
Running 3 tests using 3 workers
|
3つのテストを3ワーカーで実行中
|
||||||
|
|
||||||
✓ [chromium] › search-and-view.spec.ts:5:3 › user can search markets and view details (4.2s)
|
✓ [chromium] › search-and-view.spec.ts:5:3 › user can search markets and view details (4.2s)
|
||||||
✓ [chromium] › search-and-view.spec.ts:52:3 › search with no results shows empty state (1.8s)
|
✓ [chromium] › search-and-view.spec.ts:52:3 › search with no results shows empty state (1.8s)
|
||||||
✓ [chromium] › search-and-view.spec.ts:67:3 › can clear search and see all markets again (2.9s)
|
✓ [chromium] › search-and-view.spec.ts:67:3 › can clear search and see all markets again (2.9s)
|
||||||
|
|
||||||
3 passed (9.1s)
|
3件合格 (9.1s)
|
||||||
|
|
||||||
Artifacts generated:
|
生成されたアーティファクト:
|
||||||
- artifacts/search-results.png
|
- artifacts/search-results.png
|
||||||
- artifacts/market-details.png
|
- artifacts/market-details.png
|
||||||
- playwright-report/index.html
|
- playwright-report/index.html
|
||||||
@@ -181,54 +181,54 @@ Artifacts generated:
|
|||||||
|
|
||||||
```
|
```
|
||||||
╔══════════════════════════════════════════════════════════════╗
|
╔══════════════════════════════════════════════════════════════╗
|
||||||
║ E2E Test Results ║
|
║ E2Eテスト結果 ║
|
||||||
╠══════════════════════════════════════════════════════════════╣
|
╠══════════════════════════════════════════════════════════════╣
|
||||||
║ Status: ✅ ALL TESTS PASSED ║
|
║ ステータス: ✅ 全テスト合格 ║
|
||||||
║ Total: 3 tests ║
|
║ 合計: 3テスト ║
|
||||||
║ Passed: 3 (100%) ║
|
║ 合格: 3 (100%) ║
|
||||||
║ Failed: 0 ║
|
║ 失敗: 0 ║
|
||||||
║ Flaky: 0 ║
|
║ 不安定: 0 ║
|
||||||
║ Duration: 9.1s ║
|
║ 所要時間: 9.1s ║
|
||||||
╚══════════════════════════════════════════════════════════════╝
|
╚══════════════════════════════════════════════════════════════╝
|
||||||
|
|
||||||
Artifacts:
|
アーティファクト:
|
||||||
📸 Screenshots: 2 files
|
📸 スクリーンショット: 2ファイル
|
||||||
📹 Videos: 0 files (only on failure)
|
📹 ビデオ: 0ファイル (失敗時のみ)
|
||||||
🔍 Traces: 0 files (only on failure)
|
🔍 トレース: 0ファイル (失敗時のみ)
|
||||||
📊 HTML Report: playwright-report/index.html
|
📊 HTMLレポート: playwright-report/index.html
|
||||||
|
|
||||||
View report: npx playwright show-report
|
レポート表示: npx playwright show-report
|
||||||
```
|
```
|
||||||
|
|
||||||
✅ E2E テストスイートは CI/CD 統合の準備ができました!
|
✅ E2E テストスイートは CI/CD 統合の準備ができました!
|
||||||
|
|
||||||
````
|
````
|
||||||
|
|
||||||
## Test Artifacts
|
## テストアーティファクト
|
||||||
|
|
||||||
When tests run, the following artifacts are captured:
|
テスト実行時、以下のアーティファクトがキャプチャされます:
|
||||||
|
|
||||||
**On All Tests:**
|
**全テスト共通:**
|
||||||
- HTML Report with timeline and results
|
- タイムラインと結果を含むHTMLレポート
|
||||||
- JUnit XML for CI integration
|
- CI統合用のJUnit XML
|
||||||
|
|
||||||
**On Failure Only:**
|
**失敗時のみ:**
|
||||||
- Screenshot of the failing state
|
- 失敗状態のスクリーンショット
|
||||||
- Video recording of the test
|
- テストのビデオ録画
|
||||||
- Trace file for debugging (step-by-step replay)
|
- デバッグ用トレースファイル (ステップバイステップ再生)
|
||||||
- Network logs
|
- ネットワークログ
|
||||||
- Console logs
|
- コンソールログ
|
||||||
|
|
||||||
## Viewing Artifacts
|
## アーティファクトの確認
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# View HTML report in browser
|
# ブラウザでHTMLレポートを表示
|
||||||
npx playwright show-report
|
npx playwright show-report
|
||||||
|
|
||||||
# View specific trace file
|
# 特定のトレースファイルを表示
|
||||||
npx playwright show-trace artifacts/trace-abc123.zip
|
npx playwright show-trace artifacts/trace-abc123.zip
|
||||||
|
|
||||||
# Screenshots are saved in artifacts/ directory
|
# スクリーンショットはartifacts/ディレクトリに保存
|
||||||
open artifacts/search-results.png
|
open artifacts/search-results.png
|
||||||
````
|
````
|
||||||
|
|
||||||
@@ -239,18 +239,18 @@ open artifacts/search-results.png
|
|||||||
```
|
```
|
||||||
⚠️ FLAKY TEST DETECTED: tests/e2e/markets/trade.spec.ts
|
⚠️ FLAKY TEST DETECTED: tests/e2e/markets/trade.spec.ts
|
||||||
|
|
||||||
Test passed 7/10 runs (70% pass rate)
|
テストは10回中7回合格 (合格率70%)
|
||||||
|
|
||||||
Common failure:
|
よくある失敗:
|
||||||
"Timeout waiting for element '[data-testid="confirm-btn"]'"
|
"Timeout waiting for element '[data-testid="confirm-btn"]'"
|
||||||
|
|
||||||
Recommended fixes:
|
推奨修正:
|
||||||
1. Add explicit wait: await page.waitForSelector('[data-testid="confirm-btn"]')
|
1. 明示的な待機を追加: await page.waitForSelector('[data-testid="confirm-btn"]')
|
||||||
2. Increase timeout: { timeout: 10000 }
|
2. タイムアウトを増加: { timeout: 10000 }
|
||||||
3. Check for race conditions in component
|
3. コンポーネントの競合状態を確認
|
||||||
4. Verify element is not hidden by animation
|
4. 要素がアニメーションで隠れていないか確認
|
||||||
|
|
||||||
Quarantine recommendation: Mark as test.fixme() until fixed
|
隔離推奨: 修正されるまでtest.fixme()としてマーク
|
||||||
```
|
```
|
||||||
|
|
||||||
## ブラウザ設定
|
## ブラウザ設定
|
||||||
@@ -350,21 +350,21 @@ PMX の場合、以下の E2E テストを優先:
|
|||||||
## 快速命令
|
## 快速命令
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Run all E2E tests
|
# 全E2Eテストを実行
|
||||||
npx playwright test
|
npx playwright test
|
||||||
|
|
||||||
# Run specific test file
|
# 特定のテストファイルを実行
|
||||||
npx playwright test tests/e2e/markets/search.spec.ts
|
npx playwright test tests/e2e/markets/search.spec.ts
|
||||||
|
|
||||||
# Run in headed mode (see browser)
|
# ヘッドモードで実行 (ブラウザ表示)
|
||||||
npx playwright test --headed
|
npx playwright test --headed
|
||||||
|
|
||||||
# Debug test
|
# テストをデバッグ
|
||||||
npx playwright test --debug
|
npx playwright test --debug
|
||||||
|
|
||||||
# Generate test code
|
# テストコードを生成
|
||||||
npx playwright codegen http://localhost:3000
|
npx playwright codegen http://localhost:3000
|
||||||
|
|
||||||
# View report
|
# レポートを表示
|
||||||
npx playwright show-report
|
npx playwright show-report
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -92,36 +92,36 @@ instinctsが分離の恩恵を受ける複雑な複数ステップのプロセ
|
|||||||
## 出力フォーマット
|
## 出力フォーマット
|
||||||
|
|
||||||
```
|
```
|
||||||
🧬 Evolve Analysis
|
🧬 進化分析
|
||||||
==================
|
==================
|
||||||
|
|
||||||
進化の準備ができた3つのクラスターを発見:
|
進化の準備ができた3つのクラスターを発見:
|
||||||
|
|
||||||
## クラスター1: データベースマイグレーションワークフロー
|
## クラスター1: データベースマイグレーションワークフロー
|
||||||
Instincts: new-table-migration, update-schema, regenerate-types
|
Instincts: new-table-migration, update-schema, regenerate-types
|
||||||
Type: Command
|
タイプ: Command
|
||||||
Confidence: 85%(12件の観測に基づく)
|
信頼度: 85%(12件の観測に基づく)
|
||||||
|
|
||||||
作成: /new-tableコマンド
|
作成: /new-tableコマンド
|
||||||
Files:
|
ファイル:
|
||||||
- ~/.claude/homunculus/evolved/commands/new-table.md
|
- ~/.claude/homunculus/evolved/commands/new-table.md
|
||||||
|
|
||||||
## クラスター2: 関数型コードスタイル
|
## クラスター2: 関数型コードスタイル
|
||||||
Instincts: prefer-functional, use-immutable, avoid-classes, pure-functions
|
Instincts: prefer-functional, use-immutable, avoid-classes, pure-functions
|
||||||
Type: Skill
|
タイプ: Skill
|
||||||
Confidence: 78%(8件の観測に基づく)
|
信頼度: 78%(8件の観測に基づく)
|
||||||
|
|
||||||
作成: functional-patternsスキル
|
作成: functional-patternsスキル
|
||||||
Files:
|
ファイル:
|
||||||
- ~/.claude/homunculus/evolved/skills/functional-patterns.md
|
- ~/.claude/homunculus/evolved/skills/functional-patterns.md
|
||||||
|
|
||||||
## クラスター3: デバッグプロセス
|
## クラスター3: デバッグプロセス
|
||||||
Instincts: debug-check-logs, debug-isolate, debug-reproduce, debug-verify
|
Instincts: debug-check-logs, debug-isolate, debug-reproduce, debug-verify
|
||||||
Type: Agent
|
タイプ: Agent
|
||||||
Confidence: 72%(6件の観測に基づく)
|
信頼度: 72%(6件の観測に基づく)
|
||||||
|
|
||||||
作成: debuggerエージェント
|
作成: debuggerエージェント
|
||||||
Files:
|
ファイル:
|
||||||
- ~/.claude/homunculus/evolved/agents/debugger.md
|
- ~/.claude/homunculus/evolved/agents/debugger.md
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
@@ -62,9 +62,9 @@ internal/handler/api.go:58:2: missing return at end of function
|
|||||||
|
|
||||||
## 修正1: 未定義の識別子
|
## 修正1: 未定義の識別子
|
||||||
|
|
||||||
File: internal/service/user.go:25
|
ファイル: internal/service/user.go:25
|
||||||
Error: undefined: UserRepository
|
エラー: undefined: UserRepository
|
||||||
Cause: インポート欠落
|
原因: インポート欠落
|
||||||
|
|
||||||
```go
|
```go
|
||||||
// インポートを追加
|
// インポートを追加
|
||||||
@@ -83,8 +83,8 @@ $ go build ./...
|
|||||||
|
|
||||||
## 修正2: 型の不一致
|
## 修正2: 型の不一致
|
||||||
|
|
||||||
File: internal/handler/api.go:42
|
ファイル: internal/handler/api.go:42
|
||||||
Error: cannot use x (type string) as type int
|
エラー: cannot use x (type string) as type int
|
||||||
|
|
||||||
```go
|
```go
|
||||||
// 変更前
|
// 変更前
|
||||||
@@ -101,8 +101,8 @@ $ go build ./...
|
|||||||
|
|
||||||
## 修正3: 戻り値の欠落
|
## 修正3: 戻り値の欠落
|
||||||
|
|
||||||
File: internal/handler/api.go:58
|
ファイル: internal/handler/api.go:58
|
||||||
Error: missing return at end of function
|
エラー: missing return at end of function
|
||||||
|
|
||||||
```go
|
```go
|
||||||
func GetUser(id string) (*User, error) {
|
func GetUser(id string) (*User, error) {
|
||||||
|
|||||||
@@ -85,8 +85,8 @@ Agent:
|
|||||||
## 発見された問題
|
## 発見された問題
|
||||||
|
|
||||||
[CRITICAL] 競合状態
|
[CRITICAL] 競合状態
|
||||||
File: internal/service/auth.go:45
|
ファイル: internal/service/auth.go:45
|
||||||
Issue: 同期化なしで共有マップにアクセス
|
問題: 同期化なしで共有マップにアクセス
|
||||||
```go
|
```go
|
||||||
var cache = map[string]*Session{} // 並行アクセス!
|
var cache = map[string]*Session{} // 並行アクセス!
|
||||||
|
|
||||||
@@ -94,7 +94,7 @@ func GetSession(id string) *Session {
|
|||||||
return cache[id] // 競合状態
|
return cache[id] // 競合状態
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
Fix: sync.RWMutexまたはsync.Mapを使用
|
修正: sync.RWMutexまたはsync.Mapを使用
|
||||||
```go
|
```go
|
||||||
var (
|
var (
|
||||||
cache = map[string]*Session{}
|
cache = map[string]*Session{}
|
||||||
@@ -109,12 +109,12 @@ func GetSession(id string) *Session {
|
|||||||
```
|
```
|
||||||
|
|
||||||
[HIGH] エラーコンテキストの欠落
|
[HIGH] エラーコンテキストの欠落
|
||||||
File: internal/handler/user.go:28
|
ファイル: internal/handler/user.go:28
|
||||||
Issue: コンテキストなしでエラーを返す
|
問題: コンテキストなしでエラーを返す
|
||||||
```go
|
```go
|
||||||
return err // コンテキストなし
|
return err // コンテキストなし
|
||||||
```
|
```
|
||||||
Fix: コンテキストでラップ
|
修正: コンテキストでラップ
|
||||||
```go
|
```go
|
||||||
return fmt.Errorf("get user %s: %w", userID, err)
|
return fmt.Errorf("get user %s: %w", userID, err)
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -45,40 +45,40 @@ python3 ~/.claude/skills/continuous-learning-v2/scripts/instinct-cli.py import <
|
|||||||
## インポートプロセス
|
## インポートプロセス
|
||||||
|
|
||||||
```
|
```
|
||||||
📥 Importing instincts from: team-instincts.yaml
|
📥 instinctsをインポート中: team-instincts.yaml
|
||||||
================================================
|
================================================
|
||||||
|
|
||||||
Found 12 instincts to import.
|
12件のinstinctsが見つかりました。
|
||||||
|
|
||||||
Analyzing conflicts...
|
競合を分析中...
|
||||||
|
|
||||||
## New Instincts (8)
|
## 新規instincts (8)
|
||||||
These will be added:
|
以下が追加されます:
|
||||||
✓ use-zod-validation (confidence: 0.7)
|
✓ use-zod-validation (confidence: 0.7)
|
||||||
✓ prefer-named-exports (confidence: 0.65)
|
✓ prefer-named-exports (confidence: 0.65)
|
||||||
✓ test-async-functions (confidence: 0.8)
|
✓ test-async-functions (confidence: 0.8)
|
||||||
...
|
...
|
||||||
|
|
||||||
## Duplicate Instincts (3)
|
## 重複instincts (3)
|
||||||
Already have similar instincts:
|
類似のinstinctsが既に存在:
|
||||||
⚠️ prefer-functional-style
|
⚠️ prefer-functional-style
|
||||||
Local: 0.8 confidence, 12 observations
|
ローカル: 信頼度0.8, 12回の観測
|
||||||
Import: 0.7 confidence
|
インポート: 信頼度0.7
|
||||||
→ Keep local (higher confidence)
|
→ ローカルを保持 (信頼度が高い)
|
||||||
|
|
||||||
⚠️ test-first-workflow
|
⚠️ test-first-workflow
|
||||||
Local: 0.75 confidence
|
ローカル: 信頼度0.75
|
||||||
Import: 0.9 confidence
|
インポート: 信頼度0.9
|
||||||
→ Update to import (higher confidence)
|
→ インポートに更新 (信頼度が高い)
|
||||||
|
|
||||||
## Conflicting Instincts (1)
|
## 競合instincts (1)
|
||||||
These contradict local instincts:
|
ローカルのinstinctsと矛盾:
|
||||||
❌ use-classes-for-services
|
❌ use-classes-for-services
|
||||||
Conflicts with: avoid-classes
|
競合: avoid-classes
|
||||||
→ Skip (requires manual resolution)
|
→ スキップ (手動解決が必要)
|
||||||
|
|
||||||
---
|
---
|
||||||
Import 8 new, update 1, skip 3?
|
8件を新規追加、1件を更新、3件をスキップしますか?
|
||||||
```
|
```
|
||||||
|
|
||||||
## マージ戦略
|
## マージ戦略
|
||||||
@@ -130,13 +130,13 @@ Skill Creatorからインポートする場合:
|
|||||||
|
|
||||||
インポート後:
|
インポート後:
|
||||||
```
|
```
|
||||||
✅ Import complete!
|
✅ インポート完了!
|
||||||
|
|
||||||
Added: 8 instincts
|
追加: 8件のinstincts
|
||||||
Updated: 1 instinct
|
更新: 1件のinstinct
|
||||||
Skipped: 3 instincts (2 duplicates, 1 conflict)
|
スキップ: 3件のinstincts (2件の重複, 1件の競合)
|
||||||
|
|
||||||
New instincts saved to: ~/.claude/homunculus/instincts/inherited/
|
新規instinctsの保存先: ~/.claude/homunculus/instincts/inherited/
|
||||||
|
|
||||||
Run /instinct-status to see all instincts.
|
/instinct-statusを実行してすべてのinstinctsを確認できます。
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -39,42 +39,42 @@ python3 ~/.claude/skills/continuous-learning-v2/scripts/instinct-cli.py status
|
|||||||
## 出力形式
|
## 出力形式
|
||||||
|
|
||||||
```
|
```
|
||||||
📊 Instinct Status
|
📊 instinctステータス
|
||||||
==================
|
==================
|
||||||
|
|
||||||
## Code Style (4 instincts)
|
## コードスタイル (4 instincts)
|
||||||
|
|
||||||
### prefer-functional-style
|
### prefer-functional-style
|
||||||
Trigger: when writing new functions
|
トリガー: 新しい関数を書くとき
|
||||||
Action: Use functional patterns over classes
|
アクション: クラスより関数型パターンを使用
|
||||||
Confidence: ████████░░ 80%
|
信頼度: ████████░░ 80%
|
||||||
Source: session-observation | Last updated: 2025-01-22
|
ソース: session-observation | 最終更新: 2025-01-22
|
||||||
|
|
||||||
### use-path-aliases
|
### use-path-aliases
|
||||||
Trigger: when importing modules
|
トリガー: モジュールをインポートするとき
|
||||||
Action: Use @/ path aliases instead of relative imports
|
アクション: 相対インポートの代わりに@/パスエイリアスを使用
|
||||||
Confidence: ██████░░░░ 60%
|
信頼度: ██████░░░░ 60%
|
||||||
Source: repo-analysis (github.com/acme/webapp)
|
ソース: repo-analysis (github.com/acme/webapp)
|
||||||
|
|
||||||
## Testing (2 instincts)
|
## テスト (2 instincts)
|
||||||
|
|
||||||
### test-first-workflow
|
### test-first-workflow
|
||||||
Trigger: when adding new functionality
|
トリガー: 新しい機能を追加するとき
|
||||||
Action: Write test first, then implementation
|
アクション: テストを先に書き、次に実装
|
||||||
Confidence: █████████░ 90%
|
信頼度: █████████░ 90%
|
||||||
Source: session-observation
|
ソース: session-observation
|
||||||
|
|
||||||
## Workflow (3 instincts)
|
## ワークフロー (3 instincts)
|
||||||
|
|
||||||
### grep-before-edit
|
### grep-before-edit
|
||||||
Trigger: when modifying code
|
トリガー: コードを変更するとき
|
||||||
Action: Search with Grep, confirm with Read, then Edit
|
アクション: Grepで検索、Readで確認、次にEdit
|
||||||
Confidence: ███████░░░ 70%
|
信頼度: ███████░░░ 70%
|
||||||
Source: session-observation
|
ソース: session-observation
|
||||||
|
|
||||||
---
|
---
|
||||||
Total: 9 instincts (4 personal, 5 inherited)
|
合計: 9 instincts (4個人, 5継承)
|
||||||
Observer: Running (last analysis: 5 min ago)
|
オブザーバー: 実行中 (最終分析: 5分前)
|
||||||
```
|
```
|
||||||
|
|
||||||
## フラグ
|
## フラグ
|
||||||
|
|||||||
@@ -99,36 +99,36 @@ security-reviewer -> code-reviewer -> architect
|
|||||||
## 最終レポート形式
|
## 最終レポート形式
|
||||||
|
|
||||||
```
|
```
|
||||||
ORCHESTRATION REPORT
|
オーケストレーションレポート
|
||||||
====================
|
====================
|
||||||
Workflow: feature
|
ワークフロー: feature
|
||||||
Task: Add user authentication
|
タスク: ユーザー認証の追加
|
||||||
Agents: planner -> tdd-guide -> code-reviewer -> security-reviewer
|
エージェント: planner -> tdd-guide -> code-reviewer -> security-reviewer
|
||||||
|
|
||||||
SUMMARY
|
サマリー
|
||||||
-------
|
-------
|
||||||
[1段落の要約]
|
[1段落の要約]
|
||||||
|
|
||||||
AGENT OUTPUTS
|
エージェント出力
|
||||||
-------------
|
-------------
|
||||||
Planner: [要約]
|
Planner: [要約]
|
||||||
TDD Guide: [要約]
|
TDD Guide: [要約]
|
||||||
Code Reviewer: [要約]
|
Code Reviewer: [要約]
|
||||||
Security Reviewer: [要約]
|
Security Reviewer: [要約]
|
||||||
|
|
||||||
FILES CHANGED
|
変更ファイル
|
||||||
-------------
|
-------------
|
||||||
[変更されたすべてのファイルをリスト]
|
[変更されたすべてのファイルをリスト]
|
||||||
|
|
||||||
TEST RESULTS
|
テスト結果
|
||||||
------------
|
------------
|
||||||
[テスト合格/不合格の要約]
|
[テスト合格/不合格の要約]
|
||||||
|
|
||||||
SECURITY STATUS
|
セキュリティステータス
|
||||||
---------------
|
---------------
|
||||||
[セキュリティの発見事項]
|
[セキュリティの発見事項]
|
||||||
|
|
||||||
RECOMMENDATION
|
推奨事項
|
||||||
--------------
|
--------------
|
||||||
[リリース可 / 要修正 / ブロック中]
|
[リリース可 / 要修正 / ブロック中]
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -95,26 +95,26 @@ Agent:
|
|||||||
## 発見された問題
|
## 発見された問題
|
||||||
|
|
||||||
[CRITICAL] SQLインジェクション脆弱性
|
[CRITICAL] SQLインジェクション脆弱性
|
||||||
File: app/routes/user.py:42
|
ファイル: app/routes/user.py:42
|
||||||
Issue: ユーザー入力が直接SQLクエリに挿入されている
|
問題: ユーザー入力が直接SQLクエリに挿入されている
|
||||||
```python
|
```python
|
||||||
query = f"SELECT * FROM users WHERE id = {user_id}" # 悪い
|
query = f"SELECT * FROM users WHERE id = {user_id}" # 悪い
|
||||||
```
|
```
|
||||||
Fix: パラメータ化クエリを使用
|
修正: パラメータ化クエリを使用
|
||||||
```python
|
```python
|
||||||
query = "SELECT * FROM users WHERE id = %s" # 良い
|
query = "SELECT * FROM users WHERE id = %s" # 良い
|
||||||
cursor.execute(query, (user_id,))
|
cursor.execute(query, (user_id,))
|
||||||
```
|
```
|
||||||
|
|
||||||
[HIGH] 可変デフォルト引数
|
[HIGH] 可変デフォルト引数
|
||||||
File: app/services/auth.py:18
|
ファイル: app/services/auth.py:18
|
||||||
Issue: 可変デフォルト引数が共有状態を引き起こす
|
問題: 可変デフォルト引数が共有状態を引き起こす
|
||||||
```python
|
```python
|
||||||
def process_items(items=[]): # 悪い
|
def process_items(items=[]): # 悪い
|
||||||
items.append("new")
|
items.append("new")
|
||||||
return items
|
return items
|
||||||
```
|
```
|
||||||
Fix: デフォルトにNoneを使用
|
修正: デフォルトにNoneを使用
|
||||||
```python
|
```python
|
||||||
def process_items(items=None): # 良い
|
def process_items(items=None): # 良い
|
||||||
if items is None:
|
if items is None:
|
||||||
@@ -124,27 +124,27 @@ def process_items(items=None): # 良い
|
|||||||
```
|
```
|
||||||
|
|
||||||
[MEDIUM] 型ヒントの欠落
|
[MEDIUM] 型ヒントの欠落
|
||||||
File: app/services/auth.py:25
|
ファイル: app/services/auth.py:25
|
||||||
Issue: 型アノテーションのない公開関数
|
問題: 型アノテーションのない公開関数
|
||||||
```python
|
```python
|
||||||
def get_user(user_id): # 悪い
|
def get_user(user_id): # 悪い
|
||||||
return db.find(user_id)
|
return db.find(user_id)
|
||||||
```
|
```
|
||||||
Fix: 型ヒントを追加
|
修正: 型ヒントを追加
|
||||||
```python
|
```python
|
||||||
def get_user(user_id: str) -> Optional[User]: # 良い
|
def get_user(user_id: str) -> Optional[User]: # 良い
|
||||||
return db.find(user_id)
|
return db.find(user_id)
|
||||||
```
|
```
|
||||||
|
|
||||||
[MEDIUM] コンテキストマネージャーを使用していない
|
[MEDIUM] コンテキストマネージャーを使用していない
|
||||||
File: app/routes/user.py:55
|
ファイル: app/routes/user.py:55
|
||||||
Issue: 例外時にファイルがクローズされない
|
問題: 例外時にファイルがクローズされない
|
||||||
```python
|
```python
|
||||||
f = open("config.json") # 悪い
|
f = open("config.json") # 悪い
|
||||||
data = f.read()
|
data = f.read()
|
||||||
f.close()
|
f.close()
|
||||||
```
|
```
|
||||||
Fix: コンテキストマネージャーを使用
|
修正: コンテキストマネージャーを使用
|
||||||
```python
|
```python
|
||||||
with open("config.json") as f: # 良い
|
with open("config.json") as f: # 良い
|
||||||
data = f.read()
|
data = f.read()
|
||||||
|
|||||||
@@ -36,16 +36,16 @@
|
|||||||
簡潔な検証レポートを生成します:
|
簡潔な検証レポートを生成します:
|
||||||
|
|
||||||
```
|
```
|
||||||
VERIFICATION: [PASS/FAIL]
|
検証結果: [PASS/FAIL]
|
||||||
|
|
||||||
Build: [OK/FAIL]
|
ビルド: [OK/FAIL]
|
||||||
Types: [OK/X errors]
|
型: [OK/Xエラー]
|
||||||
Lint: [OK/X issues]
|
Lint: [OK/X件の問題]
|
||||||
Tests: [X/Y passed, Z% coverage]
|
テスト: [X/Y合格, Z%カバレッジ]
|
||||||
Secrets: [OK/X found]
|
シークレット: [OK/X件発見]
|
||||||
Logs: [OK/X console.logs]
|
ログ: [OK/X件のconsole.log]
|
||||||
|
|
||||||
Ready for PR: [YES/NO]
|
PR準備完了: [YES/NO]
|
||||||
```
|
```
|
||||||
|
|
||||||
重大な問題がある場合は、修正案とともにリストアップします。
|
重大な問題がある場合は、修正案とともにリストアップします。
|
||||||
|
|||||||
@@ -43,7 +43,7 @@
|
|||||||
|
|
||||||
```
|
```
|
||||||
src/
|
src/
|
||||||
|-- app/ # Next.js app router
|
|-- app/ # Next.js App Router
|
||||||
|-- components/ # 再利用可能なUIコンポーネント
|
|-- components/ # 再利用可能なUIコンポーネント
|
||||||
|-- hooks/ # カスタムReactフック
|
|-- hooks/ # カスタムReactフック
|
||||||
|-- lib/ # ユーティリティライブラリ
|
|-- lib/ # ユーティリティライブラリ
|
||||||
|
|||||||
@@ -3,9 +3,9 @@
|
|||||||
## コミットメッセージフォーマット
|
## コミットメッセージフォーマット
|
||||||
|
|
||||||
```
|
```
|
||||||
<type>: <description>
|
<type>: <説明>
|
||||||
|
|
||||||
<optional body>
|
<任意の本文>
|
||||||
```
|
```
|
||||||
|
|
||||||
タイプ: feat, fix, refactor, docs, test, chore, perf, ci
|
タイプ: feat, fix, refactor, docs, test, chore, perf, ci
|
||||||
|
|||||||
@@ -234,14 +234,14 @@ setCount(count + 1) // Can be stale in async scenarios
|
|||||||
### REST API規約
|
### REST API規約
|
||||||
|
|
||||||
```
|
```
|
||||||
GET /api/markets # List all markets
|
GET /api/markets # すべてのマーケットを一覧
|
||||||
GET /api/markets/:id # Get specific market
|
GET /api/markets/:id # 特定のマーケットを取得
|
||||||
POST /api/markets # Create new market
|
POST /api/markets # 新しいマーケットを作成
|
||||||
PUT /api/markets/:id # Update market (full)
|
PUT /api/markets/:id # マーケットを更新(全体)
|
||||||
PATCH /api/markets/:id # Update market (partial)
|
PATCH /api/markets/:id # マーケットを更新(部分)
|
||||||
DELETE /api/markets/:id # Delete market
|
DELETE /api/markets/:id # マーケットを削除
|
||||||
|
|
||||||
# Query parameters for filtering
|
# フィルタリング用クエリパラメータ
|
||||||
GET /api/markets?status=active&limit=10&offset=0
|
GET /api/markets?status=active&limit=10&offset=0
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -312,29 +312,29 @@ export async function POST(request: Request) {
|
|||||||
```
|
```
|
||||||
src/
|
src/
|
||||||
├── app/ # Next.js App Router
|
├── app/ # Next.js App Router
|
||||||
│ ├── api/ # API routes
|
│ ├── api/ # API ルート
|
||||||
│ ├── markets/ # Market pages
|
│ ├── markets/ # マーケットページ
|
||||||
│ └── (auth)/ # Auth pages (route groups)
|
│ └── (auth)/ # 認証ページ(ルートグループ)
|
||||||
├── components/ # React components
|
├── components/ # React コンポーネント
|
||||||
│ ├── ui/ # Generic UI components
|
│ ├── ui/ # 汎用 UI コンポーネント
|
||||||
│ ├── forms/ # Form components
|
│ ├── forms/ # フォームコンポーネント
|
||||||
│ └── layouts/ # Layout components
|
│ └── layouts/ # レイアウトコンポーネント
|
||||||
├── hooks/ # Custom React hooks
|
├── hooks/ # カスタム React フック
|
||||||
├── lib/ # Utilities and configs
|
├── lib/ # ユーティリティと設定
|
||||||
│ ├── api/ # API clients
|
│ ├── api/ # API クライアント
|
||||||
│ ├── utils/ # Helper functions
|
│ ├── utils/ # ヘルパー関数
|
||||||
│ └── constants/ # Constants
|
│ └── constants/ # 定数
|
||||||
├── types/ # TypeScript types
|
├── types/ # TypeScript 型定義
|
||||||
└── styles/ # Global styles
|
└── styles/ # グローバルスタイル
|
||||||
```
|
```
|
||||||
|
|
||||||
### ファイル命名
|
### ファイル命名
|
||||||
|
|
||||||
```
|
```
|
||||||
components/Button.tsx # PascalCase for components
|
components/Button.tsx # コンポーネントは PascalCase
|
||||||
hooks/useAuth.ts # camelCase with 'use' prefix
|
hooks/useAuth.ts # フックは 'use' プレフィックス付き camelCase
|
||||||
lib/formatDate.ts # camelCase for utilities
|
lib/formatDate.ts # ユーティリティは camelCase
|
||||||
types/market.types.ts # camelCase with .types suffix
|
types/market.types.ts # 型定義は .types サフィックス付き camelCase
|
||||||
```
|
```
|
||||||
|
|
||||||
## コメントとドキュメント
|
## コメントとドキュメント
|
||||||
|
|||||||
@@ -51,13 +51,13 @@ source: "session-observation"
|
|||||||
## 仕組み
|
## 仕組み
|
||||||
|
|
||||||
```
|
```
|
||||||
Session Activity
|
セッションアクティビティ
|
||||||
│
|
│
|
||||||
│ フックがプロンプト + ツール使用をキャプチャ(100%信頼性)
|
│ フックがプロンプト + ツール使用をキャプチャ(100%信頼性)
|
||||||
▼
|
▼
|
||||||
┌─────────────────────────────────────────┐
|
┌─────────────────────────────────────────┐
|
||||||
│ observations.jsonl │
|
│ observations.jsonl │
|
||||||
│ (prompts, tool calls, outcomes) │
|
│ (プロンプト、ツール呼び出し、結果) │
|
||||||
└─────────────────────────────────────────┘
|
└─────────────────────────────────────────┘
|
||||||
│
|
│
|
||||||
│ Observerエージェントが読み取り(バックグラウンド、Haiku)
|
│ Observerエージェントが読み取り(バックグラウンド、Haiku)
|
||||||
|
|||||||
@@ -22,24 +22,24 @@ Claude Codeセッションの正式な評価フレームワークで、評価駆
|
|||||||
Claudeが以前できなかったことができるようになったかをテスト:
|
Claudeが以前できなかったことができるようになったかをテスト:
|
||||||
```markdown
|
```markdown
|
||||||
[CAPABILITY EVAL: feature-name]
|
[CAPABILITY EVAL: feature-name]
|
||||||
Task: Claudeが達成すべきことの説明
|
タスク: Claudeが達成すべきことの説明
|
||||||
Success Criteria:
|
成功基準:
|
||||||
- [ ] 基準1
|
- [ ] 基準1
|
||||||
- [ ] 基準2
|
- [ ] 基準2
|
||||||
- [ ] 基準3
|
- [ ] 基準3
|
||||||
Expected Output: 期待される結果の説明
|
期待される出力: 期待される結果の説明
|
||||||
```
|
```
|
||||||
|
|
||||||
### リグレッション評価
|
### リグレッション評価
|
||||||
変更が既存の機能を破壊しないことを確認:
|
変更が既存の機能を破壊しないことを確認:
|
||||||
```markdown
|
```markdown
|
||||||
[REGRESSION EVAL: feature-name]
|
[REGRESSION EVAL: feature-name]
|
||||||
Baseline: SHAまたはチェックポイント名
|
ベースライン: SHAまたはチェックポイント名
|
||||||
Tests:
|
テスト:
|
||||||
- existing-test-1: PASS/FAIL
|
- existing-test-1: PASS/FAIL
|
||||||
- existing-test-2: PASS/FAIL
|
- existing-test-2: PASS/FAIL
|
||||||
- existing-test-3: PASS/FAIL
|
- existing-test-3: PASS/FAIL
|
||||||
Result: X/Y passed (previously Y/Y)
|
結果: X/Y 成功(以前は Y/Y)
|
||||||
```
|
```
|
||||||
|
|
||||||
## 評価者タイプ
|
## 評価者タイプ
|
||||||
@@ -67,17 +67,17 @@ Claudeを使用して自由形式の出力を評価:
|
|||||||
3. エッジケースは処理されていますか?
|
3. エッジケースは処理されていますか?
|
||||||
4. エラー処理は適切ですか?
|
4. エラー処理は適切ですか?
|
||||||
|
|
||||||
Score: 1-5 (1=poor, 5=excellent)
|
スコア: 1-5(1=不良、5=優秀)
|
||||||
Reasoning: [説明]
|
理由: [説明]
|
||||||
```
|
```
|
||||||
|
|
||||||
### 3. 人間評価者
|
### 3. 人間評価者
|
||||||
手動レビューのためにフラグを立てる:
|
手動レビューのためにフラグを立てる:
|
||||||
```markdown
|
```markdown
|
||||||
[HUMAN REVIEW REQUIRED]
|
[HUMAN REVIEW REQUIRED]
|
||||||
Change: 何が変更されたかの説明
|
変更内容: 何が変更されたかの説明
|
||||||
Reason: 人間のレビューが必要な理由
|
理由: 人間のレビューが必要な理由
|
||||||
Risk Level: LOW/MEDIUM/HIGH
|
リスクレベル: LOW/MEDIUM/HIGH
|
||||||
```
|
```
|
||||||
|
|
||||||
## メトリクス
|
## メトリクス
|
||||||
@@ -98,21 +98,21 @@ Risk Level: LOW/MEDIUM/HIGH
|
|||||||
|
|
||||||
### 1. 定義(コーディング前)
|
### 1. 定義(コーディング前)
|
||||||
```markdown
|
```markdown
|
||||||
## EVAL DEFINITION: feature-xyz
|
## 評価定義: feature-xyz
|
||||||
|
|
||||||
### Capability Evals
|
### 能力評価
|
||||||
1. 新しいユーザーアカウントを作成できる
|
1. 新しいユーザーアカウントを作成できる
|
||||||
2. メール形式を検証できる
|
2. メール形式を検証できる
|
||||||
3. パスワードを安全にハッシュ化できる
|
3. パスワードを安全にハッシュ化できる
|
||||||
|
|
||||||
### Regression Evals
|
### リグレッション評価
|
||||||
1. 既存のログインが引き続き機能する
|
1. 既存のログインが引き続き機能する
|
||||||
2. セッション管理が変更されていない
|
2. セッション管理が変更されていない
|
||||||
3. ログアウトフローが維持されている
|
3. ログアウトフローが維持されている
|
||||||
|
|
||||||
### Success Metrics
|
### 成功メトリクス
|
||||||
- pass@3 > 90% for capability evals
|
- 能力評価で pass@3 > 90%
|
||||||
- pass^3 = 100% for regression evals
|
- リグレッション評価で pass^3 = 100%
|
||||||
```
|
```
|
||||||
|
|
||||||
### 2. 実装
|
### 2. 実装
|
||||||
@@ -131,26 +131,26 @@ npm test -- --testPathPattern="existing"
|
|||||||
|
|
||||||
### 4. レポート
|
### 4. レポート
|
||||||
```markdown
|
```markdown
|
||||||
EVAL REPORT: feature-xyz
|
評価レポート: feature-xyz
|
||||||
========================
|
========================
|
||||||
|
|
||||||
Capability Evals:
|
能力評価:
|
||||||
create-user: PASS (pass@1)
|
create-user: PASS (pass@1)
|
||||||
validate-email: PASS (pass@2)
|
validate-email: PASS (pass@2)
|
||||||
hash-password: PASS (pass@1)
|
hash-password: PASS (pass@1)
|
||||||
Overall: 3/3 passed
|
全体: 3/3 成功
|
||||||
|
|
||||||
Regression Evals:
|
リグレッション評価:
|
||||||
login-flow: PASS
|
login-flow: PASS
|
||||||
session-mgmt: PASS
|
session-mgmt: PASS
|
||||||
logout-flow: PASS
|
logout-flow: PASS
|
||||||
Overall: 3/3 passed
|
全体: 3/3 成功
|
||||||
|
|
||||||
Metrics:
|
メトリクス:
|
||||||
pass@1: 67% (2/3)
|
pass@1: 67% (2/3)
|
||||||
pass@3: 100% (3/3)
|
pass@3: 100% (3/3)
|
||||||
|
|
||||||
Status: READY FOR REVIEW
|
ステータス: レビュー準備完了
|
||||||
```
|
```
|
||||||
|
|
||||||
## 統合パターン
|
## 統合パターン
|
||||||
@@ -199,29 +199,29 @@ Status: READY FOR REVIEW
|
|||||||
```markdown
|
```markdown
|
||||||
## EVAL: add-authentication
|
## EVAL: add-authentication
|
||||||
|
|
||||||
### Phase 1: Define (10 min)
|
### フェーズ 1: 定義(10分)
|
||||||
Capability Evals:
|
能力評価:
|
||||||
- [ ] ユーザーはメール/パスワードで登録できる
|
- [ ] ユーザーはメール/パスワードで登録できる
|
||||||
- [ ] ユーザーは有効な資格情報でログインできる
|
- [ ] ユーザーは有効な資格情報でログインできる
|
||||||
- [ ] 無効な資格情報は適切なエラーで拒否される
|
- [ ] 無効な資格情報は適切なエラーで拒否される
|
||||||
- [ ] セッションはページリロード後も持続する
|
- [ ] セッションはページリロード後も持続する
|
||||||
- [ ] ログアウトはセッションをクリアする
|
- [ ] ログアウトはセッションをクリアする
|
||||||
|
|
||||||
Regression Evals:
|
リグレッション評価:
|
||||||
- [ ] 公開ルートは引き続きアクセス可能
|
- [ ] 公開ルートは引き続きアクセス可能
|
||||||
- [ ] APIレスポンスは変更されていない
|
- [ ] APIレスポンスは変更されていない
|
||||||
- [ ] データベーススキーマは互換性がある
|
- [ ] データベーススキーマは互換性がある
|
||||||
|
|
||||||
### Phase 2: Implement (varies)
|
### フェーズ 2: 実装(可変)
|
||||||
[コードを書く]
|
[コードを書く]
|
||||||
|
|
||||||
### Phase 3: Evaluate
|
### フェーズ 3: 評価
|
||||||
Run: /eval check add-authentication
|
Run: /eval check add-authentication
|
||||||
|
|
||||||
### Phase 4: Report
|
### フェーズ 4: レポート
|
||||||
EVAL REPORT: add-authentication
|
評価レポート: add-authentication
|
||||||
==============================
|
==============================
|
||||||
Capability: 5/5 passed (pass@3: 100%)
|
能力: 5/5 成功(pass@3: 100%)
|
||||||
Regression: 3/3 passed (pass^3: 100%)
|
リグレッション: 3/3 成功(pass^3: 100%)
|
||||||
Status: SHIP IT
|
ステータス: 出荷可能
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -368,17 +368,17 @@ func WriteAndFlush(w io.Writer, data []byte) error {
|
|||||||
myproject/
|
myproject/
|
||||||
├── cmd/
|
├── cmd/
|
||||||
│ └── myapp/
|
│ └── myapp/
|
||||||
│ └── main.go # Entry point
|
│ └── main.go # エントリポイント
|
||||||
├── internal/
|
├── internal/
|
||||||
│ ├── handler/ # HTTP handlers
|
│ ├── handler/ # HTTP ハンドラー
|
||||||
│ ├── service/ # Business logic
|
│ ├── service/ # ビジネスロジック
|
||||||
│ ├── repository/ # Data access
|
│ ├── repository/ # データアクセス
|
||||||
│ └── config/ # Configuration
|
│ └── config/ # 設定
|
||||||
├── pkg/
|
├── pkg/
|
||||||
│ └── client/ # Public API client
|
│ └── client/ # 公開 API クライアント
|
||||||
├── api/
|
├── api/
|
||||||
│ └── v1/ # API definitions (proto, OpenAPI)
|
│ └── v1/ # API 定義(proto、OpenAPI)
|
||||||
├── testdata/ # Test fixtures
|
├── testdata/ # テストフィクスチャ
|
||||||
├── go.mod
|
├── go.mod
|
||||||
├── go.sum
|
├── go.sum
|
||||||
└── Makefile
|
└── Makefile
|
||||||
|
|||||||
@@ -113,7 +113,7 @@ mypackage/
|
|||||||
├── testdata/ # テストフィクスチャ
|
├── testdata/ # テストフィクスチャ
|
||||||
│ ├── valid_user.json
|
│ ├── valid_user.json
|
||||||
│ └── invalid_user.json
|
│ └── invalid_user.json
|
||||||
└── export_test.go # 内部のテストのための非公開のエクスポート
|
└── export_test.go # 内部テスト用の非公開エクスポート
|
||||||
```
|
```
|
||||||
|
|
||||||
### テストパッケージ
|
### テストパッケージ
|
||||||
|
|||||||
@@ -594,18 +594,18 @@ def test_with_tmpdir(tmpdir):
|
|||||||
|
|
||||||
```
|
```
|
||||||
tests/
|
tests/
|
||||||
├── conftest.py # Shared fixtures
|
├── conftest.py # 共有フィクスチャ
|
||||||
├── __init__.py
|
├── __init__.py
|
||||||
├── unit/ # Unit tests
|
├── unit/ # ユニットテスト
|
||||||
│ ├── __init__.py
|
│ ├── __init__.py
|
||||||
│ ├── test_models.py
|
│ ├── test_models.py
|
||||||
│ ├── test_utils.py
|
│ ├── test_utils.py
|
||||||
│ └── test_services.py
|
│ └── test_services.py
|
||||||
├── integration/ # Integration tests
|
├── integration/ # 統合テスト
|
||||||
│ ├── __init__.py
|
│ ├── __init__.py
|
||||||
│ ├── test_api.py
|
│ ├── test_api.py
|
||||||
│ └── test_database.py
|
│ └── test_database.py
|
||||||
└── e2e/ # End-to-end tests
|
└── e2e/ # エンドツーエンドテスト
|
||||||
├── __init__.py
|
├── __init__.py
|
||||||
└── test_user_flow.py
|
└── test_user_flow.py
|
||||||
```
|
```
|
||||||
|
|||||||
Reference in New Issue
Block a user