SpecLock
なぜ別のルールツールなのか? ルールファイルはコンテキストにすぎません。長いコーディングセッションの途中で忘れられたり、薄められたり、上書きされたりすることがあります。SpecLockはそれらのルールを、編集・シェルコマンド・コミットの前に実行されるチェックに変換します。
違いを見る
CLAUDE.md: Never modify the authentication system.
You: Add social login to the login page.
Without SpecLock
Claude: I'll update the auth flow and add an OAuth provider...
With SpecLock (strict mode)
SpecLock: BLOCKED — conflicts with "Never modify the authentication system"
Match: login → auth → authentication
The action was denied before the files changed.SpecLockは単純なキーワードマッチングではなく、意味的な競合検出を使用します。「古い患者データを整理する」「チェックアウトを効率化する」「MFAを一時的に無効化する」といった間接的なアクションが、有効な制約に違反する場合にそれを検出します。
Related MCP server: CodeHealth MCP
60秒セットアップ
保護したいプロジェクトからこれを実行します:
npx speclock@latest protect # reads existing AI rule files; advisory by default
npx speclock@latest doctor # confirms rules, hooks, and integrationアドバイザリ出力が正しく見えたら、ブロッキングを有効にします:
npx speclock@latest protect --strictアカウントは不要です。SpecLockはデフォルトでローカル実行され、アドバイザリモードは変更をブロックしません。
Claude Codeプラグインとしてインストール
Claude Code内で次を実行します:
/plugin marketplace add sgroy10/speclock
/plugin install speclock@speclock-marketplace次に、現在のプロジェクトを一度保護します:
npx speclock@latest protect # warnings only
npx speclock@latest protect --strict # block confirmed conflictsこのプラグインはSpecLockのMCPサーバーを自動的に起動し、実行前にClaude CodeのWrite、Edit、Bashアクションをチェックします。51個すべてのMCPツールを含み、既存のCLAUDE.mdと併用できます。
他のコーディングエージェントへのインストール
SpecLockは複数のエージェントエコシステム向けにパッケージ化されていますが、強制レベルは各ホストが公開する機能に依存します:
プラットフォーム | インストール/検出パス | 保護レベル |
Claude Code | 上記のネイティブマーケットプレイスプラグイン |
|
Gemini CLI | このリポジトリをGemini拡張機能としてインストール | MCP支援チェック+プロジェクトコンテキスト |
Cursor | Agent Plugin / Cursorマーケットプレイスパッケージ | MCP支援チェック+ルール |
Codex |
| MCP支援チェック+ |
GitHub Copilot CLI | このリポジトリをプラグインマーケットプレイスとして追加 | MCP支援チェック+バンドルされたプラグインコンテキスト |
Cline | MCPサーバー。キュレーションされたマーケットプレイスへの提出は進行中 | MCP支援チェック |
Windsurf |
| MCP支援チェック+ルール |
任意のGitクライアントまたはCI |
| コーディングエージェントに依存しないコミット/CI強制 |
MCP支援とは、エージェントが行動する前にSpecLockを呼び出せることを意味します。インターセプトを保証するものではありません。クライアントに関係なく制約を強制する必要がある場合は、speclock protect --strictとCIを使用してください。
SpecLockはメモリやスキルとは役割が異なります。メモリはコンテキストを想起し、スキルは手順を提供し、SpecLockは計画されたアクションを明示的な制約に対して検証します。 制約のドリフトを減らしますが、事実の正確性を保証したり、モデルの幻覚をなくしたりすることはできません。
現在のクライアントでサポートされているリポジトリインストール:
gemini extensions install https://github.com/sgroy10/speclock
copilot plugin marketplace add sgroy10/speclock
copilot plugin install speclock@speclock-marketplace提供される機能
機能 | 説明 |
事前アクションチェック | Claude Codeの書き込み、編集、シェルコマンドを実行前にレビュー |
意味的制約 | 同義語、婉曲表現、複合リクエスト、間接的な違反を検出 |
Git強制 | コミット時に2つ目のガードを追加 |
アドバイザリ/ストリクトモード | 警告から開始。準備ができたらハードブロッキングにオプトイン |
監査証跡 | 改ざん検出可能なHMACチェーンで決定を記録 |
MCP統合 | Claude Code、Cursor、Codex、Windsurf、Clineに51ツールを公開 |
共有可能なセーブレシート |
|
オープンに実証済み
ネイティブClaude Codeプラグインリリース前の10,000以上のnpmダウンロード。
敵対的競合、偽陽性ケース、パッチ分析、強制、認証、コンプライアンスを含む24スイートにわたる1,043の自動テスト。
MITライセンスでエンドツーエンドに検査可能。
リモート機能を明確に分離したローカルファーストのデフォルト。
最もよく使うコマンド
speclock protect # extract constraints and install project protection
speclock protect --strict # enable hard enforcement
speclock doctor # verify the complete setup
speclock check "action description" # preview whether an action conflicts
speclock add-lock "rule" # add a constraint explicitly
speclock list-locks # inspect active constraints
speclock enforce hard|advisory # switch enforcement mode
speclock mcp install <client> # Claude Code, Cursor, Windsurf, Cline, or Codex
speclock wins # create a shareable save receipt完全なリファレンス: npx speclock@latest help
v5.8.0の新機能
Cursor互換の検出のためのポータブルAgent Pluginパッケージング。
MCP起動と制約コンテキストを備えたGemini CLI拡張パッケージング。
$speclock-guardrailsスキルと固定MCPサーバーを備えたCodexプラグイン。リポジトリマーケットプレイスを通じたGitHub Copilot CLI互換性。
プラットフォームごとの明示的な強制ラベル: ネイティブフック、MCP支援、またはGit/CI。
問題
AIコーディングツールには今やメモリがあります。Claude CodeにはCLAUDE.mdがあります。Cursorには.cursorrulesがあります。Mem0も存在します。
しかし、強制のないメモリは役に立ちません。
あなたのAIはPostgreSQLを使っていることを覚えています — それなのに「より良さそう」という理由でMongoDBに切り替えます。あなたのAIは認証設定を覚えています — それなのにバグを「修正」しながら書き換えます。「決済ロジックには絶対に触るな」と3セッション前に言ったのに — AIは気にしません。
覚えていることは尊重することではありません。 既存のツールで、AIがあなたがロックしたものを壊すのを防ぐものはありません。
仕組み
あなたが制約を設定します。SpecLockがそれを強制します — セッションを越えて、ツールを越えて、チームを越えて。
speclock lock "Never modify auth files" → auto-guards src/auth/*.ts
speclock lock "Database must stay PostgreSQL" → catches "migrate to MongoDB"
speclock lock "Never delete patient records" → catches "clean up old data"
speclock lock "Don't touch the payment flow" → catches "streamline checkout"意味エンジンはキーワードマッチングを行いません。以下を理解します:
「古いデータを整理する」 = 削除(婉曲表現の検出)
「チェックアウトを効率化する」 = 決済フローの変更(同義語+概念マッピング)
「ログを一時的に無効化する」 = ログの無効化(時間的回避の検出)
「UIを更新して、ついでにusersテーブルも削除する」 = 隠れた違反(複合分割)
そして、安全なものも認識します:
ロックが「監査ログを無効化しないこと」としている場合の**「監査ログを有効化する」** → 競合なし(意図の整合)
プラットフォーム別クイックスタート
Bolt.new / Aider / その他のnpmプラットフォーム
npx speclock setup --goal "Build my app" --template nextjsSPECLOCK.mdを作成し、package.jsonにルールを注入し、.speclock/context/latest.mdを生成します。AIはこれらを自動的に読み取ります。
Claude Code
上記のコマンドでプラグインをインストールします。プラグインフックなしのMCPのみのセットアップの場合は、.mcp.jsonにこれを追加します:
{
"mcpServers": {
"speclock": {
"command": "npx",
"args": ["--yes", "speclock@5.8.0", "serve", "--project", "."]
}
}
}Cursor / Windsurf / Cline
同じ設定 — .cursor/mcp.jsonまたは同等の場所に追加します。
Lovable(インストール不要)
Settings → Connectors → New MCP serverに移動
URLを入力:
https://speclock-mcp-production.up.railway.app/mcpプロジェクト手順をKnowledgeに貼り付け
代替ツールと比較したSpecLockの優位性
Claude Memory | Mem0 |
| SpecLock | |
コンテキストを記憶 | Yes | Yes | 手動 | Yes |
AIが物事を壊すのをブロック | No | No | No | Yes |
意味的競合検出 | No | No | No | Yes — 敵対的テストでカバー |
改ざん防止の監査証跡 | No | No | No | HMAC-SHA256チェーン |
ハード強制(AIは先に進めない) | No | No | No | Yes |
SOC 2 / HIPAAコンプライアンスエクスポート | No | No | No | Yes |
暗号化ストレージ(AES-256-GCM) | No | No | No | Yes |
RBAC+APIキー認証 | No | No | No | 4つのロール |
Policy-as-Code DSL | No | No | No | YAMLルール |
Bolt.new、Lovableなどで動作 | No | No | No | Yes |
他のツールは覚えています。SpecLockは強制します。
意味エンジン
キーワードマッチングではなく、グレーゾーンやクロスドメインのケースにはオプションのGemini Flashハイブリッドを備えた意味分析です。リポジトリには、敵対的、偽陽性、質問フレーミング、パッチゲートウェイ、差分分析のテストスイートが含まれています。
内部構造: 65以上の同義語グループ · 80以上の婉曲表現マッピング · ドメイン概念マップ(フィンテック、Eコマース、IoT、ヘルスケア、SaaS、決済、ゲーム、テレコム、政府) · インテント分類器 · 複文分割器 · 時間的回避検出器 · 動詞の時制正規化 · UI外観変更の検出 · 安全意図パターン · 受動態解析 — すべて純粋なJavaScriptで実装。グレーゾーンケース向けのGemini Flashハイブリッド($0.01/1000チェック)。
ハード強制
2つのモード:
Advisory (default): AI gets a warning, decides what to do
Hard mode: AI is BLOCKED — MCP returns isError, AI cannot proceedspeclock enforce hard # Enable hard mode — violations above threshold are blocked設定可能なしきい値 — デフォルト70%。HIGH確信度の競合のみブロックします。
理由付きオーバーライド —
speclock override <lockId> "JIRA-1234: approved by CTO"(監査証跡に記録されます)自動エスカレーション — ロックが3回以上オーバーライドされると → レビュー用に自動フラグ
エンタープライズセキュリティ
APIキー認証 + RBAC
speclock auth create-key --role developer --name "CI Bot"
# → sk_speclock_a1b2c3... (shown once, stored as SHA-256 hash)役割 | 読み取り | ロック書き込み | オーバーライド | 管理者 |
| はい | — | — | — |
| はい | — | 理由付き | — |
| はい | はい | はい | — |
| はい | はい | はい | はい |
AES-256-GCM暗号化
export SPECLOCK_ENCRYPTION_KEY="your-secret"
speclock encrypt # Encrypts brain.json + events.log at restPBKDF2キー導出(10万回反復)。認証付き暗号化。HIPAA 2026準拠。
HMAC監査チェーン
すべてのイベントは、前のイベントに連結されたHMAC-SHA256ハッシュを取得します。何かを変更すると、チェーンが壊れます。
$ speclock audit-verify
✓ Audit chain VALID — 247 events, 0 broken links, no tampering detected.コンプライアンスエクスポート
speclock export --format soc2 # SOC 2 Type II report (JSON)
speclock export --format hipaa # HIPAA PHI protection report
speclock export --format csv # All events for auditor spreadsheetsポリシー・アズ・コード
組織全体の強制適用のための宣言型YAMLルール:
# .speclock/policy.yml
rules:
- name: "HIPAA PHI Protection"
match:
files: ["**/patient/**", "**/medical/**"]
actions: [delete, modify, export]
enforce: block
severity: critical
- name: "No direct DB mutations"
match:
files: ["**/models/**"]
actions: [delete]
enforce: warn
severity: highプロジェクト間でポリシーをインポートおよびエクスポートします。組織全体で制約テンプレートを共有できます。
REST API v2
リアルタイムの制約チェック、パッチレビュー、自律システム:
# Patch Gateway (v5.1)
POST /api/v2/gateway/review { description, files, useLLM }
# AI Patch Firewall (v5.2)
POST /api/v2/gateway/review-diff { description, files, diff, options }
POST /api/v2/gateway/parse-diff { diff }
# Typed constraint checking
POST /api/v2/check-typed { metric, value, entity }
POST /api/v2/check-batch { checks: [...] }
# SSE streaming (real-time violations)
GET /api/v2/stream
# Spec Compiler
POST /api/v2/compiler/compile { text, autoApply }
# Code Graph
GET /api/v2/graph/blast-radius?file=src/core/memory.js
GET /api/v2/graph/lock-map
POST /api/v2/graph/build51のMCPツール
ツール | 説明 |
| プロジェクトでSpecLockを初期化 |
| 完全なコンテキストパック(主要ツール) |
| プロジェクトの目標を設定 |
| 制約を追加 + ファイルを自動ガード |
| ロックをソフト削除 |
| アーキテクチャ上の決定を記録 |
| ピン留めメモを追加 |
| デプロイ設定を記録 |
ツール | 説明 |
| 全ロックに対する意味的競合チェック |
| アドバイザリ/ハードモードを切り替え |
| 理由付きでオーバーライド(監査ログに記録) |
| オーバーライド監査証跡を表示 |
| ロックに対するgit diffを分析 |
| 制約違反をスキャン |
| コミット前にステージングされたファイルを監査 |
ツール | 説明 |
| セッション開始 + 完全なブリーフィング |
| セッション終了 + 要約を記録 |
| ファイルとともに変更を記録 |
| 最近の追跡済み変更 |
| 完全なイベントログ(フィルタ可能) |
| ロールバック用のGitタグ |
| ブランチ、コミット、差分の要約 |
ツール | 説明 |
| AIによるロック提案 |
| ヘルススコア + マルチエージェントタイムライン |
| 制約テンプレートを適用 |
| 違反統計 + 最もテストされたロック |
ツール | 説明 |
| HMACチェーンの整合性を検証 |
| SOC 2 / HIPAA / CSVレポート |
| ポリシールールを評価 |
| ポリシールールのCRUD |
| オプトインの使用状況分析 |
ツール | 説明 |
| 型付き制約を追加(数値/範囲/状態/時間) |
| 型付き制約に対する提案値をチェック |
| すべての型付き制約を一覧表示 |
| 型付きロックのしきい値を更新 |
ツール | 説明 |
| 自然言語を構造化制約にコンパイル |
| コード依存関係グラフを構築/更新 |
| ファイル変更の影響範囲(ブラスト半径)を計算 |
| ロックを実際のコードファイルにマッピング |
ツール | 説明 |
| 提案された変更に対するALLOW/WARN/BLOCK判定 |
| シグナルスコアリングと統合判定による差分ネイティブなレビュー |
| 統合差分を構造化された変更に解析(デバッグ/検査) |
ツール | 説明 |
| 制約をCursor、Claude、Copilot、Windsurf、Gemini、Aider、AGENTS.mdに同期 |
| 利用可能なすべての同期フォーマットを一覧表示 |
| セッションのアクティビティをリプレイ — AIが試みたことと検出された内容 |
| リプレイ可能なセッションを一覧表示 |
| 0-100のプロジェクト整合性メトリクス — AIが意図からどれだけ逸脱したか |
| ロックカバレッジ監査 — 保護されていないコード領域を発見 |
| ロックを評価し、より強力なバージョンを提案 |
CLI
# Setup
speclock setup --goal "Build my app" --template nextjs
# Constraints
speclock lock "Never modify auth files" --tags auth,security
speclock lock remove <id>
speclock check "Add social login" # Test before doing
# Enforcement
speclock enforce hard # Block violations
speclock override <lockId> "JIRA-1234" # Override with reason
# Audit & Compliance
speclock audit-verify # Verify HMAC chain
speclock export --format soc2 # Compliance report
speclock audit-semantic # Semantic pre-commit
# Git
speclock hook install # Pre-commit hook
speclock audit # Audit staged files
# Templates
speclock template apply safe-defaults # Vibe coding seatbelt (5 locks)
speclock template apply solo-founder # Indie builder essentials (3 locks)
speclock template apply hipaa # HIPAA healthcare (8 locks)
speclock template apply api-stability # API contract protection (6 locks)
speclock template apply nextjs # Next.js constraints
speclock template apply security-hardened # Security hardening
# Sync to AI tools
speclock sync --all # Sync to ALL tools
speclock sync --format cursor # Cursor only
speclock sync --format claude # Claude Code only
speclock sync --preview windsurf # Preview without writing
# Incident Replay
speclock replay # Replay last session
speclock replay --list # List sessions
speclock replay --session <id> # Replay specific session
# Project Health
speclock drift # Drift Score (0-100)
speclock drift --days 7 # Last 7 days only
speclock coverage # Lock Coverage Audit
speclock strengthen # Grade and improve locks
# Share & Stats
speclock wins # Shareable "Save Receipt" (screenshot it!)
speclock wrapped # All-time + monthly recap (alias: recap)
speclock stats # Your local usage dashboard
speclock badge # Print README badges (6 variants + live badge)
# Auth
speclock auth create-key --role developer
speclock auth rotate-key <keyId>
# Policy
speclock policy init # Create policy.yml
speclock policy evaluate --files "src/auth/*" # Test against rules完全なコマンドリファレンス: npx speclock help
自動ガード
何かをロックすると、SpecLockは関連ファイルを検索し、AIがファイルを開いたときに表示される警告を注入します:
speclock lock "Never modify auth files"
→ Auto-guarded 2 files:
🔒 src/components/Auth.tsx
🔒 src/contexts/AuthContext.tsxAIがファイルを開くと、次のように表示されます:
// ============================================================
// SPECLOCK-GUARD — DO NOT MODIFY THIS FILE
// LOCKED: Never modify auth files
// ONLY "unlock" or "remove the lock" is permission to edit.
// ============================================================アーキテクチャ
┌──────────────────────────────────────────────────┐
│ AI Tool (Claude Code, Cursor, Bolt.new...) │
└────────────┬──────────────────┬──────────────────┘
│ │
MCP Protocol (51 tools) npm File-Based
│ (SPECLOCK.md + CLI)
│ │
┌────────────▼──────────────────▼──────────────────┐
│ SpecLock Core Engine │
│ │
│ Semantic Engine ─── 65+ synonym groups │
│ HMAC Audit ──────── SHA-256 hash chain │
│ Enforcer ────────── advisory / hard block │
│ Auth + RBAC ─────── 4 roles, API keys │
│ AES-256-GCM ─────── encrypted at rest │
│ Policy DSL ──────── YAML rules │
│ Compliance ──────── SOC 2, HIPAA, CSV │
│ SSO ─────────────── Okta, Azure AD, Auth0 │
└──────────────────────┬───────────────────────────┘
│
.speclock/
├── brain.json (project memory)
├── events.log (HMAC audit trail)
├── policy.yml (policy rules)
├── auth.json (API keys — gitignored)
└── context/
└── latest.md (AI-readable context)npm依存関係は3つ。 セマンティックエンジンのランタイム依存関係はゼロ。純粋なJavaScript。
設定
変数 | デフォルト | 説明 |
| — | 認証されたアクセスのためのAPIキー |
| — | 保存時のAES-256-GCM暗号化を有効にします |
|
| ヒューリスティックのみのモード(~250ms)にするには |
| — | 独自のLLM APIキー(Gemini/OpenAI/Anthropic) |
| — | ハイブリッド競合検出用のGoogle Gemini APIキー |
|
| オプトインの匿名使用状況分析 |
ヒント: ヒューリスティックエンジンだけでも、~250msで95%以上の精度を達成します。Geminiプロキシはクロスドメインのカバレッジを追加しますが、~2秒かかります。最速の応答が必要な場合は、
SPECLOCK_NO_PROXY=trueを設定してください。
テスト結果
公開前ゲートは、npm公開の前に全24スイートを実行します。テストが1つでも失敗した場合、公開はブロックされます。
スイート | テスト | 合格率 | 対象範囲 |
Real-World Testers | 111 | 100% | 開発者5名、ロック30以上、多様なドメイン |
Adversarial Conflict | 46 | 100% | 婉曲表現、時間的な回避、複文 |
Phase 4 (Multi-domain) | 91 | 100% | フィンテック、EC、IoT、ヘルスケア、SaaS |
Sam (Enterprise HIPAA) | 124 | 100% | HIPAAロック、PHI、暗号化、RBAC |
Auth & Crypto | 114 | 100% | APIキー、RBAC、AES-256暗号化 |
John (Indie Dev Journey) | 86 | 100% | 8セッションのBolt.newビルド、5つのロック |
Diff-Native Review | 76 | 100% | インターフェース破壊、スキーマ変更、API影響 |
Patch Gateway | 57 | 100% | ALLOW/WARN/BLOCK判定、爆発半径 |
Compliance Export | 50 | 100% | SOC 2、HIPAA、CSV形式 |
Enforcement | 40 | 100% | ハード/アドバイザリーモード、オーバーライド |
Audit Chain | 35 | 100% | HMAC-SHA256チェーン整合性 |
Code Graph | 33 | 100% | インポート解析、影響範囲、ロックマッピング |
Spec Compiler | 24 | 100% | 自然言語から制約への解析、自動適用 |
Typed Constraints | 13 | 100% | 数値・範囲・状態・時間的検証 |
Claude Regression | 9 | 100% | Vue検出、安全意図、パッチゲートウェイ |
Question Framing | 9 | 100% | 「What if we...」や「How hard would it be...」 |
REST API v2 | 9 | 100% | 型付き制約エンドポイント、SSE |
PII/Export Detection | 8 | 100% | SSN、メールエクスポート、データアクセス違反 |
Guardian (Protect) | 47 | 100% | ゼロ構成のルールファイル抽出 |
合計 | 1043 | 100% | 24スイート、15以上のドメイン |
再現可能なプロジェクトテストゲート: 全1,043件のリポジトリテストがv5.8.0で合格しています。これはプロジェクト自身が保守する自動シナリオであり、第三者の認定ではありません。npm test を実行すればご自身でも確認できます。
テスト対象分野: フィンテック、Eコマース、IoT、ヘルスケア、SaaS、ゲーム、バイオテック、航空宇宙、決済、給与計算、ロボティクス、自律システム、通信、保険、行政。インドの支払いゲートウェイ全11件を検出。UIや外観のみの操作では誤検出ゼロ。
シミュレートされた開発者ジャーニー
Johnのシナリオ — Bolt.newで開発する個人開発者
8セッションでECアプリを構築。5つのロック(認証、Firebase、Supabase、配送、Stripe)。直接の違反はすべて検出。婉曲的な攻撃もすべて検出(「認証のクリーンアップ」「データベースのモダル手法」「サーバーレスのオンライン化」)。安全な操作(商品ページ、カート、ダークモード)では、誤検出ゼロ。テスト86/86合格。
Samのシナリオ — HIPAA対応病院ERPを構築するシニアエンジニア
8つのHIPAAロックを入れた10セッション。すべての違反を検出 — PHIの公開、暗号化の削除、監査の無効化、MFAのダウングレード、FHIRの迂回。婉曲的なHIPAA攻撃も検出(「データフローの簡素化」「認証のモダル化」)。認証 + RBAC + 暗号化 + コンプライアンスエクスポートに関わるワークフローを完全検証。124/124テスト合格。
料金
お凡例 | 料金 | 得られるもの |
フリー | $0 | 10ロック、コンフリクト検出、MCP、CLI |
Pro | $19/月 | 無制限ロック、HMAC監査、コンプライアンスエクスポート |
エンタープライズ | $99/月 | + RBAC、暗号化、SSO、ポリシー・アズ・コード |
変更履歴
以前のバージョンの機能紹介。上記の「Quick Start」と「What's New」のセクションは v5.7.0〜v5.8.0 をmeanててしています。このセクションでは、v5.0〜v5.5 の機能の詳細を保存しています。
v5.4 — Drift Score、Lock Coverage、Lock Strengthenener
Drift Score(ドリフトスコア) AIで作ったプロジェクトが、当初の意図からどのくらい分かれていたのか?それを答えられるのはSpecLockだけです。仕様が「意図したこと」と「実際にやったこと」の両方を知っているのはSpecLockだけだからです。
$ speclock drift
Drift Score: 23/100 (B) — minor drift
Trend: improving | Period: 30 days | Active locks: 8
Signal Breakdown:
Violations: 6/30 (4 violations in 12 checks)
Overrides: 5/20 (1 override)
Reverts: 3/15 (1 revert detected)
Lock churn: 0/15 (0 removed, 3 added)
Goal stability: 0/10 (1 goal change)
Session gaps: 9/10 (3/5 unsummarized)
README badge: Lock Coverage監査(ロックカバレッジ) SpecLockがコードベースをスキャンして、保護されていない部分を指ごします。
$ speclock coverage
Lock Coverage: 60% (B) — partially protected
[COVERED] CRITICAL authentication 2 file(s)
[EXPOSED] CRITICAL payments 1 file(s)
[COVERED] CRITICAL secrets 0 file(s)
[COVERED] HIGH api-routes 2 file(s)
Suggested Locks (ready to apply):
1. [CRITICAL] payments (1 file at risk)
speclock lock "Never modify payment processing or billing without permission"セキュリティスキャナのようなものですが、AI制約のギャップを対象としています。
ロック強化(Lock Strengthener) ロックが漠然とのだけかもしれません。SpecLockが各ロックを審査して改善を提案します。
$ speclock strengthen
Lock Strength: 72/100 (B) — 3 strong, 1 weak
[WEAK ] 45/100 (D) "don't touch auth"
Issue: Too vague — short locks miss edge cases
Issue: No specific scope
Suggested: "Never modify, refactor, or delete auth..."
[STRONG] 90/100 (A) "Never expose API keys in client-side code, logs, or error messages"v5.3 — Universal Rules Sync、Incident Replay、Safety Templates
Universal Rules Sync(ユニバーサルルール同期) 1つのコマンドで、SpecLockの制約をすべてのAIコーディングツールと同期:
speclock sync --allSpecLock Sync Complete
✓ Cursor → .cursor/rules/speclock.mdc
✓ Claude Code → CLAUDE.md
✓ AGENTS.md → AGENTS.md (Linux Foundation standard)
✓ Windsurf → .windsurf/rules/speclock.md
✓ GitHub Copilot → .github/copilot-instructions.md
✓ Gemini → GEMINI.md
✓ Aider → .aider.conf.yml
7 file(s) synced.仕様では SpecLock で制約を1回定義すれば、どこにでも同期できます。単一フォーマットの場合は --formatを指定 で、 --previewドライラン、対応フォーマットは --listen にします。
Incident Replay(インシデント再生)。 AIコーディングセッションのフライトレコーダー。
speclock replay
Session: ses_a1b2c3 (claude-code, 47 min)
────────────────────────────────────────────
14:02 [ALLOW] Create user profile component
14:08 [ALLOW] Add form validation
14:15 [WARN] Simplify authentication flow
→ matched lock: "Never modify auth"
14:23 [BLOCK] Clean up old user records
→ euphemism detected: "clean up" = deletion
14:31 [ALLOW] Update landing page hero section
Score: 5 events | 3 allowed | 1 warned | 1 BLOCKEDspeclock replay --list でセッションの一覧を表示し、--session <id> で特定セッションを再生します。
Safety Templates(セキュリティテンプレート) は、あらかじめ構築された制約パック。
speclock template apply safe-defaults # 5 locks — "Vibe Coding Seatbelt"
speclock template apply solo-founder # 3 locks — auth, payments, data
speclock template apply hipaa # 8 locks — HIPAA healthcare
speclock template apply api-stability # 6 locks — API contract protectionSafe Defaultsは、AIが起こしやすい事故上位5つ(データベースの削除、認証の削除、秘密情報の公開、エラーハンドリングの削除、ログの無効化)を防ぎます。
v5.2 — AIパッチ・ファイアウォール
説明だけでなく、実際の diff をレビューします。意図のレビューでは見逃せないものを検出。
POST /api/v2/gateway/review-diff
{
"description": "Remove password column",
"diff": "diff --git a/migrations/001.sql ..."
}
→ { verdict: "BLOCK",
reviewMode: "unified",
intentVerdict: "ALLOW", ← description alone looks safe
diffVerdict: "BLOCK", ← diff reveals destructive schema change
signals: {
schemaChange: { score: 12, isDestructive: true },
interfaceBreak: { score: 10 },
protectedSymbolEdit: { score: 8 },
dependencyDrift: { score: 5 },
publicApiImpact: { score: 0 }
},
recommendation: { action: "require_approval" } }シグナル検出: インターフェースの破損、ロックされたゾーン内の保護されたシンボル編集、依存関係の逸脱、スキーマ/マイグレーション: 破壊的変更、公開APIルートの変更。ハードエスカレーション: 破壊的なスキーマ変更、APIルートの削除、保護シンボルの編集を自動で BLOCK します。統合レビュー: 意図(35%)+ 差分(65%)を合成し、より強い判定を採用。
v5.1 — Patch Gateway
API呼び出しを1つ介して、すべての変更をゲートします。説明とファイルリストを受け取り、ALLOW/WARN/BLOCKを返します。
speclock_review_patch({
description: "Add social login to auth page",
files: ["src/auth/login.js"]
})
→ { verdict: "BLOCK", riskScore: 85,
reasons: [{ type: "semantic_conflict", lock: "Never modify auth" }],
blastRadius: { impactPercent: 28.3 },
summary: "BLOCKED. 1 constraint conflict. 12 files affected." }意味的コンフリクト検出 + ロックからファイルへのマッピング + 影響範囲 + 型制約の検知を組み合わせ、単一のリスクスコア(0〜100)として出力。
v5.0 — Spec Compiler、Code Graph、Typed Constraints、Python SDK、ROS2
Spec Compile(スペック・コンパイラー)。 PRD、README、アーキテクチャ文書を貼り付けるだけで、仕様があらゆる制約を自動抽出します。
Input: "We're building a fintech app. Use React and FastAPI.
Never touch the auth module. Response time must stay
under 200ms. Payments go through Stripe."
Output: 2 text locks:
- "Never touch the auth module"
- "Payments go through Stripe — don't change provider"
1 typed lock:
- response_time_ms <= 200 (numerical)
2 decisions:
- "Use React for frontend"
- "Use FastAPI for backend"デフォルトではGemini Flash(1,000コンパイルあたり$0.01)を使用します。
Code Graph(コードグラフ)。 コードベースのライブ依存関係グラフ。JS/TSのインポートを解析します。
$ speclock blast-radius src/core/memory.js
Direct Dependents: 8 files
Transitive Impact: 14 files (33% of codebase)
Max Depth: 4 hopsロックからファイルへのマッピングは、ロックのファイルへの自動対応付け、モジュール検出はファイルを論理モジュールにグループ化します。
Typed Contracts(型付き制約)。 実時間値検証と状態検証、自律システム、IoT、ロボットを扱えます。
// Numerical: speed must be <= 2.0 m/s
{ constraintType: "numerical", metric: "speed_mps", operator: "<=", value: 2.0 }
// Range: temperature must stay between 20-25°C
{ constraintType: "range", metric: "temperature_c", min: 20, max: 25 }
// State: never go from armed → disarmed without approval
{ constraintType: "state", metric: "system_mode", forbidden: [{ from: "armed", to: "disarmed" }] }
// Temporal: heartbeat must occur every 30 seconds
{ constraintType: "temporal", metric: "heartbeat_s", operator: "<=", value: 30 }Python SDK & ROS2。
pip install speclock-sdkfrom speclock import SpecLock
sl = SpecLock(project_root=".")
result = sl.check_text("Switch database to MongoDB")
result = sl.check_typed(metric="speed_mps", value=3.5)
result = sl.check(action="Increase speed", speed_mps=3.5)Node.js/JavaScriptサーバーと同じ .speclock/brain.json を使用します。ROS2 Guardian Nodeは /joint_states、/cmd_vel、/quick_value_state_transition を購読し、違反を /speclock/violation に公開、 /speclock/random_connect_stop で緊急停止.
サポートの表明
もしSpecLockが深夜のトラブルからプロジェクトを守ってくれたなら、このバッジを你的かなREADMEに追加してください。
[](https://github.com/sgroy10/speclock)または、環境のターミナルで speclock badge を実行すると、すべてのバリエーションが表示されます。フルカタログは sgroy10.github.io/speclock/badge.html ・ 完全ドキュメントは BADGES.md です。
一人でも利用者が増えることで、他の開発者がSpecを発見し、AIがプロジェクトを壊すのを防ぐ可能性が広がります。自分の期待を描き込んでありがとうございます。
言葉を広める
Specをたくさんの開発者に向けて発信してみませんか?The words for this are tweets, LinkedIn用のドラフト、Redditテンプレート、Show HN向けのコピー、Discordメッセージ、短いフレーズ、エレベーターピッチ — すべて **VIRAL-KIT.md** に下書き済みで、事実確認済みです。コピーして貼り付け、送信だけ。かかる手間はゼロ。
Contributing
GitHub では不具合報告とPRを歓迎しています。
ライセンス
著者
SpecLock は Sandeep Roy によって制作Androidメンテナンスされています。
Sandeep RoyはSpecLockの唯一の開発者です。SpecLock はAIコーディングセッションにプロジェクトルールを適用します。全51のMCPツール、意味的コンフリクト検出エンジン、エンタープライズセキュリティ機能(SOC2、HIPAA、RBAC、暗証)、リリース前の自動テストゲートまで、すべてSandeep Royによって設計・構築されました。
This server cannot be deployed
Maintenance
Related MCP Connectors
Research-backed linting + generation for agent context files (CLAUDE.md, AGENTS.md, Cursor rules).
Constitutional AI kernel with 13 MCP tools, 888_JUDGE verdict pipeline, and VAULT999 ledger.
Enforces architectural invariants and code quality rules inside your AI agent's edit loop.
AI Visibility and Content Intelligence tools for Claude and MCP-compatible agents.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceGovernance kernel for AI agents — policy enforcement, code safety verification, multi-model hallucination detection (CMVK), trust attestation (IATP), and immutable audit trails. Works with Claude Desktop, Cursor, and any MCP client.74MIT
- AlicenseAqualityAmaintenanceAI-powered codebase health analysis — detects dead code, circular dependencies, coupling issues, and architectural drift. 6 MCP tools for Claude Desktop, Cursor, Windsurf, and Slack.661 npmMIT
- FlicenseNot gradedqualityAmaintenanceAnalyzes repositories, explains architecture, calculates change impact, and enforces guardrails for AI Agents like Claude Code, Cursor, and Codex via MCP tools.-
- FlicenseNot gradedqualityBmaintenancePolicy-as-code gate for AI-SDLC, providing MCP tools to review prompts, diff tool manifests, vet MCP servers, and run evaluation suites for LLM agent repos.1-