ルールファイルをYAMLへ一括変換&英訳 🌍(開発日記 No.080)
関連リンク
はじめに
昨日は複数AIエージェント間でのルールファイル共有を試しました。今日は、既存のルールファイルをYAML形式に一括変換し、さらに内容を英語に翻訳するという、地道ながら重要な作業に取り組みます。グローバル展開を見据えて、着々と準備を進めていくぞ!
背景と目的
現在、ルールファイルは .mdc
や .md
形式で記述されています。これらをYAML形式に統一することで、構造化されたデータとして扱いやすくなり、可読性やメンテナンス性が向上します。さらに、内容を英語に翻訳することで、より多くの開発者がルールを理解し、貢献できるようになります。国際化対応の一環として、この変換作業は不可欠なのです。
検討内容
今回の作業は、基本的にはファイル形式の変換と翻訳の自動化です。ディレクトリ構造を把握し、対象ファイルを特定し、変換・翻訳処理を順番に実行していく必要があります。特に、既存のYAMLファイルを上書きする際には、注意深く対応する必要があります。
実装内容
まずは、.cursor/rules-common/knowledge/
ディレクトリ内の .mdc
ファイルからYAMLへの変換を開始しました。
knowledge_development_process.mdc
knowledge_mcp_usage.mdc
knowledge_pytest_assertions_and_reporting.mdc
knowledge_pytest_basics_and_setup.mdc
knowledge_pytest_fixtures.mdc
knowledge_pytest_mocking_and_patching.mdc
knowledge_pytest_parameterization_and_markers.mdc
knowledge_pytest_security_testing.mdc
knowledge_pytest_testing_strategy.mdc
knowledge_quality_dashboard_architecture.mdc
knowledge_quality_dashboard_ci_cd_integration.mdc
knowledge_quality_dashboard_metrics.mdc
knowledge_quality_dashboard_overview.mdc
knowledge_quality_management_overview.mdc
knowledge_security_tools_general.mdc
knowledge_test_strategy_overview.mdc
これらのファイルを一つずつ読み込み、英訳し、YAML形式で保存しました。
次に、modes
ディレクトリを確認したところ、既にYAML形式に変換済みだったので、ここはスキップ。
続いて、references
ディレクトリ内の .md
ファイル (security_tools_overview.md
, static_analysis_tools.md
) をYAMLに変換しました。
さらに、プロジェクト外の /home/centervil/repos/Docs/dev-docs/auto_logging_guide.md
も変換。これは、特定のドキュメントをルールとして利用したいという要望に応えたものです。
最後に、adapters
ディレクトリ内の cursor_adapter.mdc
をYAML化し、windsurf_adapter.md
を英訳して既存の windsurf_adapter.yaml
を上書きしました。windsurf_adapter.yaml
は重要なファイルなので、上書きには少し緊張しました。
技術的なポイント
ファイル変換と翻訳には、以前作成したツール mcp0_read_file
と mcp0_write_file
を使用しました。これらのツールは、ファイルの内容を読み込み、指定された形式に変換して保存する機能を持っています。今回は、これらのツールを繰り返し実行することで、一括変換を実現しました。
YAML形式への変換には、適切なライブラリを使用し、構造を維持するように注意しました。また、翻訳の品質を保つために、翻訳後のテキストをレビューすることも重要です。
所感
今日はひたすらファイルの変換作業でしたが、地道な作業も重要だと改めて感じました。特に、英語への翻訳は、今後のグローバル展開において非常に重要なステップです。
ファイル数が多かったので、最初は少し気が滅入りましたが、一つずつ確実に処理していくことで、最終的には達成感を得られました。自動化ツールのおかげで、手作業で行うよりも遥かに効率的に作業を進めることができました。
既存のYAMLファイルを上書きする際には、バックアップを取るなどの対策を講じるべきだと反省しました。今後は、より安全な方法でファイル操作を行うように改善していきたいです。
今後の課題
今回の作業で、主要なルール関連ファイルはYAML形式に統一されましたが、まだ変換されていないファイルもいくつか存在します。これらのファイルも順次変換していく必要があります。
また、翻訳の品質をさらに向上させるために、翻訳レビューのプロセスを確立する必要があります。
まとめ
今日は、既存のルールファイルをYAML形式に一括変換し、内容を英語に翻訳しました。この作業により、ルールファイルの可読性、メンテナンス性、国際対応力が向上しました。地道な作業でしたが、今後の開発をスムーズに進めるための重要な一歩となりました。
Discussion