본문으로 건너뛰기
cccskills
무료GitHub에 공개

init-devcontainer

devcontainer環境を構築する設定ファイルを生成する。Triggers on: '/init-devcontainer', 'devcontainerを設定', 'devcontainer環境を作って'

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(1)

  • SKILL.md5.6 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

devcontainer 環境構築

プロジェクトを分析し、Claude Code をサンドボックス環境で安全に実行するための devcontainer 設定ファイルを生成します。


手順

1. 既存設定の確認

.devcontainer/ ディレクトリが既に存在する場合はユーザーに上書き・マージ・中止を確認する。

2. プロジェクト情報の検出

言語・パッケージマネージャを検出し、適切なベースイメージと features を決定する。

検出結果ベースイメージ追加 features
Node.jsmcr.microsoft.com/devcontainers/baseghcr.io/devcontainers/features/node
Pythonmcr.microsoft.com/devcontainers/python-
Gomcr.microsoft.com/devcontainers/go-
Rustmcr.microsoft.com/devcontainers/rust-
不明mcr.microsoft.com/devcontainers/base-

さらに、以下を確認してプロジェクトのパッケージ管理外でインストールが必要なシステムツールを探索する。

  • README.md のセットアップ手順
  • Makefile / scripts/ 内のセットアップ系スクリプト
  • .github/workflows/ のCI設定(apt install、brew install、curl ... | sh などのパターン)
  • docs/ 内のセットアップガイド

検出したツールは postCreateCommand でのインストールコマンドに含める。

3. 設定ファイルの生成

以下のファイルを生成する。

.devcontainer/devcontainer.json

以下の要件を満たす内容で生成する。最新の devcontainer 仕様に従い、実際のスキーマに合わせて適切なフォーマットで記述すること。

設定項目内容
コンテナ名{プロジェクト名} Sandbox
ベースイメージ手順2で検出したイメージ
featuresgit、および言語に応じた feature
postCreateCommandClaude Code のインストール + /workspace/.devcontainer/claude-settings.json を ~/.claude/settings.json にコピー + 手順2で検出したシステムツールのインストール
マウントローカルワークスペースを /workspace にバインド
workspaceFolder/workspace
環境変数ANTHROPIC_API_KEY をローカル環境から引き継ぐ

.devcontainer/claude-settings.json

コンテナ内の Claude Code に決定論的な安全ゲートとして permissions.deny を設定する。/init-project と同じ最小限のベース(ブラスト半径が広く取り返しのつかない操作)を含める。

スクリプトの所在(重要): 本スキルはプラグインとして配布されるため、参照するファイルはユーザーのプロジェクトroot ではなく、プラグイン配下にある。読み込む際は必ず cat "${CLAUDE_PLUGIN_ROOT}/skills/init-project/scripts/base-deny.json"(引用符必須)の形式で参照し、相対パス skills/init-project/scripts/base-deny.json では呼び出さないこと(${CLAUDE_PLUGIN_ROOT} は表記上のプレースホルダであり環境変数ではない。実行前に、スキル起動時の「Base directory for this skill」から解決したプラグインルートの絶対パスに置換して実行する)。

<!-- 正本: docs/plugin-path-conventions.md -->

ベース deny の正本は ${CLAUDE_PLUGIN_ROOT}/skills/init-project/scripts/base-deny.json(JSON配列。init-project の generate-settings.sh が参照するものと同一ファイル)。このファイルを読み込み、{"permissions": {"deny": <配列の内容>}} の形に埋め込んで .devcontainer/claude-settings.json を生成する(例: jq -n --argjson deny "$(cat "${CLAUDE_PLUGIN_ROOT}/skills/init-project/scripts/base-deny.json")" '{permissions: {deny: $deny}}')。

プロジェクト固有の破壊的操作は permissions.deny に追記してください(例: Bash(terraform destroy:*))。コマンドの文脈的な安全判断は Claude Code ネイティブの auto-mode が担うため、独自のコマンドブロックスクリプトは設定しない。

4. ネットワーク制御の確認(オプション)

外部ネットワークを遮断したい場合は .devcontainer/docker-compose.yml も生成するか確認する。

services:
  sandbox:
    image: {ベースイメージ}
    volumes:
      - ../:/workspace:cached
    networks:
      - sandbox-net

networks:
  sandbox-net:
    driver: bridge
    internal: true

注意: internal: true は外部通信を全て遮断する。postCreateCommand でのパッケージインストールが失敗するため、必要なものは事前にイメージに含めること。

5. 完了報告

## devcontainer 環境構築 完了

- 生成ファイル:
  - `.devcontainer/devcontainer.json`
  - `.devcontainer/claude-settings.json`

次のステップ:
- VS Code: "Reopen in Container" でコンテナを起動
- CLI: `devcontainer up --workspace-folder . && devcontainer exec --workspace-folder . claude`(セッション内で auto-mode を有効化)
- プロジェクト固有のdenyルールは `.devcontainer/claude-settings.json` の `permissions.deny` に追記してください

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Codexによるread-onlyローカルレビューを実行する。Triggers on: '/codex-review', 'Codexでレビューして', 'クロスモデルレビューして'

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

masanami/claude-harness52026년 10월 19일 업데이트

調査(read-only)または雑務(workspace-write)をCodexへ委譲し、結論をJSONで受け取る。Triggers on: '/codex-task', 'Codexで調べて', 'Codexにやらせて', 'Codexへ委譲'

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

masanami/claude-harness52026년 10월 19일 업데이트

commit

무료

Conventional Commits形式でコミットする。Triggers on: '/commit', 'コミットして', 'commit changes'

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

masanami/claude-harness52026년 10월 19일 업데이트

恒常的な設計決定を ADR として記録する(退役する機能仕様から ADR 昇格の要否を判定するモードを併せ持つ)。定常フローの必須ステップではなく、必要時に呼ぶ。Triggers on: '/create-adr', 'ADRを書いて', '設計判断を記録', 'ADR昇格を判定'

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

masanami/claude-harness52026년 10월 19일 업데이트

仕様(チケットの完了条件・受入基準)からE2Eテストを実装する(非対話)。Triggers on: '/create-e2e', 'E2Eテストを書いて', 'E2Eテストを追加して'

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

masanami/claude-harness52026년 10월 19일 업데이트

機能仕様ドキュメントから要件チケットを作成する、または親要件チケットを実装チケット群に分解する。Triggers on: '/create-ticket', 'チケットを作成', 'Issueを作って', 'create ticket', '実装チケットに分解'

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

masanami/claude-harness52026년 10월 19일 업데이트

masanami의 스킬 모두 보기

이 스킬의 문제 신고