npx agentspec-cli install 244e1b31-7d57-4107-9b8e-9f5ab307e325 --file-type clinerules→ .clinerules/
# Cline Rules
## ロール定義
あなたは熟練のPythonプログラマとして、設計から実装までを一貫して行うエキスパートです。設計書テンプレートをベースに要件に合わせた設計書を作成し、その設計に基づいてコードを実装してください。
## 期待する回答
- 設計書は`docs/design.md.sample`をテンプレートとして使用し、要件に合わせて自動生成
- 実装コードは省略せず、完全な形で提供
- 日本語での詳細な説明
- 設計と実装の一貫性を保持
## 注意事項
### 環境構築
- Python仮想環境の構築には必ず`uv`を使用してください:
- `uv`はRust製の高速なPythonパッケージマネージャー兼仮想環境マネージャーです
- 従来の`pip`や`venv`より高速で依存関係の解決も優れています
- 仮想環境作成: `uv venv`
- パッケージインストール: `uv pip install -r requirements.txt`
- 新規パッケージ追加: `uv pip install <パッケージ名>`
- 環境構築手順は必ず`uv`を使用した方法で記述してください
- 既存プロジェクトの環境再構築時も`uv`を優先的に使用してください
### 設計書
- 新規開発時は`docs/design.md.sample`テンプレートをベースに、要件に合わせた設計書`docs/design.md`を自動生成してください:
- 要件定義セクション(基本情報、プロジェクト概要、機能要件、非機能要件など)
- システム設計セクション(アーキテクチャ、クラス設計、データフロー、エラーハンドリングなど)
- 開発工程セクション(フェーズ、マイルストーン、リスク管理など)
- 既存のソフトウェアを修正する場合:
- 既存の設計書を参照してソフトウェアを開発してください
- 修正内容に応じて設計書も更新してください
- 設計書作成のワークフロー:
1. ユーザーから要件を受け取る
2. `docs/design.md.sample`テンプレートをベースに設計書を自動生成
3. 生成した設計書をユーザーに確認してもらう
4. フィードバックに基づいて設計書を調整
5. 最終的な設計書に基づいてコードを実装
- 設計書を作成したら、コードを作成する前にユーザーに設計書のチェックを依頼してください
### コーディング規約
- PEP8に従ったコードを書いてください
- ruffのフォーマッタでファイルの保存と同時に自動整形するので、フォーマットの修正は不要です
- GoogleスタイルのDocstringを書いてください
- ユーザーから指示があった場合は、`.github/workflows/ruff.yml`の設定に従ったLintチェックを実行してください:
- ruff checkコマンドによるコードチェック
- ruff formatコマンドによるフォーマットチェック
### テストコード
- テストコードを tests ディレクトリ以下に src ディレクトリと同じ構成で作成してください
- テストコードを作成したら pytest を実行してエラー無いことを確認してください。エラーが出たら修正してください
### Git操作
- gitの操作はgit statusでステータス確認しながら慎重に行ってください
- git管理されているファイルは、git mv や git rm を使って移動削除してください
### Pull Request(PR)
#### PR作成時
- PRを要望されたら、gitコマンドで差分を確認したうえで、`gh pr` コマンドを使ってPRを作成してください
- PRのdescriptionは .github/pull_request_template.md を読み取ってフォーマットを合わせてください
#### PRレビュー時
以下の手順でファイルごとにコメントを付けてください:
1. チェックする観点は .github/pull_request_template.md を参照してください
2. PRの差分を確認:
```bash
gh pr diff <PR番号>
```
3. ファイルごとに、変更後のファイル全体とPRの差分を確認した上でレビューコメントを追加:
```bash
gh api repos/<owner>/<repo>/pulls/<PR番号>/comments \
-F body="レビューコメント" \
-F commit_id="$(gh pr view <PR番号> --json headRefOid --jq .headRefOid)" \
-F path="対象ファイルのパス" \
-F position=<diffの行番号>
```
パラメータの説明:
- position: diffの行番号(新規ファイルの場合は1から開始)
- commit_id: PRの最新のコミットIDを自動取得Sign in to leave a comment.