AI

Cursor(AIコードエディタ)でCSSアニメーションを実装する — Rules設定とプロンプト実例

ここで扱う Cursor はAIコードエディタのことです。マウスカーソルの見た目を変える演出をお探しの方は カーソルエフェクトの作り方 をご覧ください。本ガイドでは、AIコードエディタ Cursor で CSS アニメーションを実装するときの Rules 設定・ファイル参照の書き方・プロンプトの型を、実在するエフェクトの例で解説します。

Cursor(AIコードエディタ)とカーソル演出は別テーマ

検索すると混ざりやすいので最初に整理します。Cursorは AI 補完を組み込んだコードエディタの製品名です。一方カーソルエフェクトは、マウスポインタを独自のドットに置き換えたり、軌跡を残したりする Web 演出のことです。

このガイドは前者、AIコードエディタとしての Cursor の話です。マウスポインタの演出を実装したい場合は、カーソルエフェクトの作り方 — 追従・マグネット・スポットライト が該当ガイドになります。

Cursor が得意なのは「既存コードに合わせる」実装

Cursor の強みは、開いているリポジトリの文脈を踏まえて書けることです。ゼロから凝ったコンポーネントを作らせるより、既存の CSS 設計に合わせて足す作業で真価が出ます。

たとえば「このカードのホバーを、隣のボタンと同じイージングで揃えて」という指示は、既存ファイルを参照できる Cursor が最も得意とする形です。逆に、参照するものがない状態で「かっこいいヒーローを作って」と頼むと、プロジェクトの設計から浮いたコードが出てきます。

だからプロンプトの前に、参照先を渡す作業が要ります。それが次の2つ、Rules とファイル参照です。

プロジェクトRules にアニメーション規約を置く

Cursor には、リポジトリ単位で AI に常時読ませるルールを置く仕組みがあります。歴史的にはリポジトリ直下の単一ファイル .cursorrules が使われ、現在は .cursor/rules/ 配下に複数ファイルを置く形式も使われています。どちらの形式が推奨かはバージョンによって変わるため、導入時に公式ドキュメントで確認してください。

置く内容は形式によらず同じです。動かしてよいプロパティ、duration とイージングの既定値、prefers-reduced-motion 対応の必須化、出力形式、受け入れ条件。これを一度書いておけば、毎回のプロンプトは「どのファイルに、何を」だけで済みます。

コピーしてそのまま使える全文を CLAUDE.md / .cursorrules 規約テンプレート に用意しています。

プロンプトは「@ でファイルを渡してから」書く

Cursor のチャットでは @ に続けてファイル名を書くと、そのファイルを文脈として渡せます。アニメーションの実装では、直す対象の HTML と CSS を両方渡すのが基本です。片方だけだとクラス名が食い違います。

渡したうえで、本文は次の3ブロックで書きます。実装内容(何を、どの要素に、どう動かすか)、制約(使う技術・禁止事項)、受け入れ条件(完了の定義)。この型は Claude Code でも共通で、Claude Code でWebアニメーションを実装する で詳しく解説しています。

PROMPT — 汎用テンプレート
対象: <ファイルパスをここに書く>

実装内容:
<何を、どの要素に、どう動かすかを2〜3行で>

制約:
- <使う技術(CSS のみ / Vanilla JS / GSAP など)>
- 動かすのは transform と opacity のみ
- prefers-reduced-motion: reduce で無効化する

受け入れ条件:
- reduce 設定でアニメーションが止まる
- コンソールエラーがゼロ
- レイアウトシフトがゼロ

実例:ホバーで浮き上がるカードを既存デザインに合わせる

既存プロジェクトに足す、という Cursor らしい使い方の例です。完成形の挙動は Tailwind Group Hover CardTilt 3D Hover で確認できます。

「@card.html @card.css カードにホバー時の浮き上がりを追加。translateY(-4px) と枠線のアクセント色化のみ。duration は同ファイル内の既存 transition に合わせる。新しい CSS 変数を追加しない。prefers-reduced-motion: reduce では transition を無効化する。受け入れ条件:reduce 設定で動かない・レイアウトシフトゼロ・コンソールエラーゼロ」

ポイントは「同ファイル内の既存 transition に合わせる」の一文です。数値を決め打ちせず既存に寄せさせると、サイト全体の統一感が崩れません。

Tab補完とチャットの使い分け

Tab補完が向く作業@keyframes の中身、ベンダープレフィックス、似たセレクタの横展開。すでに1つ書いてあるものを増やす作業は補完が速いです。

チャットが向く作業 — 新しい挙動の実装、複数ファイルにまたがる変更、既存コードの読み解き。

アニメーションは「1つ書いて、似たものを横に増やす」構造になりやすいので、最初の1つをチャットで丁寧に作り、残りを補完で増やすのが効率的です。

Cursor で起きやすいつまずき

React 前提のコードが返る — 静的サイトを触っているのに JSX が出てくることがあります。Rules に「対象は静的な HTML / CSS / Vanilla JS」と明記して閉じます。

関係ないファイルまで整形される — 「変更してよいのは指示されたファイルのみ」を Rules に入れておきます。差分が巨大になったら適用せず、範囲を絞って指示し直すほうが速いです。

prefers-reduced-motion が抜ける — 指示しない限りほぼ入りません。Rules に必須化として書くのが唯一の確実な対処です。

あわせて読みたい

Claude Code でWebアニメーションを実装する — 指示の3原則と実プロンプト5選

CSSアニメーション AIプロンプト例文集 — カテゴリ別の指示文テンプレ

CLAUDE.md / .cursorrules 規約テンプレート — コピペできる規約全文

カーソルエフェクトの作り方 — マウスポインタ演出の実装(別テーマ)

FAQ

Cursor とカーソルエフェクトは同じものですか?
違います。Cursor は AI 補完を備えたコードエディタの製品名で、カーソルエフェクトはマウスポインタの見た目を変えるWeb演出です。本ガイドは前者を扱います。ポインタ演出は「カーソルエフェクトの作り方」ガイドが該当します。
.cursorrules と .cursor/rules のどちらを使うべきですか?
バージョンによって推奨形式が変わるため、導入時に公式ドキュメントの確認をおすすめします。書く内容自体はどちらでも同じで、動かしてよいプロパティ・duration・アクセシビリティ要件・受け入れ条件の4ブロックが基本です。
Rules を置くとプロンプトはどれくらい短くなりますか?
制約と受け入れ条件をRulesへ逃がせるため、毎回のプロンプトは対象ファイルと実装内容だけになります。実装ごとに変わる数値だけプロンプト側に書けば十分です。
Claude Code 用のプロンプトを Cursor にそのまま貼れますか?
貼れます。実装内容・制約・受け入れ条件の3ブロック構成は共通です。Cursor では冒頭に @ でファイルを渡す行を足すと精度が上がります。
Tailwind CSS のプロジェクトでも使えますか?
使えます。Rules に「任意値記法を使い、tailwind.config.js への keyframes 追加は提案のみ」と書いておくと、設定ファイルが勝手に増えるのを防げます。