Agent skill

test-bridge

Bridge Server (TypeScript) のテスト実行・型チェック・テスト記述ガイド

Stars 572
Forks 39

Install this agent skill to your Project

npx add-skill https://github.com/K9i-0/ccpocket/tree/main/.claude/skills/test-bridge

SKILL.md

Bridge Server テスト

実行手順

以下を順番に実行し、全てパスすることを確認する。

1. ユニットテスト

bash
npm run test:bridge

特定ファイルのみ:

bash
cd packages/bridge && npx vitest run src/<filename>.test.ts

ウォッチモード (開発中):

bash
cd packages/bridge && npx vitest src/<filename>.test.ts

2. TypeScript 型チェック

bash
npx tsc --noEmit -p packages/bridge/tsconfig.json

テストファイル (*.test.ts) と vitest.config.tstsconfig.json の exclude に入っているため、型チェック対象外。

3. カバレッジ (任意)

bash
npm run test:bridge:coverage

テスト記述規約

ファイル配置・命名

  • テストファイルはソースと同じディレクトリに <module>.test.ts として配置
    • 例: src/parser.tssrc/parser.test.ts
  • vitest.config.ts の include パターン: src/**/*.test.ts

import

typescript
import { describe, it, expect } from "vitest";
  • vitest からのみ import する (jest の互換 API は使わない)
  • テスト対象モジュールは .js 拡張子で import する (NodeNext moduleResolution)
    • 例: import { parseRule } from "./claude-process.js";

テスト構造

typescript
describe("関数名 or クラス名", () => {
  it("動作の説明 (英語)", () => {
    expect(actual).toBe(expected);
  });
});
  • describe でテスト対象の関数/クラス単位にグルーピング
  • it の説明は英語で、三人称現在形 ("returns null for empty string")
  • 1つの it で1つの振る舞いを検証する

テスト対象の方針

  • 純粋関数・ロジック中心にテストする (高ROI)
  • プロセスspawn, ファイルシステム, WebSocket等の外部依存は対象外
  • 現在テスト対象のモジュール:
    • parser.ts — parseClaudeEvent, claudeEventToServerMessage, parseClientMessage, normalizeToolResultContent
    • claude-process.ts — parseRule, matchesSessionRule, buildSessionRule, toolNeedsApproval, ACCEPT_EDITS_AUTO_APPROVE
    • image-store.ts — ImageStore.extractImagePaths

新しいテスト追加時

  1. export されている純粋関数があればテスト追加を検討
  2. internal関数をテストしたい場合は export に変更する (テスト可能性のための export は OK)
  3. テスト追加後は型チェックが通ること (npx tsc --noEmit) も確認

Expand your agent's capabilities with these related and highly-rated skills.

K9i-0/ccpocket

triage

GitHub Issue・PRのトリアージ。番号を渡すと、要望の要約・実現難易度・既存機能との重複チェック・対応判断を調査してレポートする。Issue/PRの番号が出てきたとき、トリアージ、優先度判断、対応判断と言われたときに使用する。

572 39
Explore
K9i-0/ccpocket

self-review

タスク完了前のセルフレビュー。Claude subagentで別コンテキストから客観的にコード変更を検証。

572 39
Explore
K9i-0/ccpocket

release-bridge

Bridge Server のリリース(バージョンbump + CHANGELOG + タグ → GH Actions で npm publish)

572 39
Explore
K9i-0/ccpocket

flutter-upgrade

Flutter SDKバージョンアップグレード対応。新バージョンのリリースノート・Breaking Changes調査、コードベース影響分析、mise/CI/Shorebird含むプロジェクト全体の対応タスクリスト作成と実行。「Flutterアップグレード」「Flutter X.Y.Zがリリースされた」「Flutter最新化」「Flutter更新」と言われたとき、またはFlutterの新バージョンについて言及されたときに使用する。

572 39
Explore
K9i-0/ccpocket

flutter-ui-design

Flutter UI実装のアーキテクチャ規約・コンポーネント分割・状態管理ガイド(Bloc/Cubit版)

572 39
Explore
K9i-0/ccpocket

shorebird-patch

Shorebird OTA パッチの作成・staging 配布(stable 昇格はユーザー実施)

572 39
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results