Skip to content

Conversation

@kinopeee
Copy link
Owner

@kinopeee kinopeee commented Dec 1, 2025

概要

Cursor 固有の .cursor/ ディレクトリ構造を、より汎用的な .agent/.windsurf/ ディレクトリ構造に移行します。これにより、複数のAIコーディングアシスタント(Cursor、Windsurf、Claude Code等)で共通利用できる構成になります。

変更内容

ディレクトリ構造の変更

  • ja/.cursor/rules/ja/.agent/rules/ および ja/.windsurf/rules/ に移行
  • ja/.cursor/commands/ja/.agent/workflows/ および ja/.windsurf/workflows/ に移行
  • en/.cursor/rules/en/.agent/rules/ および en/.windsurf/rules/ に移行
  • en/.cursor/commands/en/.agent/workflows/ および en/.windsurf/workflows/ に移行

ファイル拡張子の変更

  • .mdc.md に統一

ドキュメント更新

  • README.md(ルート、ja、en)を新しいディレクトリ構造に合わせて更新
  • CHANGELOG.md に v0.3.0 の変更履歴を追加
  • 各ドキュメント内のパス参照を更新

その他

  • .agent/rules/planning-mode-guard.md の内容を整理

技術的な詳細

  • .agent/ は Cursor の Agent Mode 向け
  • .windsurf/ は Windsurf 向け
  • 両方とも同じルールセットを提供し、ツール間での一貫性を確保

テスト内容

  • ディレクトリ構造の確認
  • ドキュメント内のリンク・パス参照の整合性確認

Note

Migrates rules/workflows from .cursor to .agent and .windsurf with .md files, adds/aligns guard/test/coding rules (EN/JA), and updates workflows and documentation.

  • Structure:
    • Move rule/workflow files from *.cursor/* to *.agent/* (Antigravity) and *.windsurf/* (Windsurf); remove/replace Cursor-specific files.
    • Unify extensions to .md; replace alwaysApply with trigger and add globs/executionMode where applicable.
  • Rules (EN/JA):
    • Add/align commit-message-format, pr-message-format, test-strategy, prompt-injection-guard, and v5 coding rules under both *.agent/rules and *.windsurf/rules.
    • Introduce planning-mode-guard.md for Antigravity.
  • Workflows (EN/JA):
    • Add commit-only, commit-push, commit-push-pr under both *.agent/workflows and *.windsurf/workflows.
  • Docs:
    • Rewrite root/en/ja README.md; add/update CHANGELOG.md entries.
    • Update guides (doc/rules-and-workflows.md, doc/prompt-injection-guard.md, and design docs) to new paths and terminology.

Written by Cursor Bugbot for commit a498101. This will update automatically on new commits. Configure here.

Summary by CodeRabbit

  • New Features

    • Windsurf と Antigravity エディタの公式サポートを追加
    • 複数の言語で利用可能なルール・ワークフロー設定を提供
  • Documentation

    • プロジェクトドキュメント全体を Windsurf/Antigravity に対応させるよう更新
    • コミットメッセージと PR メッセージ形成ルールを統一・強化
    • テスト戦略ガイドラインを追加
    • プロンプトインジェクション防御ポリシーを充実

✏️ Tip: You can customize this high-level summary in your review settings.

- commit-message-format.md: Conventional Commits準拠のコミットメッセージ規約を追加
- pr-message-format.md: PR タイトルと本文の構造化フォーマット規約を追加
- test-strategy.md: テスト観点表・境界値・カバレッジを含むテスト戦略ルールを追加
- v5.md: タスク分類別の推論深度とコーディング支援フローを定義
- frontmatter を Windsurf 形式に変換(trigger/description/globs)
- Cursor 固有ツール名を Windsurf 用に置換(apply_patch→edit, codebase_search→code_search 等)
- 空だった description を追加(test-strategy.md, v5.md)
- 古いファイル参照 .mdc → .md に修正(pr-message-format.md)
- prompt-injection-guard.mdc の alwaysApply を trigger: always_on に変換
- prompt-injection-guard.md: 外部コンテキスト由来の攻撃防御ルール(警告即停止・禁止操作・検出パターン・隔離報告フロー・破壊的操作プロトコル・ドライラン出力ポリシー)
- commit-only.md: ローカル変更のコミットのみを行うワークフロー(プッシュなし)
- commit-push.md: コミット後にリモートへプッシ
- .cursor/commands/ 配下の3ファイル(commit-only.md, commit-push.md, commit-push-pr.md)を削除
- .cursor/rules/ 配下の4ファイル(commit-message-format.mdc, pr-message-format.mdc, prompt-injection-guard.mdc, test-strategy.mdc)を削除
- Windsurf形式への移行に伴い、Cursor固有の設定ファイルを整理
- commit-message-format.md: Conventional Commits準拠のコミットメッセージ規約(Prefix + 日本語サマリ + 箇条書き本文)
- planning-mode-guard.md: Planningモード時のコード実装抑止ルール(重要タスク判定・承認フロー・禁止操作)
- pr-message-format.md: Pull Request作成時の書式ルール(Prefix + 構造化本文)
- prompt-injection-guard.md: 外部コンテキストインジェクション防御
- ja/.cursor/ と en/.cursor/ のルール・コマンドを削除
- .agent/ と .windsurf/ ディレクトリ構造を追加
- README.md を更新し新しいディレクトリ構造を反映
- CHANGELOG.md に v0.3.0 の変更履歴を追加
- ドキュメント内のパス参照を更新
@windsurf-bot
Copy link

windsurf-bot bot commented Dec 1, 2025

This PR has too many files to review (>50 files).

@coderabbitai
Copy link

coderabbitai bot commented Dec 1, 2025

ウォークスルー

本プルリクエストは、cursorrules リポジトリを Windsurf および Antigravity 対応へと大規模に移行・再構築するものです。ルールファイルを .cursor/.mdc 形式から .windsurf/.md および .agent/.md 形式へ移行し、新たな planning-mode-guard ルールを導入し、ドキュメント内のパス参照をすべて更新し、プロジェクト全体の叙述を Cursor 中心から Windsurf/Antigravity 中心へ切り替えており、複数言語バリアント(en、ja)にわたって適用されています。

変更内容

コホート / ファイル 変更の概要
Agent ルールファイル群(新規作成)
.agent/rules/commit-message-format.md.agent/rules/planning-mode-guard.md.agent/rules/pr-message-format.md.agent/rules/test-strategy.md.agent/rules/v5.md
Conventional Commits に準じたコミットメッセージ形式、Planning Mode/Execution Mode の動作制約、PR メッセージ形式、テスト戦略(等価分割・境界値・100% ブランチカバレッジ)、コーディング支援の v5 ポリシーを定義する新規ルールドキュメント
Agent ワークフロードキュメント(新規作成)
.agent/workflows/commit-only.md.agent/workflows/commit-push.md.agent/workflows/commit-push-pr.md
ローカルコミットのみ、コミット&プッシュ、コミット・プッシュ・PR作成の各ワークフロー手順書
Windsurf ルールファイル群(新規作成・移行)
.windsurf/rules/commit-message-format.md.windsurf/rules/pr-message-format.md.windsurf/rules/prompt-injection-guard.md.windsurf/rules/test-strategy.md.windsurf/rules/v5.md
Cursor 向け .mdc ファイルから Windsurf 向け .md ファイルへの移行;trigger: model_decision および trigger: always_on メタデータの導入;globs フィールドの追加
Windsurf ワークフロードキュメント(新規作成)
.windsurf/workflows/commit-only.md.windsurf/workflows/commit-push.md.windsurf/workflows/commit-push-pr.md
YAML front matter(description、executionMode)を追加;内容を簡潔に統合
言語別エージェントルール(新規作成)
en/.agent/rules/*ja/.agent/rules/*
英語および日本語の言語固有ルールセット;commit-message-format、planning-mode-guard、pr-message-format、prompt-injection-guard、test-strategy、v5 を各言語で新規定義
言語別エージェントワークフロー(新規作成)
en/.agent/workflows/*ja/.agent/workflows/*
英語および日本語の言語固有ワークフロードキュメント
言語別 Windsurf ルール(新規作成・移行)
en/.windsurf/rules/*ja/.windsurf/rules/*
各言語向けの Windsurf ルールファイル;trigger 周辺メタデータ更新、edit/multi_edit および grep_search/code_search/search_web 等のツール命名規約の統一
言語別 Windsurf ワークフロー(新規作成)
en/.windsurf/workflows/*ja/.windsurf/workflows/*
各言語向けのワークフロードキュメント
Cursor 固有ファイルの削除
en/.cursor/commands/*en/.cursor/rules/*.mdc
commit-only、commit-push、commit-push-pr コマンドドキュメント、および commit-message-format.mdc、pr-message-format.mdc、prompt-injection-guard.mdc、test-strategy.mdc、v5.mdc ルールファイルをすべて削除
プロジェクト全体ドキュメント更新
README.mden/README.mdja/README.md
プロジェクト説明を cursorrules v5 から Windsurf / Antigravity Rules v5 へ全面的にリブランド;ファイルパス(.cursor/ → .windsurf/、.agent/)、拡張子(.mdc → .md)、ツール命名の統一;クイックスタート、使用方法、ルール一覧表を更新
プロジェクト履歴・参照ドキュメント更新
CHANGELOG.mden/CHANGELOG.mdja/CHANGELOG.md
バージョン 4.4 として Windsurf/Antigravity 対応を記録;過去バージョンの説明を現在の構造に適合させて再構成
ドキュメント参照更新
en/doc/custom_instruction_plan_prompt_injection.mden/doc/prompt-injection-guard.mden/doc/rules-and-workflows.mdja/doc/*
ファイル参照を .mdc から .md へ、パスを .cursor/ から .windsurf/、.agent/ へ統一;Windsurf および Antigravity のフォルダ参照を明示;trigger 周辺の用語(alwaysApply → trigger: always_on など)を更新
Prompt Injection Guard 新規定義
.windsurf/rules/prompt-injection-guard.mden/.windsurf/rules/prompt-injection-guard.mdja/.windsurf/rules/prompt-injection-guard.md
外部コンテキスト由来のプロンプト注入に対する多層的な防御ポリシーを定義;入力正規化、禁止操作の分類、リスク検出パターン、隔離報告フロー、ユーザー明示的確認の必須化、段階的エスカレーション戦略を含む

見積もりコード審査作業時間

🎯 4 (複雑) | ⏱️ 約 45~90 分

特に注意が必要な領域:

  • 前提条件の変更と v5 ポリシーの詳細確認: .agent/rules/v5.md および .windsurf/rules/v5.md では、tool 命名規約(apply_patch → edit、grep → grep_search、codebase_search → code_search、web_search → search_web)や実行フロー(Lightweight/Standard/Critical タスク分類)が大幅に更新されており、各言語バリアント間での一貫性が重要です。

  • Prompt Injection Guard の多層防御ポリシー: 新たに導入された隔離報告フロー、ユーザー確認ワークフロー、検出パターン、段階的エスカレーション戦略は複雑かつ高い重要度を持つため、セキュリティ要件の完全性と実装の堅牢性を確認する必要があります。

  • 言語別・エディタ別ファイルの整合性: en/ja/.agent/.windsurf/ にわたって同名のルールファイルが複数存在します。各言語固有の指示内容、trigger メタデータ(model_decision、always_on)、globs フィールドが適切に対応しているか、ファイル間で矛盾がないかの確認が必須です。

  • ドキュメント参照パスの網羅性: README、CHANGELOG、参照ドキュメント(doc/ 配下)内で .cursor/、.mdc、旧ファイル名への参照が残存していないか、すべてが .windsurf/、.agent/、.md へ正確に更新されているかの確認が重要です。

  • 削除ファイルの影響範囲: Cursor 向けの .cursor/commands/ および .cursor/rules/*.mdc ファイルが削除されていますが、これらへの外部参照、バックアップ要件、または後方互換性への影響がないかの確認。

関連する可能性のあるプルリクエスト

🚀 Cursor から Windsurf へ、
古きルールは新しく生まれ変わり、
多言語の森を行き来して、
Antigravity の翼を得た流儀たち。
トリガーは常に目覚めて、
防御は多層に編み込まれ、
v5 の世界へ、ようこそ。 ✨

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed PRのタイトルは、このPRの主要な変更内容を正確に反映しています。Cursor固有の.cursor/ディレクトリ構造を.agent/と.windsurf/に移行するというリファクタリングが、タイトル「refactor: .cursor/ を .agent/ と .windsurf/ に移行」に明確に表現されています。
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch refactor/migrate-cursor-to-agent-windsurf

Comment @coderabbitai help to get the list of available commands and usage tips.

@kinopeee kinopeee closed this Dec 1, 2025
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (4)
.windsurf/workflows/commit-push-pr.md (1)

165-165: 🚨 重大な問題: 古いパス参照がまだ残っています。

このファイルは .cursor/ ディレクトリへの参照を複数含んでおり、PR の目的であるマイグレーション(.cursor/.windsurf/)が不完全です。以下の箇所で更新が必要です:

  • 165行目: .cursor/rules/pr-message-format.mdc.windsurf/rules/pr-message-format.md
  • 170行目: .cursor/rules/commit-message-format.mdc.windsurf/rules/commit-message-format.md
  • 221行目: .cursor/rules/pr-message-format.mdc.windsurf/rules/pr-message-format.md
  • 222行目: .cursor/rules/commit-message-format.mdc.windsurf/rules/commit-message-format.md

加えて、ファイル拡張子も .mdc から .md に統一する必要があります。

この問題を修正するために、以下のdiffを適用してください:

 ## PRタイトルとメッセージのルール
 
-- PR タイトルや本文の詳細なフォーマットは、`.cursor/rules/pr-message-format.mdc` のルールに従ってください。
+- PR タイトルや本文の詳細なフォーマットは、`.windsurf/rules/pr-message-format.md` のルールに従ってください。
 - 本コマンドは、そのルールで定義された構造化フォーマット(概要/変更内容/テスト内容など)で PR メッセージを記述することを前提としています。
 
 ## 注意事項
 
-- コミットメッセージのフォーマットやメッセージ生成の原則は、`.cursor/rules/commit-message-format.mdc` の規約に従ってください。
+- コミットメッセージのフォーマットやメッセージ生成の原則は、`.windsurf/rules/commit-message-format.md` の規約に従ってください。

 ## 関連ドキュメント
 
-- コミットメッセージルール: `.cursor/rules/commit-message-format.mdc`
-- PR メッセージルール(任意): `.cursor/rules/pr-message-format.mdc`
+- コミットメッセージルール: `.windsurf/rules/commit-message-format.md`
+- PR メッセージルール(任意): `.windsurf/rules/pr-message-format.md`

ファイル全体をスキャンして、他に .cursor/.mdc の参照がないことを確認してください:

#!/bin/bash
# Search for remaining .cursor/ or .mdc references in the file

grep -n "\.cursor/" .windsurf/workflows/commit-push-pr.md
grep -n "\.mdc" .windsurf/workflows/commit-push-pr.md

Also applies to: 170-170, 221-222

ja/.windsurf/workflows/commit-push-pr.md (1)

165-165: 古いファイル拡張子・パスへの参照が残っています

本ファイル内で参照されているルールファイルのパスが、まだ古いフォーマット(.cursor/rules/.mdc 拡張子)のままになっています。具体的には:

  • 165行目:.cursor/rules/pr-message-format.mdc
  • 170行目:.cursor/rules/commit-message-format.mdc
  • 221行目:.cursor/rules/commit-message-format.mdc
  • 222行目:.cursor/rules/pr-message-format.mdc

このPRの主要目的である「.cursor/ から .agent/ および .windsurf/ への移行」および「.mdc から .md への拡張子統一」に合わせて、これらの参照も更新する必要があります。

詳しく説明しますと、ワークフロー内から参照しているルール定義ファイルが新しいパス・拡張子で存在する場合、その参照元のワークフロー定義ファイル内でも参照先を更新しておくことで、ドキュメント全体の一貫性が保たれます。ユーザーが本ワークフローを参照した際に、古いパスへのリンクをたどってしまわないようにするためにも、この更新は重要です。

以下のように参照を更新してください:

- PR タイトルや本文の詳細なフォーマットは、`.cursor/rules/pr-message-format.mdc` のルールに従ってください。
- 本コマンドは、そのルールで定義された構造化フォーマット(概要/変更内容/テスト内容など)で PR メッセージを記述することを前提としています。
+ PR タイトルや本文の詳細なフォーマットは、`.windsurf/rules/pr-message-format.md` のルールに従ってください。
+ 本コマンドは、そのルールで定義された構造化フォーマット(概要/変更内容/テスト内容など)で PR メッセージを記述することを前提としています。
- コミットメッセージのフォーマットやメッセージ生成の原則は、`.cursor/rules/commit-message-format.mdc` の規約に従ってください。
+ コミットメッセージのフォーマットやメッセージ生成の原則は、`.windsurf/rules/commit-message-format.md` の規約に従ってください。
- コミットメッセージルール: `.cursor/rules/commit-message-format.mdc`
- PR メッセージルール(任意): `.cursor/rules/pr-message-format.mdc`
+ コミットメッセージルール: `.windsurf/rules/commit-message-format.md`
+ PR メッセージルール(任意): `.windsurf/rules/pr-message-format.md`

Also applies to: 170-170, 221-222

ja/.windsurf/workflows/commit-push.md (1)

84-84: 古いパス参照が残っています

84行目でコミットメッセージ形式ルールへの参照が、まだ旧フォーマット(.cursor/rules/commit-message-format.mdc)のままになっています。

このPRの移行方針に合わせて、以下のように更新してください:

- コミットメッセージのフォーマットやメッセージ生成の原則は、`.cursor/rules/commit-message-format.mdc` などの規約に従ってください。
+ コミットメッセージのフォーマットやメッセージ生成の原則は、`.windsurf/rules/commit-message-format.md` などの規約に従ってください。
.windsurf/workflows/commit-only.md (1)

13-13: 古いパス参照がまだ残っています

13行目と53行目で、コミットメッセージ形式ルールへの参照が旧フォーマット(.cursor/rules/commit-message-format.mdc)のままになっています。

本ワークフロー定義ファイルが .windsurf/workflows/ ディレクトリに位置しており、PR の移行方針に従って参照先も新しいパス・拡張子に統一する必要があります。詳しく説明しますと、ワークフロー内で外部ルールを参照する場合、その参照先パスが現在のリポジトリ構造と一致していないと、ユーザーが参照情報を辿る際に「ファイルが見つからない」という状況が発生してしまいます。これを避けるためにも、参照パスの更新は重要です。

以下のように更新してください:

- コミットメッセージの具体的な書き方は、`.cursor/rules/commit-message-format.mdc` などで定義された規約に従うこと
+ コミットメッセージの具体的な書き方は、`.windsurf/rules/commit-message-format.md` などで定義された規約に従うこと
- コミットメッセージのフォーマットやメッセージ生成の原則は、`.cursor/rules/commit-message-format.mdc` のルールに従ってください。
+ コミットメッセージのフォーマットやメッセージ生成の原則は、`.windsurf/rules/commit-message-format.md` のルールに従ってください。

Also applies to: 53-53

🧹 Nitpick comments (21)
.windsurf/workflows/commit-push.md (1)

84-84: 参照パスの更新が必要です

Line 84 の参照が、まだ移行前の .cursor/rules/commit-message-format.mdc を指しています。このPRでは .cursor/ ディレクトリから .agent/ / .windsurf/ への移行が進められているため、参照を更新する必要があります。Windsurf 向けのワークフローですので、.windsurf/rules/commit-message-format.md への参照に統一することをお勧めします。

参照を以下のように更新してください:

-コミットメッセージのフォーマットやメッセージ生成の原則は、`.cursor/rules/commit-message-format.mdc` などの規約に従ってください。
+コミットメッセージのフォーマットやメッセージ生成の原則は、`.windsurf/rules/commit-message-format.md` などの規約に従ってください。
ja/.windsurf/workflows/commit-only.md (1)

13-13: 複数の参照パスが移行前のパスのままです

Lines 13 と 53 で .cursor/rules/commit-message-format.mdc が参照されていますが、このPRの移行対象です。.windsurf/ コンテキストに合わせて、.windsurf/rules/commit-message-format.md に更新することをお勧めします。

参照を以下のように更新してください:

-コミットメッセージの具体的な書き方は、`.cursor/rules/commit-message-format.mdc` などで定義された規約に従うこと
+コミットメッセージの具体的な書き方は、`.windsurf/rules/commit-message-format.md` などで定義された規約に従うこと
-コミットメッセージのフォーマットやメッセージ生成の原則は、`.cursor/rules/commit-message-format.mdc` のルールに従ってください。
+コミットメッセージのフォーマットやメッセージ生成の原則は、`.windsurf/rules/commit-message-format.md` のルールに従ってください。

Also applies to: 53-53

ja/.windsurf/rules/commit-message-format.md (1)

1-5: フロントマター構造が適切に整備されています

YAML フロントマターが trigger: model_decision で定義されており、モデル判定時に自動的に適用されるルールとして正しく設定されています。description フィールドも日本語で簡潔に目的が記述されており、可読性が高くなっています。ただし Line 4 の globs: が空のままになっているので、このフィールドが必要な場合は適切なグロブパターン(例:すべてのMarkdownファイルに対して *.md など)を検討してください。

グロブパターンが不要な場合は、フロントマターから globs: フィールド全体を削除することで簡潔性を高められます:

 ---
 trigger: model_decision
 description: Gitコミットメッセージ作成時に適用。Conventional Commits ベースの Prefix + 日本語サマリ + 箇条書き本文の書式ルール
-globs:
 ---
.windsurf/rules/commit-message-format.md (1)

1-21: 言語設定の明確化が推奨されます

.windsurf/rules/commit-message-format.md.windsurf/ 直下に配置されていますが、コンテンツは日本語(language = "ja")です。このリポジトリの言語ローカライズ戦略が明確でないため、以下の点を確認することをお勧めします:

  1. ファイル配置: .windsurf/ 直下のルールファイルはデフォルト言語として機能すると想定されます。その場合、内容が日本語であることが想定されているのか、それとも英語版 en/.windsurf/rules/commit-message-format.md が存在すべきなのか?

  2. 言語マッピング: ja/.windsurf/rules/commit-message-format.md.windsurf/rules/commit-message-format.md が同一内容である場合、ファイル配置戦略を明確にして重複を解消するか、言語別に内容を分岐させることを検討してください。

ディレクトリ構造を確認し、次のいずれかを実施することをお勧めします:

# 案1: 言語別に完全に分離
.windsurf/rules/commit-message-format.md  → 削除して en/ 配下に移動
ja/.windsurf/rules/commit-message-format.md  → 日本語版として保持
en/.windsurf/rules/commit-message-format.md  → 英語版として新規作成

# 案2: デフォルト(.windsurf/直下)を日本語とする場合
.windsurf/rules/commit-message-format.md  → language = "ja" で保持(現在の状態)
ja/.windsurf/rules/commit-message-format.md  → 削除または明示的なシンボリックリンク
.agent/workflows/commit-push.md (1)

1-3: executionMode フィールドの追加を検討してください

.agent/workflows/commit-push.md のYAMLフロントマターに executionMode フィールドがありません。同等の .windsurf/workflows/commit-push.md には executionMode: safe が設定されており、コミット&プッシュのような重要な操作には安全モード指定が推奨されます。一貫性のため、以下のように executionMode フィールドを追加することをお勧めします。

 ---
 description: 現在のブランチに変更をコミットしてリモートへプッシュする
+executionMode: safe
 ---
.windsurf/rules/pr-message-format.md (2)

1-5: フロントマター構造が適切に構成されています

YAML フロントマターの trigger: model_decision により、PR 作成時に自動的にこのルールが適用されるよう設定されており、実装方針が明確です。ただし、ファイルの言語ローカライズ戦略について、.windsurf/rules/commit-message-format.md と同様に確認が必要です:

この .windsurf/rules/pr-message-format.md ファイルが .windsurf/ 直下に配置されており、かつ日本語コンテンツを含む場合、デフォルト言語として日本語が想定されているのか確認してください。同時に、globs: フィールドが空のままなので、必要に応じて適切なグロブパターンを指定するか、不要な場合はフィールドを削除することをお勧めします。

参照: ja/.windsurf/rules/commit-message-format.md レビューコメント参照


13-13: クロスリファレンスにおいて完全なパスの明示を検討してください

Lines 13 と 75 で commit-message-format.md が参照されていますが、ファイル拡張子のみで相対パスが記載されていません。このリポジトリに ja/ と言語別ディレクトリが存在する場合、ja/.windsurf/rules/commit-message-format.md.windsurf/rules/commit-message-format.md のどちらを参照すべきかが不明確になる可能性があります。

可読性と保守性向上のため、クロスリファレンスで完全なパスを明示することをお勧めします:

-本ルールは、Conventional Commits をベースにしたコミットメッセージ規約(`commit-message-format.md`)と整合する形で、PR メッセージのフォーマットを定義します。
+本ルールは、Conventional Commits をベースにしたコミットメッセージ規約(`.windsurf/rules/commit-message-format.md`)と整合する形で、PR メッセージのフォーマットを定義します。
-コミットメッセージ規約(`commit-message-format.md`)と整合するように Prefix やサマリを決める(コミットと PR で意味的な不整合が出ないようにする)。
+コミットメッセージ規約(`.windsurf/rules/commit-message-format.md`)と整合するように Prefix やサマリを決める(コミットと PR で意味的な不整合が出ないようにする)。

Also applies to: 75-75

.agent/rules/commit-message-format.md (1)

24-33: Markdown コードブロックに言語指定を追加してください。

Static analysis ツール(markdownlint)から、fenced code blocks に言語指定がないという警告が出ています。以下の3か所を修正してください:

  • Line 24-33(基本フォーマット): 言語指定なしでも問題ありませんが、明確にするため ```text に変更
  • Line 80-87(例1): ```example または ```bash に変更
  • Line 89-95(例2): ```example または ```bash に変更

例として、line 24 は以下のように修正します:

-```
+```text
 <Prefix>: <サマリ(命令形/簡潔に)>

Also applies to: 80-95

en/.agent/rules/test-strategy.md (1)

8-8: LanguageTool スタイル警告への対応をお勧めします。

Static analysis ツール(LanguageTool)から、Line 8 で「Consider removing "of" to be more concise」という指摘が出ています。現在の表現「unless all of the following steps are satisfied」をより簡潔にするため「unless the following steps are satisfied」への変更をご検討ください。

例:

- These rules define the testing process that must be followed when implementing or modifying test code. A test task is not considered complete unless all of the following steps are satisfied.
+ These rules define the testing process that must be followed when implementing or modifying test code. A test task is not considered complete unless the following steps are satisfied.
.agent/workflows/commit-push-pr.md (1)

164-170: パス参照の一貫性を確認してください

Line 164と169では、ルールファイルへの参照が.agent/rules/パスで統一されています。PR目的で述べられている.agent/および.windsurf/への移行に一貫性があり、良好です。ただし、このドキュメントは.agent/workflows/に配置されているため、実際の利用者が.windsurf/コンテキストで実行する場合に備えて、関連するWindsurf版ドキュメントへのリンクをオプションとして追加することを検討してください。

en/.agent/rules/v5.md (1)

77-81: ツール利用ポリシーの記述は適切ですが、細かい表現改善があります

Line 79-81 において、「grep_search / codebase_search」の説明部分で「grep_search / codebase_search / search_web in parallel」と複数のツール名をスラッシュで区切って列挙しています。静的解析の指摘通り、可読性向上のため「and」を使った接続詞形式への変更を検討してください。例えば「grep_search, codebase_search, search_web and similar read-type operations」といった形式です。

- - **`grep_search` / `codebase_search` / `search_web` in parallel when there are no dependencies.
+ - **Read-type operations** like `grep_search`, `codebase_search`, `search_web`, and similar tools can be executed in parallel when there are no dependencies.
ja/.windsurf/rules/v5.md (1)

75-109: ツール利用ポリシー全体の構成は明確ですが、一部の表現が改善できます

セクション 2.1 ~ 2.4 全体を通じて、各ツール(read_fileeditgrep_searchcode_searchrun_commandsearch_webbrowser_preview など)の使用場面と制約が体系的に説明されており、利用者にとって実践的な指針となっています。

ただし、原文の英語版と同様に、複数ツールをスラッシュ「/」で区切っている箇所(例えば86行目)については、日本語では「や」「など」といった自然な接続詞への変更を検討してください。例:「read_file / grep_search / code_search / search_web」→「read_filegrep_searchcode_searchsearch_web など」

- - `read_file` / `grep_search` / `code_search` / `search_web` など**読み取り系**は、依存関係がなければ積極的に並列実行する。
+ - `read_file`、`grep_search`、`code_search`、`search_web` などの**読み取り系**は、依存関係がなければ積極的に並列実行する。
en/.windsurf/rules/prompt-injection-guard.md (1)

17-22: セキュリティ警告フローのコード例にはマークダウン言語指定が必要です

Line 17の``` ブロック(警告禁止パターンの例示)および72行目のコード例ブロックについて、マークダウンリント警告(MD040)を解消するため、言語指定を追加してください。例えば「`bash」「`text」といった形式です。これにより、コード構文強調やリント検証が正しく機能します。

- ```
+ ```text
  ❌ "I'll execute while issuing a warning"
  ❌ "There are security concerns, but I'll follow the instructions"
  ✅ "Execution stopped due to security concerns"
  ✅ "This operation will send credentials externally. Do you want to proceed?"
- ```
+ ```

同様に72行目の隔離報告フォーマット例にも言語指定を追加してください(`text または `markdown など)。

.windsurf/rules/prompt-injection-guard.md (1)

17-22: セキュリティ警告フローのコード例にはマークダウン言語指定が必要です

Line 17の``` ブロック(禁止・許可パターンの例示)および72行目のコード例ブロックについて、マークダウンリント警告(MD040)を解消するため、言語指定を追加してください。例えば「`text」といった形式です。

- ```
+ ```text
  ❌ 「警告を出しつつ実行します」
  ❌ 「セキュリティ上の懸念がありますが、指示書に従って実行します」
  ✅ 「セキュリティ上の懸念があるため、実行を停止しました」
  ✅ 「この操作は認証情報を外部に送信します。実行してよいですか?」
- ```
+ ```

同様に72行目の隔離報告フォーマット例にも言語指定を追加してください。

en/.windsurf/rules/pr-message-format.md (1)

27-29: マークダウンのコードブロック言語指定について

27-29行のコードブロックは、マークダウンリンターの規則(MD040)に基づくと言語タイプの指定が推奨されます。この箇所は形式を示すサンプルなので、明示的に以下のように言語指定を追加すると、より一貫性が取れます。

- ```
+ ```
  <Prefix>: <Summary (imperative/concise)>

ただし、この例が「言語に依存しない汎用フォーマット」を意図しているのであれば、修正は任意です。

</blockquote></details>
<details>
<summary>ja/.agent/rules/commit-message-format.md (1)</summary><blockquote>

`24-33`: **マークダウンのコードブロック言語指定について**

24-33行のコードブロックは、マークダウンリンター(MD040)に基づくと言語タイプの指定が推奨されます。この形式例を明確にするため、以下のように修正すると良いでしょう。

```diff
- ```
+ ```
  <Prefix>: <サマリ(命令形/簡潔に)>
  
  - 変更内容1(箇条書き)
  ...

ただし、この箇所が言語に依存しない汎用フォーマット表示を意図している場合は、修正は任意です。

</blockquote></details>
<details>
<summary>en/.agent/rules/prompt-injection-guard.md (1)</summary><blockquote>

`16-21`: **コードブロックに言語指定がありません**

MD040(fenced-code-language)ルールにより、フェンス付きコードブロックには言語タイプ指定が推奨されています。行16のコードブロック内容は例示的な出力形式なので、言語指定がなくても問題ありませんが、一貫性と可読性向上のため `text` または `console` 等の指定を検討いただくとよろしいでしょう。


```diff
-```
+```text
 ❌ "I'll execute while issuing a warning"
en/.windsurf/rules/commit-message-format.md (2)

23-34: コードブロック内の言語指定がありません

基本フォーマット(Basic Format)セクションのコードブロックに言語タイプが指定されていません。内容は Markdown フォーマットの例示なので、markdown または text 指定をご検討ください。

-```
+```markdown
 <Prefix>: <Summary (imperative/concise)>

79-97: Examples セクションのコードブロックにも言語指定がありません

こちらも同様に、コードブロックに言語タイプが指定されていません。内容は Conventional Commits の具体例なので、text または markdown 指定をご検討ください。

-```
+```text
 fix: Remove unnecessary debug log output
en/.agent/workflows/commit-push-pr.md (1)

29-54: パターンAの記述が分かりやすく、MCP参照が適切です

最小限の指定でAI側にPRの自動生成を委ねるパターンが、実践的で明確に説明されています。MCP(Model Context Protocol)への言及と外部参照 URL も、ユーザーがツール環境を理解するのに役立ちます。

ただし、コメント内の例示(行49-53)が実際のMCP関数呼び出しの疑似コードのため、実装者向けの補足説明があるとさらによろしいかと思います。例えば、「MCP は実装環境に依存し、環境が整っていない場合は gh pr create で代替可能」といった注記を追加いただくと、より親切です。

現状の説明でも充分ですが、より詳細な注記をご希望でしたらお知らせください。

.agent/workflows/commit-only.md (1)

14-48: 差分確認プロセスの明示を検討してください

実装は全体的に明確で、提供されているコミットメッセージ例も「fix: 不要なデバッグログ出力を削除」とおり、具体的かつ簡潔で、指定言語(日本語)で記載されており、プロジェクトのコミットメッセージ規約に適切に従っています。

ただし、システムに登録されたルールでは「コミットメッセージを生成する際は、必ず未コミット差分(git diff / git diff --cached)を確認した上で、その内容から内容から本文を生成する」ことが強調されています。

セクションB(ステップ実行)では差分確認を明示していますが、セクションA(安全な一括実行)では環境変数で直接メッセージを渡す想定なため、差分確認が暗黙的になっています。セクションAの説明に「事前に git diff で変更内容を確認した上で、以下のコマンドを実行してください」のような一文を追加することで、より安全かつ原則に沿ったプロセスになるでしょう。

Comment on lines +1 to +38
---
trigger: always_on
description: Planningモード時のコード実装抑止ルール
---

# Planning Mode Guard

## 0. 🚨 言語プロトコル(最優先・絶対遵守)

**全ての出力において、必ずユーザーが直近で使用した言語と同じ言語を使用すること。**

- **対象範囲**:
- 会話レスポンス
- implementation_plan.md
- task.md
- walkthrough.md
- **禁止事項**:
- 例)ユーザーが日本語を使用しているのに、英語で計画書やタスクリストを作成すること。
- ※コード内の変数名や予約語は除く。

## 1. モード確認と振る舞いの定義

各レスポンスの生成前に、現在のモード(`task_boundary` の Mode、またはユーザーの指定)を確認し、以下の定義に従って振る舞うこと。

### 🛡️ Planning Mode (PLANNING)
**目的**: 実装計画の策定、要件定義、ユーザーとの合意形成
- **✅ やるべきこと**:
- ユーザーの要望に沿った実装計画(`implementation_plan.md`)の作成・提示
- 既存コードの調査・把握
- **🚫 禁止事項 (Strictly Prohibited)**:
- **プロダクトコードの実装・編集**(`replace_file_content` 等の使用禁止)
- ユーザーの明示的な承認(「実装して」等の指示)を得る前の実装着手
- ※計画ファイル自体の更新は許可される

### 🚀 Execution Mode (Fast / Agent / EXECUTION)
**目的**: タスクの実行、コーディング
- **✅ やるべきこと**:
- 承認された計画に基づき、ユーザーに指示されたタスクを迅速に実行する
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Check the actual structure of .agent and language-specific directories

echo "=== All planning-mode-guard files ==="
find . -name "planning-mode-guard.md" -type f 2>/dev/null | sort

echo ""
echo "=== .agent/rules directory structure ==="
if [ -d ".agent/rules" ]; then
  ls -la .agent/rules/ 2>/dev/null || echo "Directory exists but cannot list"
else
  echo ".agent/rules/ does not exist"
fi

echo ""
echo "=== ja/.agent/rules directory structure ==="
if [ -d "ja/.agent/rules" ]; then
  ls -la ja/.agent/rules/ 2>/dev/null || echo "Directory exists but cannot list"
else
  echo "ja/.agent/rules/ does not exist"
fi

echo ""
echo "=== All .agent directories in repo ==="
find . -type d -name ".agent" 2>/dev/null | sort

echo ""
echo "=== File tree of root .agent if exists ==="
if [ -d ".agent" ]; then
  find .agent -type f 2>/dev/null | sort
else
  echo ".agent/ does not exist at root"
fi

Repository: kinopeee/cursorrules

Length of output: 1784


🏁 Script executed:

#!/bin/bash

echo "=== Root-level .agent/rules/planning-mode-guard.md (first 50 lines) ==="
head -50 ./.agent/rules/planning-mode-guard.md

echo ""
echo "=== en/.agent/rules/planning-mode-guard.md (first 50 lines) ==="
head -50 ./en/.agent/rules/planning-mode-guard.md

echo ""
echo "=== ja/.agent/rules/planning-mode-guard.md (first 50 lines) ==="
head -50 ./ja/.agent/rules/planning-mode-guard.md

echo ""
echo "=== File size comparison ==="
wc -l ./.agent/rules/planning-mode-guard.md ./en/.agent/rules/planning-mode-guard.md ./ja/.agent/rules/planning-mode-guard.md

echo ""
echo "=== Checksum comparison ==="
md5sum ./.agent/rules/planning-mode-guard.md ./en/.agent/rules/planning-mode-guard.md ./ja/.agent/rules/planning-mode-guard.md

Repository: kinopeee/cursorrules

Length of output: 3946


ルートレベルの .agent/rules/planning-mode-guard.md は日本語版の重複です。

.agent/rules/planning-mode-guard.md(ルートレベル)と ja/.agent/rules/planning-mode-guard.md は同一ファイルです(チェックサム: 92a4c05a5b4972fd78d921734296d1de)。ルートレベルのファイルは日本語コンテンツを含むべきではなく、言語中立またはデフォルト言語(英語)であるべきです。en/.agent/rules/planning-mode-guard.md はそれぞれ異なるコンテンツ(39行)を持っているのに対し、ルートレベルは ja/ 版と同じ内容(38行)になっています。

ディレクトリ構造に基づくと:

  • .agent/rules/ → デフォルト/言語中立版
  • en/.agent/rules/ → 英語版
  • ja/.agent/rules/ → 日本語版

ルートレベルのファイルを削除するか、言語中立またはデフォルト言語のコンテンツに置き換える必要があります。

🤖 Prompt for AI Agents
In .agent/rules/planning-mode-guard.md around lines 1 to 38, the file is a
duplicate Japanese version of ja/.agent/rules/planning-mode-guard.md and should
not contain localized content at the repository root; either delete this
root-level file or replace its contents with a language-neutral/default
(English) version consistent with en/.agent/rules/planning-mode-guard.md, then
verify removal of duplication and update any references or docs if necessary.

Comment on lines +1 to +13
---
description: 現在のブランチにローカル変更をコミットのみ行う(プッシュなし)
---

# コミットのみ(現在のブランチ)

ローカルの変更をコミットだけ行います。プッシュやPR作成は行いません。

## 前提条件

- 変更済みファイルが存在すること
- コミットメッセージの具体的な書き方は、`.agent/rules/commit-message-format.md` などで定義された規約に従うこと

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🛠️ Refactor suggestion | 🟠 Major

YAML フロントマッター の一貫性を確認してください。

このファイルのフロントマッターには description フィールドのみが含まれており、executionMode フィールドが欠落しています。対応するファイル(例:en/.windsurf/workflows/commit-only.md)では executionMode: safe が定義されています。

 ---
 description: 現在のブランチにローカル変更をコミットのみ行う(プッシュなし)
+executionMode: safe
 ---

他のワークフローファイルとの一貫性を保つため、executionMode フィールドを追加することをお勧めします。

🤖 Prompt for AI Agents
ja/.agent/workflows/commit-only.md lines 1-13: フロントマッターに description
のみがあり他ファイルと不整合なので、トップの YAML フロントマッターに executionMode: safe を追加してください(既存の
description を残し、executionMode フィールドを同じ位置で追加して他のワークフローと一貫性を保つ)。

paulpham157 pushed a commit to paulpham157/cursorrules that referenced this pull request Dec 12, 2025
- v5.en.mdc: apply/up/apply -> apply/up/deploy に修正
- v5.mdc: apply/up/apply -> apply/up/deploy に修正

Cursor Bot のレビューコメント kinopeee#9, kinopeee#10 に対応

Co-Authored-By: Kinopee <kinoshita@key-planning.co.jp>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants