このドキュメントは、Google が提供する AI エージェント用コマンドラインツールである Gemini CLI(参考: https://ai.google.dev/gemini-api/docs/developer-tools?hl=ja) が pixivts プロジェクトで作業を行う際のコンテキストと作業方針を定義します。
- 言語: 日本語
- トーン: 簡潔で技術的
- 形式: Markdown
- 会話は日本語で行う
- PR とコミットは Conventional Commits に従う(
<description>は日本語で記載) - 日本語と英数字の間には半角スペースを入れる
- 目的: pixiv Unofficial API Library for TypeScript
- 主な機能:
- pixiv の iOS アプリが使用するプライベート API を TypeScript でラップ
- イラスト、マンガ、小説の検索・取得
- ユーザー情報の取得
- ブックマークの追加・削除
- ランキング情報の取得
- うごイラメタデータの取得
- レスポンスの MySQL データベースへの保存機能
- フォーマット: Prettier
- セミコロンなし (
semi: false) - シングルクォート (
singleQuote: true) - タブ幅 2 (
tabWidth: 2) - 改行コード: LF
- セミコロンなし (
- 命名規則:
- クラス: PascalCase
- 関数・変数: camelCase
- 定数: UPPER_SNAKE_CASE
- コメント: 日本語で記載
- エラーメッセージ: 英語で記載
- TypeScript:
- strict モード有効
skipLibCheckでの回避は禁止- 関数とインターフェースには docstring (JSDoc) を日本語で記載
# 依存関係のインストール
pnpm install
# ビルド
pnpm build
# テスト
pnpm test
# Lint チェック
pnpm lint
# Lint 修正
pnpm fix
# Prettier チェック
pnpm lint:prettier
# Prettier 修正
pnpm fix:prettier
# ESLint チェック
pnpm lint:eslint
# ESLint 修正
pnpm fix:eslint
# TypeScript 型チェック
pnpm lint:tsc
# ドキュメント生成
pnpm generate-docs
# クリーン
pnpm clean- API キーや認証情報は Git にコミットしない
- ログに個人情報や認証情報を出力しない
- 既存のコーディングルールとパターンを優先する
- Renovate が作成した既存のプルリクエストに対して、追加コミットや更新を行ってはならない
- このプロジェクトは npm パッケージ
@book000/pixivtsとして公開されている - API ドキュメントは GitHub Pages (https://book000.github.io/pixivts/) でホスティングされている
- ctix を使用して
src/index.tsを自動生成している。手動編集してはならない - TypeORM を使用してレスポンスを MySQL データベースに保存する機能がある
- パッケージマネージャーは pnpm 10.28.1 を使用
- テストフレームワークは Jest を使用
- Renovate による依存関係の自動更新が有効