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 対応
- 外部依存なし