Skip to content

feat: sync Claude settings from Elu-co-jp projects - #384

Merged
keito4 merged 1 commit into
mainfrom
feat/sync-claude-settings-20260129
Jan 29, 2026
Merged

feat: sync Claude settings from Elu-co-jp projects#384
keito4 merged 1 commit into
mainfrom
feat/sync-claude-settings-20260129

Conversation

@keito4

@keito4 keito4 commented Jan 29, 2026

Copy link
Copy Markdown
Owner

概要

Elu-co-jp 配下の全プロジェクトから .claude/settings.local.json を収集し、
共通設定を抽出して DevContainer 設定に反映しました。

収集元

  • リポジトリ数: 13件
  • settings.local.json ファイル: 20件

変更内容

追加された許可設定 (8件)

コマンド 用途
Bash(npm version:*) npm バージョン管理
Bash(npm publish:*) npm パッケージ公開
Bash(npm whoami:*) npm ユーザー確認
Bash(nvm install:*) Node バージョンインストール
Bash(nvm use:*) Node バージョン切り替え
Bash(npx tsup:*) TypeScript バンドラー
Bash(tsc --build) TypeScript ビルド
Bash(vercel project ls:*) Vercel プロジェクト一覧

セキュリティチェック

✅ すべての追加項目を確認済み

  • 汎用的なコマンドパターンのみ
  • APIキー、トークン、パスワードなどの秘匿情報は含まれていません
  • プロジェクト固有の情報は除外済み

影響範囲

  • DevContainer イメージをビルドする全プロジェクト
  • 次回の DevContainer イメージビルド時から有効化

テスト

  • ✅ pre-commit フック: Format, Lint, Test 通過
  • ✅ 秘匿情報チェック: 問題なし

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Chores
    • Updated development environment configuration settings.

✏️ Tip: You can customize this high-level summary in your review settings.

Elu-co-jp 配下の全プロジェクトから settings.local.json を収集し、
共通設定を抽出して DevContainer 設定に反映しました。

## 収集元
- リポジトリ数: 13件
- settings.local.json ファイル: 20件

## 追加された許可設定 (8件)
- Bash(npm version:*) - npm バージョン管理
- Bash(npm publish:*) - npm パッケージ公開
- Bash(npm whoami:*) - npm ユーザー確認
- Bash(nvm install:*) - Node バージョンインストール
- Bash(nvm use:*) - Node バージョン切り替え
- Bash(npx tsup:*) - TypeScript バンドラー
- Bash(tsc --build) - TypeScript ビルド
- Bash(vercel project ls:*) - Vercel プロジェクト一覧

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@github-actions github-actions Bot added the size/XS PR サイズ Extra Small label Jan 29, 2026
@coderabbitai

coderabbitai Bot commented Jan 29, 2026

Copy link
Copy Markdown
📝 Walkthrough

Walkthrough

Expands Claude AI permissions in the dev container settings by adding bash command allowlist entries for npm (version, publish, whoami), nvm (install, use), npx (tsup), TypeScript compiler (tsc --build), and Vercel CLI (project ls).

Changes

Cohort / File(s) Summary
Claude Settings Permissions
.devcontainer/claude-settings.json
Added 8 bash command entries to the permissions allow list: npm operations (version, publish, whoami), Node version manager commands (nvm install/use), TypeScript bundler (npx tsup), TypeScript compiler (tsc --build), and Vercel CLI (project ls).

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • keito4/config#189: Modifies the same .devcontainer/claude-settings.json file with overlapping npm/npx/nvm/tsc and Vercel bash command allowlist expansions.
  • keito4/config#281: Updates the same Claude permissions file with overlapping npm and Vercel command allowlist entries.
  • keito4/config#312: Expands .devcontainer/claude-settings.json permissions with similar TypeScript tooling and Vercel command allowlist entries.

Poem

🐰 Whiskers twitching with delight,
npm, nvm, and tsc in sight!
Claude may now build and deploy with cheer,
Fresh permissions make the path crystal clear!
One tiny config, a rabbit's treat!

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the main change: syncing Claude settings from Elu-co-jp projects to the DevContainer configuration.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@claude

claude Bot commented Jan 29, 2026

Copy link
Copy Markdown
Contributor

レビュー結果

✅ 承認可能

Elu-co-jp プロジェクト群から Claude 設定を統合するアプローチは適切です。


📊 変更内容の確認

追加された8つの権限設定:

権限 用途 リスク評価
npm version:* バージョン管理 🟡 中: gitタグ作成可能
npm publish:* パッケージ公開 🟠 高: npm公開権限
npm whoami:* ユーザー確認 🟢 低: 情報取得のみ
nvm install:* Node インストール 🟢 低: 開発環境設定
nvm use:* Node バージョン切替 🟢 低: 開発環境設定
npx tsup:* TypeScript バンドラー 🟢 低: ビルドツール
tsc --build TypeScript ビルド 🟢 低: ビルドツール
vercel project ls:* Vercel プロジェクト一覧 🟢 低: 情報取得のみ

🔒 セキュリティ上の注意点

npm publish:* 権限について:

この権限により、Claude が npm パッケージを公開できます。以下の対策を推奨:

  1. npm 認証トークンの保護: トークンは環境変数または secrets 管理ツールで管理
  2. 公開前の確認プロセス: npm publish 実行前にユーザーに確認を求める
  3. 2FA: npm アカウントで 2FA を有効化することを推奨

npm version:* 権限について:

  • semantic-release など自動バージョニングツールと衝突する可能性があります
  • git タグが自動作成されるため、リリースワークフローとの整合性を確認してください

💡 今後の改善提案

  1. 権限設定ドキュメント: .claude/permissions.md などで各権限の用途と注意点を文書化
  2. より制限的なパターン: npm publish --dry-run のみ許可する設定も検討可能
  3. 監査ログの導入: 重要コマンドの実行履歴を記録する仕組み

✅ CLAUDE.md 準拠チェック

  • ✅ Conventional Commits: feat: タイプ使用
  • ✅ PR説明充実: 収集元、変更内容、セキュリティチェック明記
  • ✅ セキュリティ配慮: 秘匿情報チェック実施済み
  • ✅ Quality Gates: pre-commit フック通過

🎯 推奨アクション

マージ前:

  • npm 認証情報が適切に保護されていることを確認
  • semantic-release との競合がないことを確認

マージ後:

  • DevContainer イメージの次回ビルドで設定が反映されることを確認
  • 権限設定のドキュメント化を検討

総合評価: 承認可能。セキュリティ上の注意点を理解した上でマージしてください。

🤖 Generated by Claude Sonnet 4.5

@keito4
keito4 merged commit bd9fd56 into main Jan 29, 2026
15 checks passed
@github-actions

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 1.56.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

@github-actions github-actions Bot added the released リリース済み label Jan 29, 2026
@keito4
keito4 deleted the feat/sync-claude-settings-20260129 branch March 1, 2026 09:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

released リリース済み size/XS PR サイズ Extra Small

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant