0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

開発環境AI検討

0
Last updated at Posted at 2026-05-14

Cursorでは、Claude DesktopのCLAUDE.mdskillsディレクトリの概念を、.cursorrules(プロジェクト全体のルール).cursor/rules/(コンテキストごとの個別ルール・スキル定義) にマッピングするのが現在のベストプラクティスです。

提案するディレクトリ構造は以下のようになります。

📁 Cursor向けデータ分析基盤 開発環境テンプレート

data_platform_project/
├── .cursorrules                      # プロジェクト全体のマップと基本方針(旧 CLAUDE.md)
├── .cursor/
│   └── rules/                        # 個別のAIスキル・規約定義(旧 .claude/skills/ 等)
│       ├── 00_naming_conventions.mdc # 【独自】案件特有の命名規則・用語集
│       ├── 01_dbt_architecture.mdc   # dbt層(Raw, Stg, Int, Mart)の設計思想と規約
│       ├── 02_snowflake_ddl.mdc      # Snowflake特有の設定(Search Optimization等)
│       ├── 03_airflow_dags.mdc       # Airflow DAGの実装テンプレートとルール
│       ├── skill_add_model.mdc       # 【スキル】新しいデータモデルを追加する際のワークフロー
│       └── skill_review_code.mdc     # 【スキル】コードレビューの観点
├── dbt_project/                      # dbt本体
├── snowflake_scripts/                # SnowSQLやDDL管理
└── dags/                             # Airflow本体


各ファイルの役割と記述内容のポイント

1. .cursorrules (プロジェクト全体の指示書)

プロジェクトのルートに配置し、CursorのAIが常に参照する「脳」の役割を果たします。エージェントが迷子にならないよう、リポジトリの全体像を定義します。

  • 記載内容:
  • アーキテクチャの全体像(データ抽出先 → Snowflake → dbt → Airflowによるオーケストレーション)。
  • プロジェクトのディレクトリルートの説明。
  • 「詳細なルールや命名規則、スキルは .cursor/rules/ 以下のファイルを参照すること」というメタ指示。

2. .cursor/rules/00_naming_conventions.mdc (案件特有の情報・命名規則)

ご要望にあった「案件特有の情報を盛り込める階層」です。拡張子を .mdc (Markdown Driven Context) にすることで、Cursorエージェントが関連する作業時に自動的にこのルールを読み込みます。

  • フロントマター(先頭のメタデータ): globs: ["/*.sql", "/*.py", "/*.yml"]
  • 記載内容:
  • テーブル名、カラム名、タスク名の命名規則(例: stg_[source]_[entity])。
  • 案件特有のビジネス用語(ドメインボキャブラリー)の定義と英訳の固定。
  • 略語の禁止ルールや許可リスト。

3. .cursor/rules/01_dbt_architecture.mdc (dbt固有の規約)

dbtのモデリング方針をAIに理解させます。

  • フロントマター: globs: ["dbt_project//*.sql", "dbt_project//*.yml"]
  • 記載内容:
  • Raw層: ソースデータの取り込みルール。
  • Stg (Staging) 層: 型変換とリネームのみを行う制約。
  • Int (Intermediate) 層: 結合や複雑なビジネスロジックの適用。
  • Mart (Data Mart) 層: BIツール向けの最終集計テーブルの仕様。
  • マテリアライゼーションのデフォルト設定(view vs table vs incremental)。

4. .cursor/rules/02_snowflake_ddl.mdc (Snowflake固有の規約)

  • フロントマター: globs: ["snowflake_scripts//*.sql"]
  • 記載内容:
  • SnowSQLを用いたデプロイメントの留意点。
  • パフォーマンスチューニングの基準(クラスタリングキーの選定基準、Search Optimization Serviceを適用する条件など)。
  • ロール(Role)やウェアハウス(Warehouse)の割り当て規則。

5. .cursor/rules/skill_add_model.mdc (AIのスキル定義)

サンプルの add-gold-model などの代替となる、アクションベースの指示書です。

  • フロントマター: description: "Run this workflow when asked to add a new dbt model or table"
  • 記載内容(エージェントに踏ませるステップ):
  1. 要件を確認し、対象となる層(Stg/Int/Mart)を特定する。
  2. 00_naming_conventions.mdc に従いモデル名を決定する。
  3. .sql ファイルと .yml (テスト・ドキュメント) の両方を生成する。
  4. Snowflake固有の機能が必要か確認し、コードに組み込む。

エージェント最適化のためのTips

  • XMLタグの活用: ClaudeベースのモデルはXMLタグ(<rule>, <example>, <step>など)で囲まれた構造化テキストの解釈が非常に得意です。マークダウンの中に適宜タグを混ぜることで、指示の遵守率が跳ね上がります。
  • Do / Don't の明記: 「こうしてほしい」という指示だけでなく、「絶対にやってはいけないこと(Don't)」を併記すると、AIの手戻り(幻覚による誤ったコード生成)を劇的に減らすことができます。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?