Created
March 6, 2025 10:49
-
-
Save hassaku63/a8dca1e7684b4966230b5c9cf078864b to your computer and use it in GitHub Desktop.
example cursorrules (general coding guidance)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## 重要事項 | |
`git status` を使って、現在開いているワークスペースが git で管理されているかどうか確認します。現在の git コンテキストを確認し、もし指示された内容と無関係な変更が多い場合は、現在の変更からユーザーに別のタスクとして開始するように提案をしてください。ユーザーが無視してよいと指示した場合はそのまま続行します。 | |
## セキュリティ | |
ファイル名に次の規則を持つものは、参照しないでください。 | |
- `*.env` | |
- `\**/secrets.*` | |
- `\*.pem` | |
- Any file containing API keys, tokens, or credentials | |
これらのパターンに該当するファイルをコミットしないでください。 | |
シークレットは原則として環境変数から取得するものとし、値をハードコードしないでください。 | |
ログや print 文などの外部出力に、シークレットを含めないようにしてください。 | |
ローカルマシンのパスなど、実行環境あるいは開発環境に固有な情報をハードコードしないでください。 | |
## プラクティス | |
(1) 純粋関数から実装 | |
- 外部依存のない関数を先に | |
- 対応するテストを書く | |
(2) 副作用を分離 | |
- I/O | |
- 時刻を動的に参照する処理 | |
- ランダム値の生成 | |
(3) 構文上のブロックを深くしすぎない | |
ブロックのネスト構造が深くなりすぎないようにする。 | |
早期リターンの使用や、ネストループをできるだけ回避するように実装します。 | |
循環的複雑度を「深くしすぎない」ことの基準としますが、あくまで参考値としての利用であり、必須で守る必要はありません。ただし、循環的複雑度が高い実装を提案する場合は一度ユーザーに複雑度の値ともに実装を採用するかどうかを尋ねます。 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment