CursorルールファイルでAI生成レガシーコードを整理する
TuBrief 편집팀
2026년 8월 25일
0
Computing/Software원본 영상을 바탕으로 AI의 도움을 받아 작성했습니다. 원본 영상이 기준입니다.
커뮤니티의 다른 글
댓글 (0)
Log in to leave a comment
아직 작성된 글이 없습니다
원본 영상을 바탕으로 AI의 도움을 받아 작성했습니다. 원본 영상이 기준입니다.
Log in to leave a comment
아직 작성된 글이 없습니다
AIが作成したコードは、単一のスクリプトにまとまりがちです。モノリシックな巨大オブジェクトパターンが構築され、既存の構造が崩壊します。3年目から7年目の開発者がデバッグだけに週8時間を費やす理由はまさにここにあります。リファクタリングをスキップし続け、コードを追加していくからです。
プロジェクトのルートに .cursor/rules ディレクトリを作成し、.mdc ルールファイルを配置します。コアアーキテクチャガイドラインファイルで alwaysApply: true オプションを有効にします。依存関係の方向を Presentation -> Application -> Domain -> Infrastructure の順序に固定します。ファイルの長さは150行を超えないように制限します。
すでに絡み合ったコンポーネントを修正する際は、3つのプロンプトを順番に入力します。まず、レガシーコードを分析して型を抽出します。次に、100行のカスタムフックでビジネスロジックを切り離します。最後に、VitestとMSWを組み合わせて単体テストコードを抽出します。このプロセスを経ることで、デバッグ時間が週3時間未満に減少します。
TypeScriptコンパイラだけでは、AIが投げるAPIレスポンスのエラーや条件付きロジックのエラーをすべて捉えきれません。ランタイム境界で型をしっかりと固める必要があります。ZodとEffectライブラリを使用してスキーマレイヤーを作成します。Zodは外部APIの検証を担当し、Effectは内部ドメインロジックを管理します。
Zodスキーマを最初に宣言するように環境を整える必要があります。ユーザープロフィール更新APIの入力値検証用のZodスキーマをAIに作成させます。そのスキーマと型を受け取ってDBを更新するサービス関数の実装を続けて要求します。検証に失敗した場合に400エラーを返すパッシングロジックを結合します。
Dependency CruiserをCIパイプラインに接続し、誤ったコードがメインブランチにマージされるのを防ぎます。.dependency-cruiser.cjs 設定ファイルに、循環依存とレイヤー違反の禁止ルールを記述しておきます。GitHub Actionsに npx depcruise --config .dependency-cruiser.cjs src コマンドを組み込みます。プルリクエストの段階で、アーキテクチャに違反したコードが自動的にフィルタリングされます。
AIは学習データの限界により、Svelte 5やNext.js 14などの最新フレームワークを使用する際に旧バージョンの構文と混同することがあります。これがビルドエラーが発生する主な原因です。公式ドキュメントの主要なマイグレーションガイドを圧縮し、コンテキストに組み込む必要があります。
プロジェクト内に最新の技術仕様用のドキュメントリポジトリを別途作成する必要があります。プロジェクトのルートに .docs フォルダを作成し、マイグレーションガイドをマークダウン形式で保存します。.cursorignore ファイルに node_modules やビルドフォルダを記述してノイズを除去します。@.docs/svelte5-migration.md ドキュメントを直接参照するプロンプトを使用して、最新構文のコードを誘導します。旧バージョンの構文エラーを修正するために迷う時間がなくなります。