mcpField
C
constitution

constitution

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

constitution について

constitutionは、プロジェクト共通のアーキテクチャ文書とドメイン用語集を管理するスキルです。文書の作成、更新、表示、チェックを通じて、仕様や実装を記録済みのルールに照らして確認できます。

主な機能

  1. 01architecture.mdとontology.mdの管理
  2. 02共通プロジェクト文書の作成と更新
  3. 03アーキテクチャと用語集に照らしたチェック
  4. 04両文書の表示と確認
  5. 05書き込みや上書き前の確認

活用シーン

  1. 01技術スタックとセキュリティ制約の記録
  2. 02共通ドメイン用語の管理
  3. 03プロジェクトルールに沿った仕様の検証
  4. 04現在のアーキテクチャと用語集の確認

インストール

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

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

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
architecture.md
constitution-check-report.md
context-rot-prevention.md
ontology.md
README.md

詳細

概要

Constitution スキルは、次の 2 つの共有ドキュメントを通じて、プロジェクトのアーキテクチャ上の DNA を管理します。

ファイル目的
docs/specs/architecture.md技術スタック、インフラストラクチャ、アーキテクチャのルール、セキュリティ制約、AI ガードレール
docs/specs/ontology.mdドメイン用語集(ユビキタス言語)— 用語、定義、境界づけられたコンテキスト

これらのファイルは docs/specs/ に置かれ、すべての仕様で共有されます。モノリシックな constitution.md とは異なり、これらのファイルは brainstorm(フェーズ 6.8.6)と spec-to-tasks(フェーズ 1.5)によって作成・拡充されます。

手順

  1. $ARGUMENTS またはユーザーの意図から操作を特定します:create、update、check、show。
  2. create の場合:作成するファイル(architecture.md、ontology.md、または両方)を尋ね、AskUserQuestion を使って必要な情報を収集し、以下のテンプレートを使ってファイルを作成します。
  3. update の場合:対象ファイルとセクションを特定し、変更を必要な箇所に限定して適用し、Last Updated の日付を更新します。
  4. check の場合:両方の constitution ファイルと対象ファイルを読み込み、アーキテクチャのルールおよびオントロジー用語に照らして検証し、Constitution チェックレポートを出力します。
  5. show の場合:両方のファイルを読み込み、読みやすく整形して表示します。
  6. ファイルを書き込む、または上書きする前に、必ずユーザーに確認します。

例

# Create constitution before first brainstorm
/developer-kit-specs:constitution create

# Validate a spec against architecture and ontology
/developer-kit-specs:constitution check --target=docs/specs/001/2024-01-15--user-auth.md

# Update the security constraints section
/developer-kit-specs:constitution update --file=architecture --section=security

# Show current constitution
/developer-kit-specs:constitution show

使用するタイミング

シナリオ操作
新規プロジェクト — 最初のブレインストーミングの前にスタックとドメイン言語を定義するcreate
スタックまたはセキュリティルールが変更されたupdate
仕様、タスク、またはファイルをアーキテクチャとオントロジーに照らして検証するcheck
現在のアーキテクチャとオントロジーを確認するshow

トリガーフレーズ:

  • "Constitution を作成", "プロジェクトアーキテクチャを設定", "オントロジーを定義"
  • "Constitution を更新", "アーキテクチャを更新", "オントロジーを更新"
  • "Constitution チェック", "Constitution に照らして検証"
  • "Constitution を表示", "プロジェクトの原則", "アーキテクチャのガードレール"

操作

create
  1. 作成するファイルを尋ねます:"Both"(推奨)、"architecture.md only"、"ontology.md only"
  2. ファイルが存在するか確認し、上書きするかスキップするかを尋ねます
  3. architecture.md の場合:AskUserQuestion を使って、ドメイン、インフラストラクチャ、スタック、データ、スタイル、ルールについて情報を収集します
  4. ontology.md の場合:用語を尋ねるか、空のひな形を作成します
  5. 各ファイルを書き込む前に確認します

テンプレートの検索順:

  • 優先:${CLAUDE_PLUGIN_ROOT}/templates/architecture.md
  • フォールバック:skills/constitution/references/architecture.md
update
  1. --file=architecture|ontology と --section=<name> を解析します
  2. 対象ファイルを読み込み、変更を必要な箇所に限定して適用します
  3. Last Updated の日付を更新します
  4. ファイルを書き込みます
check
  1. 両方の constitution ファイルを読み込みます
  2. 対象ファイルを読み込みます(--target=<path>)
  3. アーキテクチャのルール、セキュリティ制約、オントロジーに照らして検証します
  4. Constitution チェックレポートを出力します
show
  1. docs/specs/architecture.md と docs/specs/ontology.md の両方を読み込みます
  2. 読みやすく整形して表示します

コンテキスト劣化の防止

Constitution はファイルベースの保存によって、コンテキスト劣化に対処します。

  • セッション開始時に読み込む:docs/specs/architecture.md と docs/specs/ontology.md の両方
  • コンテキスト内にあると決めつけない:実装の前に、必ずファイルから読み込む必要があります
  • 作業を検証する:記憶ではなく、constitution と照らし合わせます

詳細なシナリオと復旧手順については、references/context-rot-prevention.md を参照してください。

制約と警告

  • ソースコードは変更しません — constitution ファイルの作成・更新のみを行います
  • 重大な違反は必ず解決する必要があります — WARNING は参考情報です
  • プロジェクトごとに architecture.md と ontology.md を 1 つずつ用意します — すべての仕様で共有します
  • 変更のたびに Last Updated の日付を更新します
  • 重要なアーキテクチャ上の決定には ADR を使用します
  • コンテキスト劣化のリスク:30 日以上更新されていないファイルは、実態と乖離している可能性があります

ベストプラクティス

  • ブレインストーミングの前に作成する:憲章を早期に策定することで、一貫性を保てます。
  • ライブラリの検証:外部ライブラリを使用する前に、必ずアーキテクチャの「ライブラリの検証」セクションに記載されていることを確認してください。
  • 仕様の失効原則:完了した仕様は archived/ にアーカイブしてください。仕様を古いまま放置しないでください。
  • オントロジーの拡充:brainstorm(フェーズ 6.8.6)と spec-to-tasks(フェーズ 1.5)によって更新されます。
  • レポート形式:セキュリティセクション、CWE 準拠状況、アーキテクチャ、ライブラリの検証、オントロジーの順に記載します。

憲章チェックレポートの形式

## Constitution Check Report
Target: <file path>
Date: YYYY-MM-DD

### Security Check (CWE/OWASP Compliance)
| Rule | Level | Status | Location | CWE/OWASP |
|------|-------|--------|----------|-----------|
| No SQL injection | CRITICAL | ✅ OK | - | CWE-89 |

### CWE Compliance Report
| CWE | OWASP | Status | Location |
|-----|-------|--------|----------|
| CWE-89 | A03 | ✅ OK | - |

### Architecture Check
| Rule | Status | Detail |
|------|--------|--------|
| Constructor injection | ✅ OK | - |

### Library Verification Check
| Library | Status | Detail |
|---------|--------|--------|
| bcrypt | ✅ OK | Using hash(password, 12) |

### Ontology Check
| Term | Status | Detail |
|------|--------|--------|
| "User" used consistently | ✅ OK | - |

### Summary
- CRITICAL violations: 0
- WARNING violations: 0
- Compliant rules: N

詳細なセキュリティパターン(CWE/OWASP の対応関係)については、references/security-patterns.md を参照してください。

SDD ワークフローとの統合

[Session Start] → Read Constitution files
        ↓
[Optional] constitution create        ← this skill (pre-brainstorm setup)
        ↓
brainstorm                            ← Constitution loaded before brainstorming
        ↓
spec-to-tasks                         ← Constitution validates spec
        ↓
task-implementation                   ← Constitution guardrails active
        ↓
task-review                           ← Constitution check validates
        ↓
[Session End] → Constitution files updated if needed

次の処理の前に読み込む必要があります:

  • specs.brainstorm — 要件がアーキテクチャと整合していることを検証します
  • specs.spec-to-tasks — 技術スタックとの互換性を確認します
  • specs.task-implementation — AI ガードレールを適用します
  • specs.task-review — 憲章を確認します

参照ファイル

ファイル目的
references/architecture.mdアーキテクチャテンプレート全体
references/ontology.mdオントロジーテンプレート全体
references/security-patterns.mdCWE/OWASP パターン、検証形式
references/context-rot-prevention.md詳細なシナリオと復旧プロトコル
references/constitution-check-report.mdレポートの完全な例

テンプレート全体と詳しい参考資料については、references/ ディレクトリを参照してください。

コメント