Skip to main content
Glama

なぜ別のルールツールなのか? ルールファイルはコンテキストにすぎません。長いコーディングセッションの途中で忘れられたり、薄められたり、上書きされたりすることがあります。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

上記のネイティブマーケットプレイスプラグイン

Write、Edit、Bashに対するネイティブな事前アクションチェック

Gemini CLI

このリポジトリをGemini拡張機能としてインストール

MCP支援チェック+プロジェクトコンテキスト

Cursor

Agent Plugin / Cursorマーケットプレイスパッケージ

MCP支援チェック+ルール

Codex

plugins/speclock内のリポジトリCodexプラグイン

MCP支援チェック+$speclock-guardrailsスキル

GitHub Copilot CLI

このリポジトリをプラグインマーケットプレイスとして追加

MCP支援チェック+バンドルされたプラグインコンテキスト

Cline

MCPサーバー。キュレーションされたマーケットプレイスへの提出は進行中

MCP支援チェック

Windsurf

speclock mcp install windsurf

MCP支援チェック+ルール

任意のGitクライアントまたはCI

speclock protect

コーディングエージェントに依存しないコミット/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ツールを公開

共有可能なセーブレシート

speclock winsでSpecLockが何を防いだかを表示

オープンに実証済み

  • ネイティブ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 nextjs

SPECLOCK.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(インストール不要)

  1. Settings → Connectors → New MCP serverに移動

  2. URLを入力: https://speclock-mcp-production.up.railway.app/mcp

  3. プロジェクト手順をKnowledgeに貼り付け


代替ツールと比較したSpecLockの優位性

Claude Memory

Mem0

.cursorrules

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 proceed
speclock 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)

役割

読み取り

ロック書き込み

オーバーライド

管理者

viewer

はい

—

—

—

developer

はい

—

理由付き

—

architect

はい

はい

はい

—

admin

はい

はい

はい

はい

AES-256-GCM暗号化

export SPECLOCK_ENCRYPTION_KEY="your-secret"
speclock encrypt   # Encrypts brain.json + events.log at rest

PBKDF2キー導出(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/build

51のMCPツール

ツール

説明

speclock_init

プロジェクトでSpecLockを初期化

speclock_get_context

完全なコンテキストパック(主要ツール)

speclock_set_goal

プロジェクトの目標を設定

speclock_add_lock

制約を追加 + ファイルを自動ガード

speclock_remove_lock

ロックをソフト削除

speclock_add_decision

アーキテクチャ上の決定を記録

speclock_add_note

ピン留めメモを追加

speclock_set_deploy_facts

デプロイ設定を記録

ツール

説明

speclock_check_conflict

全ロックに対する意味的競合チェック

speclock_set_enforcement

アドバイザリ/ハードモードを切り替え

speclock_override_lock

理由付きでオーバーライド(監査ログに記録)

speclock_override_history

オーバーライド監査証跡を表示

speclock_semantic_audit

ロックに対するgit diffを分析

speclock_detect_drift

制約違反をスキャン

speclock_audit

コミット前にステージングされたファイルを監査

ツール

説明

speclock_session_briefing

セッション開始 + 完全なブリーフィング

speclock_session_summary

セッション終了 + 要約を記録

speclock_log_change

ファイルとともに変更を記録

speclock_get_changes

最近の追跡済み変更

speclock_get_events

完全なイベントログ(フィルタ可能)

speclock_checkpoint

ロールバック用のGitタグ

speclock_repo_status

ブランチ、コミット、差分の要約

ツール

説明

speclock_suggest_locks

AIによるロック提案

speclock_health

ヘルススコア + マルチエージェントタイムライン

speclock_apply_template

制約テンプレートを適用

speclock_report

違反統計 + 最もテストされたロック

ツール

説明

speclock_verify_audit

HMACチェーンの整合性を検証

speclock_export_compliance

SOC 2 / HIPAA / CSVレポート

speclock_policy_evaluate

ポリシールールを評価

speclock_policy_manage

ポリシールールのCRUD

speclock_telemetry

オプトインの使用状況分析

ツール

説明

speclock_add_typed_lock

型付き制約を追加(数値/範囲/状態/時間)

speclock_check_typed

型付き制約に対する提案値をチェック

speclock_list_typed_locks

すべての型付き制約を一覧表示

speclock_update_threshold

型付きロックのしきい値を更新

ツール

説明

speclock_compile_spec

自然言語を構造化制約にコンパイル

speclock_build_graph

コード依存関係グラフを構築/更新

speclock_blast_radius

ファイル変更の影響範囲(ブラスト半径)を計算

speclock_map_locks

ロックを実際のコードファイルにマッピング

ツール

説明

speclock_review_patch

提案された変更に対するALLOW/WARN/BLOCK判定

speclock_review_patch_diff

シグナルスコアリングと統合判定による差分ネイティブなレビュー

speclock_parse_diff

統合差分を構造化された変更に解析(デバッグ/検査)

ツール

説明

speclock_sync_rules

制約をCursor、Claude、Copilot、Windsurf、Gemini、Aider、AGENTS.mdに同期

speclock_list_sync_formats

利用可能なすべての同期フォーマットを一覧表示

speclock_replay

セッションのアクティビティをリプレイ — AIが試みたことと検出された内容

speclock_list_sessions

リプレイ可能なセッションを一覧表示

speclock_drift_score

0-100のプロジェクト整合性メトリクス — AIが意図からどれだけ逸脱したか

speclock_coverage

ロックカバレッジ監査 — 保護されていないコード領域を発見

speclock_strengthen

ロックを評価し、より強力なバージョンを提案


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.tsx

AIがファイルを開くと、次のように表示されます:

// ============================================================
// 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。


設定

変数

デフォルト

説明

SPECLOCK_API_KEY

—

認証されたアクセスのためのAPIキー

SPECLOCK_ENCRYPTION_KEY

—

保存時のAES-256-GCM暗号化を有効にします

SPECLOCK_NO_PROXY

false

ヒューリスティックのみのモード(~250ms)にするにはtrueを設定します。Geminiプロキシをスキップします(~2s)

SPECLOCK_LLM_KEY

—

独自のLLM APIキー(Gemini/OpenAI/Anthropic)

GEMINI_API_KEY

—

ハイブリッド競合検出用のGoogle Gemini APIキー

SPECLOCK_TELEMETRY

false

オプトインの匿名使用状況分析

ヒント: ヒューリスティックエンジンだけでも、~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: ![Drift Score](https://img.shields.io/badge/drift_score-23%2F100-brightgreen.svg)

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 --all
SpecLock 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 BLOCKED

speclock 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 protection

Safe 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-sdk
from 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に追加してください。

[![Protected by SpecLock](https://img.shields.io/badge/Protected_by-SpecLock-FF6B2C?style=flat&logo=lock)](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を歓迎しています。

ライセンス

MIT

著者

SpecLock は Sandeep Roy によって制作Androidメンテナンスされています。

Sandeep RoyはSpecLockの唯一の開発者です。SpecLock はAIコーディングセッションにプロジェクトルールを適用します。全51のMCPツール、意味的コンフリクト検出エンジン、エンタープライズセキュリティ機能(SOC2、HIPAA、RBAC、暗証)、リリース前の自動テストゲートまで、すべてSandeep Royによって設計・構築されました。


Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    Governance 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.
    74
    MIT
  • F
    license
    Not graded
    quality
    A
    maintenance
    Analyzes repositories, explains architecture, calculates change impact, and enforces guardrails for AI Agents like Claude Code, Cursor, and Codex via MCP tools.
    -