JSPM

@hosty-jp/vibe-coding-rules

0.1.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • 0
  • Score
    100M100P100Q48083F
  • License MIT

Vibe coding guardrails for Claude Code - security, quality, and operational safety rules

Package Exports

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@hosty-jp/vibe-coding-rules) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    @hosty-jp/vibe-coding-rules

    社内の vibe coding で生成されるコードのセキュリティ・品質・運用安定性を担保するための Claude Code ガードレールです。

    Google Apps Script、Slack、Notion、Google Workspace、Freee 等の外部サービス連携を安全に行うためのルール・エージェント・hooks を提供します。

    インストール

    プロジェクトのルートディレクトリに移動してから実行してください。

    cd ~/work/my-gas-project
    npx @hosty-jp/vibe-coding-rules init

    プロジェクトに以下が配置されます:

    CLAUDE.md                              # Claude Code が参照するルール概要
    .claude/
      rules/
        gas-security.md                    # GAS セキュリティルール
        gas-best-practices.md              # GAS ベストプラクティス
        external-services.md               # 外部サービス連携ルール
        code-quality.md                    # コード品質基準
        vibe-coding-guard.md               # Vibe coding ガードレール
      agents/
        security-reviewer.md               # セキュリティレビューエージェント
        code-reviewer.md                   # コード品質レビューエージェント
        vibe-code-validator.md             # 総合バリデーションエージェント

    また、~/.claude/settings.json に hooks が自動追加されます(--skip-hooks でスキップ可)。

    コマンド

    init

    npx @hosty-jp/vibe-coding-rules init

    プロジェクトにルール・エージェント・hooks を配置します。

    オプション 説明
    --force 既存ファイルを上書き
    --skip-hooks hooks の自動設定をスキップ

    update

    npx @hosty-jp/vibe-coding-rules update

    ルールを最新版に更新します。既存ファイルは .bak としてバックアップされます。

    check

    npx @hosty-jp/vibe-coding-rules check

    プロジェクト内のコードを静的解析し、問題を検出します。

    検出項目:

    重要度 内容
    CRITICAL APIキー直書き、eval() 使用
    HIGH ログへの機密情報出力、エラーハンドリング漏れ
    MEDIUM UrlFetchApp の宛先未確認、ファイルサイズ超過
    LOW console.log の残存

    CRITICAL が検出された場合、exit code 1 で終了します。

    ルール概要

    セキュリティ

    • APIキー・トークンは PropertiesService / 環境変数で管理
    • eval() / new Function() 禁止
    • UrlFetchApp.fetch() はホワイトリスト方式
    • ログに機密情報を出力しない
    • OAuth スコープは必要最小限

    GAS ベストプラクティス

    • トリガーの無限ループ防止
    • 実行時間制限(6分)への対処パターン
    • LockService による排他制御
    • スプレッドシートのバッチ処理(getValues / setValues
    • API Quota の管理

    外部サービス連携

    Slack、Notion、Google Workspace、Freee 等の連携ルール:

    • 認証情報の安全な管理
    • API レート制限の遵守
    • 必要最小限の権限(スコープ)
    • テスト環境と本番環境の分離

    コード品質

    • 1ファイル 300行以下、1関数 50行以下
    • エラーハンドリング(try-catch)必須
    • ハードコード値禁止
    • イミュータビリティ(データの変更禁止)
    • 早期リターンでネスト削減

    エージェント

    Claude Code 内で以下のエージェントが利用できます:

    エージェント 役割 実行タイミング
    security-reviewer セキュリティレビュー コード生成後に必ず実行
    code-reviewer コード品質レビュー コード生成後に実行
    vibe-code-validator 運用可能性の総合判定 レビュー完了後に実行

    Hooks

    init 時に以下の hooks が ~/.claude/settings.json に追加されます:

    フック タイミング 内容
    セキュリティチェック ファイル編集後 APIキー・トークンの直書き、eval() を検出してブロック
    セッション監査 セッション終了時 変更ファイル全体のシークレット検出

    バージョン管理

    最新バージョンでない場合、init / check 実行時にセキュリティ警告が表示されます:

    ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
    ┃  SECURITY WARNING                                        ┃
    ┃                                                          ┃
    ┃  セキュリティルールが最新ではありません!                  ┃
    ┃  古いルールには未対応の脆弱性パターンが含まれる           ┃
    ┃  可能性があります。                                      ┃
    ┃                                                          ┃
    ┃  今すぐ更新:                                             ┃
    ┃  npx @hosty-jp/vibe-coding-rules@latest update            ┃
    ┃                                                          ┃
    ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

    動作環境

    • Node.js 18 以上
    • Windows / macOS 対応
    • 外部依存なし