mcpField
S
sdd-init

sdd-init

github.com/giuseppe-trisciuoglio開発365874 回インストール7 週間前に更新
リポジトリ

sdd-init について

sdd-initは、プロジェクトにSpec-Driven Development(SDD)を導入する開発者向けのスキルです。技術スタックや規約、アーキテクチャを検出し、Constitution文書とナレッジグラフを初期化します。

主な機能

  1. 01言語、フレームワーク、ツールの検出
  2. 02プロジェクト規約と構成の把握
  3. 03Constitution文書の初期化
  4. 04ナレッジグラフの作成・更新
  5. 05既存データの保持とJSON検証

活用シーン

  1. 01既存プロジェクトのSDDコンテキスト整備
  2. 02プロジェクトの技術スタックと構成の調査
  3. 03仕様文書とナレッジグラフの初期化

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/giuseppe-trisciuoglio/developer-kit --skill sdd-init

インストール後、Claude Code で/sdd-initを入力して読み込まれたか確認します。

詳細

SDD 初期化スキル

現在のプロジェクトで仕様駆動開発(SDD)を初期化します。技術スタック、規約、アーキテクチャパターンを検出し、すべての永続化バックエンド(Constitution + Knowledge Graph)をブートストラップします。

使用するタイミング

トリガーフレーズ:

  • 「sdd-init」、「sdd を初期化」、「sdd をセットアップ」
  • 「sdd を初期化する」、「プロジェクトをセットアップする」、「プロジェクトコンテキストを初期化する」
  • 「sdd をブートストラップする」、「sdd を開始する」
  • 「プロジェクトのスタックを検出する」、「技術スタックを検出する」

ワークフロー

1. Detect Project Context
   ├── Scan tech stack (languages, frameworks, tools)
   ├── Identify conventions (folder structure, patterns, configs)
   └── Detect architecture (monolith, microservices, serverless)

2. Bootstrap Constitution
   ├── Check if docs/specs/architecture.md exists
   ├── If missing → ask user to create with constitution skill
   └── If exists → show current state

3. Bootstrap Knowledge Graph
   ├── Check if docs/specs/knowledge-graph.json exists
   ├── Create with initial discoveries (stack, patterns, conventions)
   └── Link to Constitution

4. Return Structured Result
   └── status, executive_summary, artifacts, next_recommended

フェーズ 1:プロジェクトコンテキストを検出する

1.1 技術スタックをスキャンする

主要な言語とフレームワークを検出します。

# Detect language (priority order)
ls *.go *.rs *.ts *.js *.py *.java *.cs *.rb *.php *.cpp *.c 2>/dev/null | head -1

# Detect framework/type
ls package.json pyproject.toml Cargo.toml go.mod pom.xml *.csproj Gemfile composer.json 2>/dev/null

# Detect project type
ls -la src/ lib/ app/ cmd/ internal/ pkg/ services/ 2>/dev/null
1.2 規約を特定する

既存のパターンをスキャンします。

# Folder structure
find . -maxdepth 2 -type d -name "src" -o -name "lib" -o -name "app" -o -name "cmd" | head -10

# Config files
ls -la *.yaml *.yml *.toml *.json *.env* Makefile 2>/dev/null

# Testing patterns
find . -name "*_test.*" -o -name "test_*.py" -o -name "*_test.go" -o -name "*.spec.ts" 2>/dev/null | head -10

# Build system
ls Makefile Dockerfile docker-compose*.yml *.mk 2>/dev/null

# CI/CD
ls .github/workflows/ .gitlab-ci.yml .circleci/ 2>/dev/null
1.3 アーキテクチャスタイルを検出する

プロジェクト構造を分析して、アーキテクチャパターンを特定します。

# Microservices vs Monolith
ls services/ microservices/ cmd/ api/ internal/ 2>/dev/null

# Serverless
ls functions/ lambda/ handlers/ 2>/dev/null

# Layered architecture
ls controllers/ services/ repositories/ models/ 2>/dev/null

# Hexagonal/Ports & Adapters
ls ports/ adapters/ domain/ infrastructure/ 2>/dev/null

フェーズ 2:Constitution をブートストラップする

2.1 存在を確認する
# Check if Constitution files exist
[ -f docs/specs/architecture.md ] && echo "architecture:exists" || echo "architecture:missing"
[ -f docs/specs/ontology.md ] && echo "ontology:exists" || echo "ontology:missing"
2.2 存在しない場合 → ユーザーに確認する

AskUserQuestion を使用して、次の選択肢を提示します。

Constitution ファイル(architecture.md、ontology.md)がまだ存在しません。

オプション 1: 両方を作成する(推奨)— アーキテクチャの DNA とドメイン言語を設定します オプション 2: architecture.md のみ作成する オプション 3: ontology.md のみ作成する
オプション 4: 今はスキップする — コンテキストは検出しますが、Constitution はスキップします

ユーザーがオプション 1~3 を選択した場合は、検出したコンテキストを渡して /developer-kit-specs:constitution create に委任します。

2.3 存在する場合 → 現在の状態を表示する

現在の Constitution ファイルを読み取り、比較対象として検出したコンテキストとともに表示します。

フェーズ 3:Knowledge Graph をブートストラップする

3.1 存在を確認する
# Check if KG exists
ls docs/specs/knowledge-graph.json 2>/dev/null
3.2 KG を作成/更新する

初期調査結果を含めて docs/specs/knowledge-graph.json を作成または更新します。

{
  "metadata": {
    "spec_id": "project-init",
    "version": "1.0.0",
    "created": "{{ISO_DATE}}",
    "project": "{{PROJECT_NAME}}",
    "type": "initial-discovery"
  },
  "context": {
    "workingDirectory": "{{PWD}}",
    "projectName": "{{PROJECT_NAME}}"
  },
  "stack": {
    "primaryLanguage": "{{DETECTED_LANGUAGE}}",
    "framework": "{{DETECTED_FRAMEWORK}}",
    "buildSystem": "{{DETECTED_BUILD_SYSTEM}}"
  },
  "conventions": {
    "folderStructure": ["{{FOLDERS}}"],
    "namingPatterns": ["{{PATTERNS}}"],
    "configFiles": ["{{CONFIGS}}"],
    "testingPattern": "{{TESTING_PATTERN}}"
  },
  "architecture": {
    "style": "{{MONOLITH|MICROSERVICE|SERVERLESS|LAYERED|HEXAGONAL}}",
    "layers": ["{{LAYERS}}"],
    "patterns": ["{{ARCHITECTURAL_PATTERNS}}"]
  },
  "references": {
    "constitution": "docs/specs/architecture.md",
    "ontology": "docs/specs/ontology.md"
  },
  "source": "sdd-init"
}
3.3 検証

KG の作成後、ファイルが存在し、有効な JSON であることを検証します。

# Validate KG
cat docs/specs/knowledge-graph.json | python3 -m json.tool > /dev/null && echo "KG:valid" || echo "KG:invalid"

フェーズ 4:構造化された結果を返す

次の内容を含む JSON オブジェクトを返します。

{
  "status": "success|partial|skipped",
  "executive_summary": "Brief description of what was detected and initialized",
  "artifacts": [
    {
      "path": "docs/specs/architecture.md",
      "action": "created|existing|skipped",
      "summary": "What this file contains"
    },
    {
      "path": "docs/specs/ontology.md",
      "action": "created|existing|skipped", 
      "summary": "What this file contains"
    },
    {
      "path": "docs/specs/knowledge-graph.json",
      "action": "created|updated",
      "summary": "What was discovered and stored"
    }
  ],
  "next_recommended": [
    "Review Constitution if just created",
    "Run brainstorm to start first spec",
    "Check knowledge-graph.json for detected patterns"
  ]
}

出力形式

構造化された形式で結果を表示します。

══════════════════════════════════════════════════
SDD Init — {{PROJECT_NAME}}
══════════════════════════════════════════════════

STATUS: {{status}}

TECH STACK DETECTED:
  Language: {{language}}
  Framework: {{framework}}
  Build: {{build_system}}

ARCHITECTURE:
  Style: {{architecture_style}}
  Patterns: {{patterns}}

ARTIFACTS:
  ✓ Constitution (architecture.md) — {{status}}
  ✓ Constitution (ontology.md) — {{status}}
  ✓ Knowledge Graph — {{status}}

NEXT STEPS:
  {{next_recommended}}

══════════════════════════════════════════════════

他のスキルとの連携

スキル連携ポイント
constitution存在しない場合、sdd-init が作成/更新します
knowledge-graphsdd-init が初期調査結果を登録します
brainstorm開始前に Constitution を読み取る必要があります
spec-to-tasksKG と Constitution に照らして検証する必要があります
task-implementation既存のパターンを KG で確認する必要があります

制約と警告

  • 読み取り専用の検出 — ソースコードは変更しません
  • 非破壊的 — 新しいファイルのみを作成し、既存の内容は上書きしません
  • 権限の確認 — docs/specs/ を作成できない場合は警告します
  • KG のバックアップ — 既存の KG を更新する場合は、既存のデータを保持します

エラー処理

エラー対処
docs/specs/ を作成できないユーザーにディレクトリを手動で作成するよう依頼します
KG の JSON が無効エラーを表示し、未加工のファイルを保持して、検証を提案します
Constitution への委任に失敗テンプレートを使ったインライン作成に切り替えます

コメント