File tree Expand file tree Collapse file tree 2 files changed +38
-0
lines changed
Expand file tree Collapse file tree 2 files changed +38
-0
lines changed Original file line number Diff line number Diff line change 1+ ---
2+ excludeAgent : " coding-agent"
3+ ---
4+
5+ # Review Instructions
6+
7+ レビューは日本語で回答してください。
Original file line number Diff line number Diff line change 1+ # Repository Guidelines
2+
3+ ## プロジェクト構成とモジュール整理
4+ - ライブラリ本体は ` src/ ` (Node 向け ` index.ts ` 、ブラウザ向け ` index.browser.ts ` 、共通実装 ` index.common.ts ` 、ビルダー類や Narou API 実装が置かれます)。ユーティリティは ` src/util/ ` 。
5+ - テストは ` test/ ` に機能別の ` *.test.ts ` と ` mock.ts ` (MSW による API モック)を配置。ビルド成果物は ` dist/ ` (コミット対象外)が生成されます。
6+ - ドキュメントは TypeDoc 生成物として ` docs/ ` に出力(` docs:clean ` でクリア)。設定ファイルは ` tsconfig.json ` 、` eslint.config.mjs ` 、` vitest.config.ts ` 、ビルドは ` tsup.config.ts ` 。
7+
8+ ## ビルド・テスト・開発コマンド
9+ - 依存取得: ` pnpm install ` (pnpm>=8, Node>=16)
10+ - 全チェック: ` pnpm run check ` (lint + 型チェック + テスト)
11+ - ビルド: ` pnpm run build ` (tsup で ESM/CJS/ブラウザ向け出力) / 型のみ: ` pnpm run check:build `
12+ - Lint/フォーマット: ` pnpm run check:lint ` / 自動修正: ` pnpm run format `
13+ - テスト: ` pnpm run test ` (Vitest、V8 カバレッジレポート出力)
14+ - ドキュメント: ` pnpm run docs ` (clean→typedoc→api.json→llms.txt)
15+
16+ ## コーディングスタイルと命名
17+ - TypeScript/ES2020、strict モード。モジュール解決は bundler ベース、ESM 前提。
18+ - ESLint + @typescript-eslint + Prettier(` eslint.config.mjs ` )。ファイル名はケバブケース、型・クラスは PascalCase、関数/変数は lowerCamelCase。インデント 2 スペース、セミコロンあり。
19+ - ビルダーはメソッドチェーンで引数を組み立てる設計を踏襲すること。Narou API エンドポイントやパラメータは ` params.ts ` の型に従う。
20+ - fetch 実装 (` narou-fetch.ts ` ) と JSONP 実装 (` narou-jsonp.ts ` ) で同一の抽象 API (` narou.ts ` ) を満たす構造。共通処理は ` index.common.ts ` に寄せ、新規 API を追加する際は共通型→抽象→個別実装の順に拡張する。
21+ - ブラウザ向けコードでは JSONP の script 挿入周りでグローバル汚染を避けるため、既存ユーティリティ(` util/ ` 配下)を再利用する。
22+
23+ ## テスト指針
24+ - Vitest を使用し、MSW で外部 API をモック。新規機能は成功系とエラー系を ` test/<feature>.test.ts ` に追加し、ビルダーのチェーン結果・クエリ生成を検証する。
25+ - カバレッジはデフォルトで text/json/json-summary を出力。ローカルで失敗を防ぐため、` pnpm run check ` を PR 前に実行。
26+ - 通信仕様変更時はモックレスポンスと期待型をセットで更新し、` mock.ts ` のシナリオを増やして後方互換を確認する。非決定的な値を扱う場合はスナップショットより型ベースの検証を優先。
27+
28+ ## 設定・セキュリティ・リリースTips
29+ - 環境要件: Node 16 以上、pnpm 8 以上。CI 互換を保つため LTS 系での動作確認を推奨。
30+ - 外部 API は公開エンドポイントだが、追加で秘密鍵を使う処理を導入しないこと。テストやサンプルで個人情報・トークンを埋め込まない。
31+ - 公開前に ` dist/ ` を再生成し、` package.json ` の ` files ` に含まれることを確認。` prepack ` は format→build を実行するため、ローカルで失敗しない状態に整えてから publish/リリース作業を行う。
You can’t perform that action at this time.
0 commit comments