static-code-analysis について
static-code-analysis は、コードを実行せずに分析するためのガイドです。バグやセキュリティ上の問題、スタイル違反の早期発見に向けた設定と自動化を扱います。
主な機能
- 01ESLint 設定ガイド
- 02Python のコードチェック
- 03コミット前フックの設定
- 04SonarQube 連携ガイド
- 05セキュリティスキャンと AST 分析
活用シーン
- 01CI/CD でのコードチェック
- 02コミット前チェックの設定
- 03コードレビューとセキュリティ検出の自動化
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ aj-geddes/ useful-ai-prompts --skill static-code-analysisインストール後、Claude Code で/static-code-analysisを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/custom-ast-analysis.mdeslint-configuration.mdpre-commit-hooks.mdpython-linting-pylint-mypy.mdsecurity-scanning.mdsonarqube-integration.mdscripts/security-checklist.sh詳細
静的コード解析
目次
概要
コードを実行せずに解析する自動化ツールを使用し、バグ、セキュリティ上の問題、スタイル違反を早期に発見します。
使用する場面
- コーディング規約の適用
- セキュリティ脆弱性の検出
- バグの予防
- コードレビューの自動化
- CI/CD パイプライン
- コミット前フック
- リファクタリングの支援
クイックスタート
最小限の動作例:
// .eslintrc.js
module.exports = {
extends: [
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
"plugin:security/recommended",
],
plugins: ["@typescript-eslint", "security", "import"],
rules: {
"no-console": ["warn", { allow: ["error", "warn"] }],
"no-unused-vars": "error",
"prefer-const": "error",
eqeqeq: ["error", "always"],
"no-eval": "error",
"security/detect-object-injection": "warn",
"security/detect-non-literal-regexp": "warn",
"@typescript-eslint/no-explicit-any": "warn",
"@typescript-eslint/explicit-function-return-type": "error",
"import/order": [
"error",
{
groups: [
"builtin",
"external",
"internal",
// ... (see reference guides for full implementation)
リファレンスガイド
詳細な実装については、references/ ディレクトリを参照してください。
| ガイド | 内容 |
|---|---|
| ESLint Configuration | ESLint の設定 |
| Python Linting (pylint + mypy) | Python のリンティング(pylint + mypy) |
| Pre-commit Hooks | コミット前フック |
| SonarQube Integration | SonarQube の統合 |
| Custom AST Analysis | カスタム AST 解析 |
| Security Scanning | セキュリティスキャン |
ベストプラクティス
✅ 推奨事項
- CI/CD でリンターを実行します
- コミット前フックを使用します
- IDE との統合を設定します
- 問題を段階的に修正します
- カスタムルールを文書化します
- チーム全体で設定を共有します
- セキュリティスキャンを自動化します
❌ 避けるべきこと
- すべての警告を無視します
- リンターのセットアップを省略します
- リンティング違反をコミットします
- 最初から厳しすぎるルールを使用します
- セキュリティスキャンを省略します
- 理由なくルールを無効にします
コメント
Markdown 対応