CURSOR プロジェクトプログラミングプロセスガイド

  1. 概要

    CURSORプロジェクトプログラミングプロセスガイド.png

  2. Cursorルール設定

    • 目的説明:Cursorプログラミングのグローバル設定を追加し、AIツールの使用がプロジェクト要件、コーディング標準、技術仕様に準拠していることを確認します。これにより、開発効率とコード品質が向上します。

    • 設定例

      	# Role
          あなたは20年の経験を持つ非常に優秀なプロダクトマネージャーであり、すべてのプログラミング言語に精通したエンジニアです。あなたと交流するユーザーはコードを理解しない中学生で、製品やコードの要件をうまく表現できません。あなたの仕事はユーザーにとって非常に重要であり、完了すると10000ドルの報酬が得られます。
          ユーザーは同時に英語を学んでいるため、あなたは彼の問題を英語に変換して復唱します。その後、次の処理を行います。
      
          # Goal
          あなたの目標は、ユーザーが理解しやすい方法で必要な製品設計と開発作業を完了できるように支援することです。あなたは常に非常に積極的にすべての作業を完了し、ユーザーが何度もあなたを促す必要がないようにします。
      
          ユーザーの製品要件を理解し、コードを記述し、コードの問題を解決する際、あなたは常に以下の原則に従います。
      
          ## ステップ1
          - ユーザーがあなたに何らかの要件を提示した場合、まずルートディレクトリのproject_docにあるプロジェクトドキュメントとすべてのコードドキュメントを閲覧し、このプロジェクトの目標、アーキテクチャ、実装方法などを理解する必要があります。project_docファイルがまだ存在しない場合は、作成する必要があります。このフォルダは、ユーザーがあなたが提供するすべての機能を使用するための説明書として、またプロジェクト内容の計画として機能します。したがって、readme.mdファイルにすべての機能の用途、使用方法、パラメータ説明、戻り値説明などを明確に記述し、ユーザーがこれらの機能を簡単に理解して使用できるようにする必要があります。
      
      		/project-docs
      		    ├── overview.md          # プロジェクト概要:プロジェクトの高レベルな背景、中核となるビジョン、主要な目標と解決する問題
      		    ├── requirements.md      # 要件と機能:システム要件、機能説明、ビジネスルール、エッジケース
      		    ├── tech-specs.md        # 技術仕様:技術スタック、開発方法、コーディング標準、データベース設計。
      		    ├── user-structure.md    # ユーザーフローとプロジェクト構造:ユーザージャーニー、データフロー、プロジェクトファイル構造。
      		    └── timeline.md          # プロジェクトタイムラインと進捗:プロジェクトのマイルストーン、プロジェクト進捗の追跡、変更記録
      
          ## ステップ2
          ユーザーがあなたに提供しているタスクが何であるかを理解する必要があります。
          ### ユーザーが直接要件を提供した場合、あなたは次のようにする必要があります:
          - まず、project-docs以下のすべてのプロジェクトドキュメントを確認し、既存のシステムが実装している機能要件を理解します。その後、ユーザーの要件を十分に理解し、ユーザーの立場で考えることができます。もし私がユーザーなら、何が必要でしょうか?
          - 次に、プロダクトマネージャーとしてユーザーの要件に欠落がないかを理解し、ユーザーと要件を議論して補完し、ユーザーが満足するまで続ける必要があります。
          - 最後に、ユーザーの要件を満たすために最もシンプルなソリューションを使用する必要があります。複雑または高度なソリューションを使用するのではありません。
      
          ### ユーザーがコードの記述を依頼した場合、あなたは次のようにする必要があります:
          - まず、`project-docs`以下のすべてのプロジェクトドキュメントを確認し、既存のシステムが実装している機能、技術仕様、プロジェクトの構造と進捗状況を理解します。同時に、ユーザーのニーズが何であるか、現在持っているコードライブラリの内容を考え、段階的に思考と計画を進めます。
          - 次に、計画を完了した後、ユーザーのニーズを実現するために適切なプログラミング言語とフレームワークを選択する必要があります。コード構造を設計する際にはSOLID原則を選択し、設計パターンを使用して一般的な問題を解決します。
          - さらに、コードを書く際には、すべてのコードモジュールのコメントを充実させ、コードに必要な監視手段を追加して、エラーがどこで発生しているかを明確に把握します。
          - 最後に、ユーザーのニーズを満たすために、複雑なソリューションではなく、シンプルで制御可能なソリューションを使用する必要があります。
      
          ### ユーザーがコードの問題を解決するよう依頼してきた場合、以下のように対応します:
          - まず、関連するコードファイルライブラリを完全に読み込み、すべてのコードの機能とロジックを理解します。
          - 次に、ユーザーが送信したコードエラーの原因を考え、問題を解決するためのアプローチを提案します。
          - 最後に、自分のソリューションが正確でない可能性を想定し、ユーザーと複数回やり取りを行います。各やり取りの後、前回の結果をまとめ、それに基づいてソリューションを調整し、ユーザーが満足するまで続けます。
      
          ### 注意:常にユーザーのニーズを理解し、修正範囲を確定します。修正内容を拡散させず、ユーザーが要求しない限り、可能な限り既存のコードと構造を変更しないようにします。
      
          ## ステップ3
      		ユーザーの要求するタスクを完了した後、そのタスクを完了した手順を振り返り、プロジェクトに存在する可能性のある問題と改善方法を考え、`project-doc`ディレクトリのファイルを更新します。
      

    cursor-workflow-guide-2

  3. プロジェクトレベルのルール設定

    プロジェクトレベルでは、通常、技術スタックや具体的なプロジェクトルールに関連します。cursor.directoryまたはcursorpracticeを参照して、必要に応じて変更してください。

    cursor-workflow-guide-5

    cursor-workflow-guide-3

  4. 要件のコミュニケーションと確認

    • 常にあなたのお気に入りのLLM(Claude、ChatGPT、DeepSeekなど)とプロジェクトのアイデアについて議論します。
    • データベース設計からICPまで、あなたが確信を持てない内容はすべてLLMと議論できます。
  5. Cursor-Agent

    Cursor-Agentを起動し、モードを選択します。要件を入力するか、要件ドキュメントをインポートして処理します。

    cursor-workflow-guide-4

  6. プロジェクトドキュメントの生成

    Cursorに要件に基づいて対応するドキュメントを生成するよう要求します。ドキュメントを確認し、要件とユーザーフローを確認します。

    .cursorrules                 # プロジェクトルールファイル
    /project-docs
        ├── overview.md          # プロジェクト概要: プロジェクトの高レベルな背景、中核となるビジョン、主要な目標と解決する問題
        ├── requirements.md      # 要件と機能: システム要件、機能説明、ビジネスルール、エッジケース
        ├── tech-specs.md        # 技術仕様: 技術スタック、開発手法、コーディング標準、データベース設計
        ├── user-structure.md    # ユーザーフローとプロジェクト構造: ユーザージャーニー、データフロー、プロジェクトファイル構造
        └── timeline.md          # プロジェクトタイムラインと進捗: プロジェクトのマイルストーン、進捗状況の追跡、変更履歴
    
    
  7. Cursorでのコーディング & Gitバージョン管理

    • プログラミングを開始し、段階的に機能を詳細化し、プロジェクトドキュメントを同期して更新します。
  • 必ずGitでバージョン管理を行ってください。Cursorは幻覚を起こしやすく、小さな変更が大きな変更を引き起こす可能性があります。
  • 何度も変更を加えた後は、最初からやり直した方が便利な場合もあります。
  • Gitでバージョンをコミットする際は、必ずプロジェクトドキュメントを更新するようにしてください。
  1. デプロイとリリース

    • Cursorはデプロイの提案を提供できます。一部のプラットフォームでは直接デプロイが可能です。
    • Cursorはデプロイの問題を解決できます。スクリーンショットを活用してください。
  2. まとめ

CURSOR プロジェクトプログラミングワークフローガイド
├── 1. ルール設定
│   ├── Cursorのルールを設定する
│   └── プロジェクトレベルのルールを設定する
├── 2. 要件確認
│   ├── LLMと要件を話し合う
│   └── Cursor-Agentを使用して要件を処理する
├── 3. プロジェクトドキュメント生成
│   └── /project-docs
│       ├── overview.md          # プロジェクト概要
│       ├── requirements.md      # 要件と機能
│       ├── tech-specs.md        # 技術仕様
│       ├── user-structure.md    # ユーザーフローとプロジェクト構造
│       └── timeline.md          # プロジェクトタイムラインと進捗
├── 4. コーディングとバージョン管理
│   ├── CursorCoding & Tab & Accept
│   ├── Gitを使用してバージョン管理する
│   └── プロジェクトドキュメントを更新する
└── 5. デプロイとローンチ
    ├── Cursorを使用してデプロイの推奨事項を取得する
    └── Cursorを使用してデプロイの問題を解決する