Skip to content

Claude Code 統合:権限を設定してパイプラインを実行 | AI App Factory チュートリアル

学完后你能做什么

  • Claude Codeのセキュリティ権限を設定し、--dangerously-skip-permissionsを使用せずに運用
  • Factoryが自動生成する権限ホワイトリストの理解
  • Claude Codeで完全な7段階パイプラインを実行
  • クロスプラットフォーム権限設定の習得(Windows/macOS/Linux)

你现在的困境

初めてFactoryを使用する場合、次のような問題に直面する可能性があります:

  • 権限がブロックされる:Claude Codeが「ファイルを読み取る権限がありません」と表示
  • 危険なパラメータの使用:セキュリティチェックをバイパスするために--dangerously-skip-permissionsを使用しなければならない
  • 手動設定が面倒:どの操作を許可すべきかわからない
  • クロスプラットフォーム問題:WindowsとUnixのパス権限が異なる

実は、Factoryは権限設定ファイルを自動生成するため、正しい使用方法を知れば只需適切に利用するだけです。

什么时候用这一招

Claude CodeでFactoryパイプラインを実行する必要がある場合:

  • factory initでプロジェクトを初期化した後(自動起動)
  • factory runでパイプラインを継続する場合
  • 手動でClaude Codeを起動する場合

なぜClaude Code推奨ですか?

Claude CodeはAnthropic公式のAIプログラミングアシスタントで、Factoryの権限システムと深く統合されています。他のAIアシスタントと比較して、Claude Codeの権限管理はより細分化され、安全です。

核心思路

Factoryの権限設定はホワイトリスト方式を採用:明確に許可された操作のみを実行し、それ以外はすべてブロックされます。

权限白名单的类别

カテゴリ許可される操作用途
ファイル操作Read/Write/Edit/Globプロジェクトファイルの読み取りと編集
Git操作git add/commit/pushなどバージョン管理
ディレクトリ操作ls/cd/tree/pwdディレクトリ構造の参照
ビルドツールnpm/yarn/pnpm依存関係のインストールとスクリプト実行
TypeScripttsc/npx tsc型チェック
データベースnpx prismaデータベースマイグレーション与管理
Pythonpython/pipUIデザインシステム
テストvitest/jest/testテスト実行
Factory CLIfactory init/run/continueパイプラインコマンド
Dockerdocker composeコンテナ化デプロイ
Web操作WebFetch(domain:...)APIドキュメントの取得
Skillssuperpowers/ui-ux-pro-maxプラグインスキル

なぜ --dangerously-skip-permissions を使用しないのですか?

方式セキュリティ推奨
--dangerously-skip-permissions❌ Claudeが任意の操作を実行可能(ファイル削除含む)非推奨
ホワイトリスト設定✅ 明確な操作のみ許可、権限外操作はエラー表示推奨

ホワイトリスト設定は初期設定が複雑ですが、一度生成すれば自動再利用でき、より安全です。

🎒 开始前的准备

開始前に、次を確認してください:

Claude Codeがインストールされているか確認

ターミナルで次のコマンドを実行して確認:

bash
claude --version

「command not found」と表示された場合、まずClaude Codeをインストールしてください。

跟我做

第 1 步:初始化项目(自动生成権限)

なぜfactory initは自動的に.claude/settings.local.jsonを生成し、完全な権限ホワイトリストが含まれています。

プロジェクトディレクトリで実行:

bash
# 新しいディレクトリを作成して移動
mkdir my-factory-project && cd my-factory-project

# Factoryプロジェクトを初期化
factory init

你应该看到

✓ Factory project initialized!
✓ Claude Code is starting...
  (Please wait for window to open)

Claude Codeウィンドウが自動的に開き、次のようなメッセージが表示されます:

.factory/pipeline.yamlと.factory/agents/orchestrator.checkpoint.mdを読み取り、
パイプラインを起動し、製品アイデアの断片を実行可能なアプリケーションに変換します。
次にアイデアの断片を入力します。Agentが参照するskills/とpolicies/
ファイルは、まず.factory/ディレクトリを検索し、次にルードを検索してください。

发生了什么

  1. パイプライン設定を含む.factory/ディレクトリを作成
  2. .claude/settings.local.jsonを生成(権限ホワイトリスト)
  3. 自動的にClaude Codeを起動し、スタートアッププロンプトを渡す

第 2 步:验证権限配置

なぜ:権限ファイルが正しく生成されていることを確認し、実行時の権限問題を回避するため。

生成された権限ファイルを確認:

bash
# 権限ファイルの内容を表示
cat .claude/settings.local.json

你应该看到(部分内容):

json
{
  "permissions": {
    "allow": [
      "Read(/path/to/project/**)",
      "Write(/path/to/project/**)",
      "Glob(/path/to/project/**)",
      "Bash(git add:*)",
      "Bash(git commit:*)",
      "Bash(npm install:*)",
      "Bash(npx prisma generate:*)",
      "Skill(superpowers:brainstorming)",
      "Skill(ui-ux-pro-max)",
      "WebFetch(domain:github.com)",
      "WebFetch(domain:npmjs.org)"
    ]
  },
  "features": {
    "autoSave": true,
    "telemetry": false
  }
}

パスについて

権限のパスはOSに応じて自動的に調整されます:

  • WindowsRead(//c/Users/...)(ドライブ文字の大文字与小文字両方対応)
  • macOS/LinuxRead(/Users/...)(絶対パス)

第 3 步:在 Claude Code 中启动パイプライン

なぜ:Claude Codeは権限が設定済みで、Agent定義とSkillファイルを直接読み取れます。

開いているClaude Codeウィンドウに、製品アイデアを入力:

若い世代が日々の支出を素早く記録し、月末の予算超過を防ぐためのモバイル向け家計簿アプリを作成したい,
主な機能は金額を記録すること、カテゴリを選択すること(食費、交通費、娱乐、その他)、今月の総支出を確認することです。

你应该看到

Claude Codeは次のステップを自動的に実行:

  1. .factory/pipeline.yamlを読み取り
  2. .factory/agents/orchestrator.checkpoint.mdを読み取り
  3. Bootstrap段階を開始し、アイデアをinput/idea.mdに構造化
  4. 完了后会停止,确认を待つ

检查点 ✅:Bootstrap段階が完了していることを確認

bash
# 生成された構造化アイデアを表示
cat input/idea.md

第 4 步:继续パイプライン

なぜ:各段階が完了後、エラーの蓄積を防ぐために手動确认が必要です。

Claude Codeで応答:

続ける

Claude Codeは自動的に次の段階(PRD)に移り、「実行→停止→确认」の流程を繰り返しながら、全7段階を完了します。

factory runを使用して再起動

Claude Codeウィンドウが閉じた場合、ターミナルで実行:

bash
factory run

これにより、Claude Codeの実行指令が再表示されます。

第 5 步:跨平台権限处理(Windowsユーザー)

なぜ:Windowsのパス権限は特別な处理が必要で、Claude Codeがプロジェクトファイルに正しくアクセスできるようにするため。

Windowsを使用している場合、factory initは自動的にドライブ文字対応の権限を生成:

json
{
  "permissions": {
    "allow": [
      "Read(//c/Users/yourname/project/**)",
      "Read(//C/Users/yourname/project/**)",
      "Write(//c/Users/yourname/project/**)",
      "Write(//C/Users/yourname/project/**)"
    ]
  }
}

检查点 ✅:Windowsユーザー権限の確認

powershell
# PowerShell
Get-Content .claude\settings.local.json | Select-String -Pattern "Read|Write"

//c///C/の両方のパスフォーマットが表示された場合、正しく設定されています。

检查点 ✅

上記の手順を完了後、次が可能になっているはずです:

  • [x] .claude/settings.local.jsonファイルを見つける
  • [x] 完全な権限ホワイトリストが表示される(Read/Write/Bash/Skill/WebFetch含む)
  • [x] Claude CodeでBootstrap段階を正常に起動
  • [x] input/idea.mdを確認してアイデアが構造化されていることを確認
  • [x] パイプラインを次の段階に継続実行

権限エラーが発生した場合、下の「トラブルシューティング」を参照してください。

踩坑提醒

问题 1:権限がブロックされる

错误提示

Permission denied: Read(path/to/file)

原因

  • 権限ファイルの生成に失敗、またはパスが正しくない
  • Claude Codeが古い権限キャッシュを使用

解决方案

  1. 権限ファイルが存在するか確認:
bash
ls -la .claude/settings.local.json
  1. 権限を再生成:
bash
# 古い権限ファイルを削除
rm .claude/settings.local.json

# 再初期化(再生成)
factory init --force
  1. Claude Codeを再起動してキャッシュをクリア。

问题 2:--dangerously-skip-permissions 警告

错误提示

Using --dangerously-skip-permissions is not recommended.

原因

  • .claude/settings.local.jsonが見つからない
  • 権限ファイルのフォーマットエラー

解决方案

権限ファイルのフォーマットを確認(JSON文法):

bash
# JSONフォーマットを検証
python -m json.tool .claude/settings.local.json

文法エラーがある場合、ファイルを削除してfactory initを再実行してください。

问题 3:Windowsパス権限が効かない

错误提示

Permission denied: Read(C:\Users\yourname\project\file.js)

原因

  • 権限設定にドライブ文字パスがない
  • パスフォーマットが正しくない(Windowsでは//c/フォーマットが必要)

解决方案

.claude\settings.local.jsonを手動で編集して、ドライブ文字パスを追加:

json
{
  "permissions": {
    "allow": [
      "Read(//c/Users/yourname/project/**)",
      "Write(//c/Users/yourname/project/**)"
    ]
  }
}

ドライブ文字の大文字与小文字両方対応(//c///C/)してください。

问题 4:Skills権限がブロックされる

错误提示

Permission denied: Skill(superpowers:brainstorming)

原因

  • 必要なClaude Codeプラグインがインストールされていない(superpowers、ui-ux-pro-max)
  • プラグインのバージョン非互換

解决方案

  1. プラグイン市場を追加:
bash
# superpowersプラグイン市場を追加
claude plugin marketplace add obra/superpowers-marketplace
  1. superpowersプラグインをインストール:
bash
claude plugin install superpowers@superpowers-marketplace
  1. ui-ux-pro-maxプラグイン市場を追加:
bash
claude plugin marketplace add nextlevelbuilder/ui-ux-pro-max-skill
  1. ui-ux-pro-maxプラグインをインストール:
bash
claude plugin install ui-ux-pro-max@ui-ux-pro-max-skill
  1. パイプラインを再実行。

Factoryは自動的にプラグインをインストールしようと試みます

factory initコマンドは自動的にこれらのプラグインをインストールしようとします。失敗した場合、手動でインストールしてください。

本课小结

  • 権限ホワイトリスト--dangerously-skip-permissionsよりも安全
  • **factory init**は自動的に.claude/settings.local.jsonを生成
  • 権限設定にはファイル操作、Git、ビルドツール、データベース、Web操作などのカテゴリが含まれる
  • クロスプラットフォーム対応:Windowsでは//c/パス、Unixでは絶対パス
  • 手動プラグインインストール:自動インストールが失敗した場合、Claude Codeでsuperpowersとui-ux-pro-maxを手動インストールが必要

下一课预告

次のlessonでは**OpenCodeと他のAIアシスタント../other-ai-assistants/)**を学びます。

学べる内容:

  • OpenCodeでFactoryパイプラインを実行する方法
  • Cursor、GitHub Copilotなど他のAIアシスタントの統合方法
  • 不同アシスタントの権限設定の違い

附录:源码参考

クリックしてソースコード位置を表示

更新時間:2026-01-29

機能ファイルパス行番号
権限設定生成cli/utils/claude-settings.js1-292
Claude Code自動起動cli/commands/init.js119-147
AIアシスタント検出cli/commands/run.js105-124
Claude Code指令生成cli/commands/run.js138-156
クロスプラットフォームパス处理cli/utils/claude-settings.js14-67

主要関数

  • generatePermissions(projectDir):Read/Write/Bash/Skill/WebFetchなどの操作を含む完全な権限ホワイトリストを生成
  • generateClaudeSettings(projectDir).claude/settings.local.jsonファイルを生成して書き込む
  • launchClaudeCode(projectDir):Claude Codeウィンドウを起動してスタートアッププロンプトを渡す
  • detectAIAssistant():現在実行中のAIアシスタントタイプを検出(Claude Code/Cursor/OpenCode)

主要定数

  • Windowsパスパターン:Read(//c/**)Write(//c/**)(ドライブ文字の大文字与小文字両方対応)
  • Unixパスパターン:Read(/path/to/project/**)Write(/path/to/project/**)
  • Skills権限:'Skill(superpowers:brainstorming)''Skill(ui-ux-pro-max)'

権限ホワイトリストカテゴリ

  • ファイル操作:Read/Write/Glob(ワイルドカード対応)
  • Git操作:git add/commit/push/pullなど(完全なGitコマンドセット)
  • ビルドツール:npm/yarn/pnpm install/build/test/dev
  • TypeScript:tsc/npx tsc/npx type-check
  • データベース:npx prisma validate/generate/migrate/push
  • Python:python/pip install(ui-ux-pro-max用)
  • テスト:vitest/jest/test
  • Factory CLI:factory init/run/continue/status/reset
  • Docker:docker compose/ps/build/run
  • Web操作:WebFetch(domain:github.com)など(指定ドメインホワイトリスト)