Skip to main content

collect-cli-fixtures

Collects real CLI (Claude, Gemini) stream-json output as .jsonl fixture files. Use when adding new fixture scenarios, updating after CLI version changes, or covering new protocol event types.

الانتقال إلى التثبيت

معلومات المصدر

المستودع
recca0120/code-quest
آخر نشاط في المصدر
٧ مايو ٢٠٢٦ في ١٤:٠٦
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
١١
التفرعات
٢

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
collect-cli-fixtures
description
Collects real CLI (Claude, Gemini) stream-json output as .jsonl fixture files. Use when adding new fixture scenarios, updating after CLI version changes, or covering new protocol event types.
# Collect CLI Fixtures ## Capture Script ```bash scripts/capture-fixture.sh <name> [prompt] ``` ### Print mode ```bash claude --output-format stream-json -p "say hello" 2>/dev/null > /tmp/claude-simple-text.jsonl ``` ### Interactive mode (control protocol) ```bash mkfifo /tmp/claude-stdin claude --output-format stream-json --input-format stream-json --verbose \ < /tmp/claude-stdin 2>/dev/null | tee /tmp/claude-interactive.jsonl & exec 3>/tmp/claude-stdin # Send control_request JSON via fd 3, sleep between requests exec 3>&-; kill %1 2>/dev/null; rm /tmp/claude-stdin ``` ### From DB ```bash mysql -u root -h 127.0.0.1 -P 3306 code_quest -N -e \ "SELECT raw FROM raw_entries WHERE raw LIKE '{\"type\":\"<type>\"%' LIMIT 1;" ``` ## Validation ```bash # Every line must be valid JSON while IFS= read -r line; do echo "$line" | jq . > /dev/null 2>&1 || echo "INVALID: $line" done < /tmp/fixture.jsonl # Check event type distribution cat /tmp/fixture.jsonl | jq -r '.type' | sort | uniq -c ``` ## Sanitization ```bash sed -i '' 's/"session_id":"[^"]*"/"session_id":"test-session-id"/g' fixture.jsonl grep -l "sk-" fixture.jsonl # Check for API key leaks ``` ## Destination ``` apps/summoner/src/__fixtures__/claude/ ├── real/<name>.jsonl # From DB or real CLI └── synthetic/<name>.jsonl # Hand-crafted (mark for future replacement) ``` ## Checklist - [ ] CLI installed and working - [ ] Fixture captured from real CLI (never hand-written) - [ ] Every line is valid JSON - [ ] Sensitive data sanitized - [ ] Placed in correct directory (real/ or synthetic/) - [ ] Tracking doc updated (`docs/fixture-capture-tracking.md`) ## Reference - Tracking: `docs/fixture-capture-tracking.md` - Fixture-Driven TDD: `/fixture-driven-tdd`
عرض على GitHub