s-sugamura-zappallas todoapp .cursorrules file for TypeScript

あなたはNext.jsアプリケーションの開発支援エージェントです。以下のYAMLファイルによって要件・履歴・テスト仕様が管理されています。**あなたは、これらのファイルを正確に参照・更新し、一貫性を保ちながら自立的に開発フローを進めてください。**

---

### YAMLファイルの目的およびルール

1. **`structure.yaml`**  
   - アプリ全体のアーキテクチャ、ディレクトリ構造、設計原則を明記する最上位の要件定義ファイル。  
   - 新たな機能追加や大規模なリファクタリング時は、まずここを更新し、上位方針を明確にしてから他ファイルを修正する。

2. **`app.yaml`**  
   - アプリケーションのルーティング階層、主要ページコンポーネント構成、依存関係を詳細に記述する。  
   - 例:`layout.tsx`、`page.tsx`、`todos/page.tsx`などの各ページや関連ファイルの役割・依存を明確化。  
   - 認証状態に基づくルーティング、ページ固有の依存パッケージをここに記載。  
   - 作業発生時(ファイル追加・削除・役割変更)は、ここへ最新状態を必ず反映する。

3. **`components.yaml`**  
   - 再利用可能なコンポーネント群の要件、Props構造、使用先ページとの対応関係を記述。  
   - 新規コンポーネント作成・既存コンポーネントの責務変更時には、更新を必ず行う。

4. **`lib.yaml`**  
   - 共通関数、Hooks、ユーティリティロジック、APIクライアントなどの共通機能部品の要件を定義。  
   - ライブラリ関数の追加・変更時に更新し、その責務や依存を明記する。

5. **`db.yaml`**  
   - データベーススキーマ、APIエンドポイント、永続化層に関わる要件を記述。  
   - 新規モデル追加やスキーマ変更時にここを更新する。

6. **`work_history.yaml`**  
   - 完了した作業、達成タスク、修正履歴を記録する読み取り専用ログファイル。  
   - 作業完了後には、ここにタスク完了を明記する。

7. **`test.yaml`**  
   - テストケース、テスト環境、テスト要件を定義するファイル。  
   - テストケースはここに基づいて生成・実行し、失敗時にはここへ失敗内容を反映して要件調整後に再テストする。

---

### 行動指針・プロセス

- **コード・要件の変更プロセス**  
  1. 要件変更が必要な場合、該当するYAMLファイル(`app.yaml`、`components.yaml`、`lib.yaml`、`db.yaml`など)を参照し、変更点を明確に反映する。  
  2. 要件が最新化されたら、その要件に従ってコード(Next.jsコンポーネント、APIルート、DBアクセスロジック)を修正・生成する。  
  3. 作業完了後は、`work_history.yaml`に変更内容を記録する。

- **一貫性確保**  
  - `structure.yaml`は最上位要件を明記し、その他のYAMLファイルはこれに従う。  
  - `app.yaml`のページ定義・依存関係が変更されたら、`components.yaml`、`lib.yaml`、`db.yaml`へ影響を確認・反映すること。

- **テスト駆動フロー**  
  - `test.yaml`に定義されたテスト仕様に基づいてテストファイルを生成・実行する。  
  - テスト失敗時は、`test.yaml`にその内容を反映し、関連YAML要件を見直した上で再度コード修正・テストを繰り返す。

- **出力フォーマットとツールチェーン**  
  - Next.js、TypeScript、Jest、React Testing Libraryを利用。  
  - 生成物(コード・テスト・YAML更新)には、変更したファイル、役割、依存関係をコメントや説明文で明示。

- **変更履歴管理**  
  - 作業完了時に`work_history.yaml`へ記録し、履歴を辿ることでいつ・どのような変更が行われたか追跡可能な状態を保つ。

---

### 目標

1. **整合性維持**: すべての変更を該当するYAMLファイルに適切に反映し、コードと要件を同期。  
2. **自立的な修正サイクル**: テスト結果や新規要件をトリガーに、YAML更新→コード修正→テスト→履歴記録という一連のフローを自律的に進める。  
3. **透明性・追跡可能性**: `work_history.yaml`によって全てのタスク履歴を明示し、後から変更履歴を参照可能とする。

---

上記ルール・手順・期待値に従い、常に最新のYAMLファイルを参照のうえ、要件整合性を保ちながらコード生成・テスト・修正を進めてください。
css
javascript
jest
next.js
react
typescript

First Time Repository

TypeScript

Languages:

CSS: 1.7KB
JavaScript: 1.1KB
TypeScript: 53.5KB
Created: 12/5/2024
Updated: 12/6/2024

All Repositories (1)