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 강제

커밋 시점에 두 번째 가드를 추가합니다

권고 및 엄격 모드

경고로 시작하고, 준비되면 하드 차단을 선택합니다

감사 추적

변조 방지 HMAC 체인에 결정을 기록합니다

MCP 통합

Claude Code, Cursor, Codex, Windsurf, Cline에 51개 도구를 노출합니다

공유 가능한 저장 영수증

speclock wins로 SpecLock이 차단한 내용을 보여줍니다

공개적으로 입증됨

  • 10,000+ npm 다운로드 네이티브 Claude Code 플러그인 출시 전.

  • 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 업데이트 및 사용자 테이블 삭제" = 숨은 위반 (복합 분리기)

그리고 안전한 것도 알고 있습니다:

  • 잠금이 "감사 로깅을 비활성화하지 마"라고 할 때 "감사 로깅 활성화" → 충돌 없음 (의도 정렬)

플랫폼별 빠른 시작

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. 설정 → 커넥터 → 새 MCP 서버로 이동

  2. URL 입력: https://speclock-mcp-production.up.railway.app/mcp

  3. 프로젝트 지침을 Knowledge에 붙여넣기


대안보다 SpecLock이 나은 이유?

Claude Memory

Mem0

.cursorrules

SpecLock

맥락 기억

예

예

수동

예

AI가 무언가를 깨뜨리는 것을 차단

아니요

아니요

아니요

예

의미론적 충돌 감지

아니요

아니요

아니요

예 — 적대적 테스트로 검증됨

변조 방지 감사 추적

아니요

아니요

아니요

HMAC-SHA256 체인

하드 강제 (AI가 진행할 수 없음)

아니요

아니요

아니요

예

SOC 2 / HIPAA 규정 준수 내보내기

아니요

아니요

아니요

예

암호화 저장 (AES-256-GCM)

아니요

아니요

아니요

예

RBAC + API 키 인증

아니요

아니요

아니요

4개 역할

Policy-as-Code DSL

아니요

아니요

아니요

YAML 규칙

Bolt.new, Lovable 등에서 작동

아니요

아니요

아니요

예

다른 도구는 기억합니다. SpecLock은 강제합니다.


의미론적 엔진

키워드 매칭이 아닌 의미론적 분석이며, 회색 지대 및 교차 도메인 사례를 위한 선택적 Gemini Flash 하이브리드가 포함됩니다. 저장소에는 적대적, 오탐, 질문 프레이밍, 패치 게이트웨이, diff 분석 테스트 스위트가 포함되어 있습니다.

왜 또 다른 규칙 도구인가? 규칙 파일은 맥락입니다. 긴 코딩 세션 중에 잊히거나, 희석되거나, 무시될 수 있습니다. 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 임시 비활성화" 같은 간접적 행동이 활성 제약을 위반할 때 이를 감지합니다.

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 강제

커밋 시점에 두 번째 가드를 추가합니다

권고 및 엄격 모드

경고로 시작하고, 준비되면 하드 차단을 선택합니다

감사 추적

변조 방지 HMAC 체인에 결정을 기록합니다

MCP 통합

Claude Code, Cursor, Codex, Windsurf, Cline에 51개 도구를 노출합니다

공유 가능한 저장 영수증

speclock wins로 SpecLock이 차단한 내용을 보여줍니다

공개적으로 검증됨

  • 10,000+ npm 다운로드 네이티브 Claude Code 플러그인 출시 전.

  • 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 업데이트 및 사용자 테이블 삭제" = 숨은 위반 (복합 분리기)

그리고 안전한 것도 알고 있습니다:

  • 잠금이 "감사 로깅을 비활성화하지 마"라고 할 때 "감사 로깅 활성화" → 충돌 없음 (의도 정렬)

플랫폼별 빠른 시작

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. 설정 → 커넥터 → 새 MCP 서버로 이동

  2. URL 입력: https://speclock-mcp-production.up.railway.app/mcp

  3. 프로젝트 지침을 Knowledge에 붙여넣기


대안보다 SpecLock이 나은 이유는?

Claude Memory

Mem0

.cursorrules

SpecLock

맥락 기억

예

예

수동

예

AI가 무언가를 깨는 것을 차단

아니요

아니요

아니요

예

의미론적 충돌 감지

아니요

아니요

아니요

예 — 적대적 테스트로 검증됨

변조 방지 감사 추적

아니요

아니요

아니요

HMAC-SHA256 체인

하드 강제 (AI가 진행할 수 없음)

아니요

아니요

아니요

예

SOC 2 / HIPAA 규정 준수 내보내기

아니요

아니요

아니요

예

암호화 저장 (AES-256-GCM)

아니요

아니요

아니요

예

RBAC + API 키 인증

아니요

아니요

아니요

4개 역할

Policy-as-Code DSL

아니요

아니요

아니요

YAML 규칙

Bolt.new, Lovable 등에서 작동

아니요

아니요

아니요

예

다른 도구는 기억합니다. SpecLock은 강제합니다.


의미론적 엔진

키워드 매칭이 아닌 — 의미론적 분석이며, 회색 지대 및 교차 도메인 사례를 위한 선택적 Gemini Flash 하이브리드가 포함됩니다. 저장소에는 적대적, 오탐, 질문 프레이밍, 패치 게이트웨이, diff 분석 테스트 스위트가 포함되어 있습니다.

내부 동작: 65개 이상의 동의어 그룹 · 80개 이상의 완곡 표현 매핑 · 도메인 개념 맵(핀테크, 전자상거래, IoT, 헬스케어, SaaS, 결제, 게임, 통신, 정부) · 의도 분류기 · 복문 분할기 · 시간적 회피 탐지기 · 동사 시제 정규화 · UI 외관 변경 감지 · 안전 의도 패턴 · 수동태 파싱 — 모두 순수 JavaScript로 구현. 그레이존 사례는 Gemini Flash 하이브리드로 처리($0.01/1000회 검사).


하드 시행

두 가지 모드:

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 키 파생(100K 반복). 인증 암호화. 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

브랜치, 커밋, diff 요약

도구

기능

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

신호 점수 + 통합 판정을 사용한 diff 네이티브 검토

speclock_parse_diff

통합 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


Auto-Guard

무언가를 잠그면 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개. 의미론 엔진의 런타임 의존성은 0개. 순수 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 프록시는 크로스 도메인 적용 범위를 추가하지만 ~2s가 소요됩니다. 가장 빠른 응답을 원하면 SPECLOCK_NO_PROXY=true로 설정하세요.


테스트 결과

배포 전 게이트는 모든 npm 게시 전에 24개 스위트를 모두 실행합니다. 테스트가 하나라도 실패하면 게시가 차단됩니다.

Suite

Tests

Pass Rate

What it covers

Real-World Testers

111

100%

5 developers, 30+ locks, diverse domains

Adversarial Conflict

46

100%

Euphemisms, temporal evasion, compound sentences

Phase 4 (Multi-domain)

91

100%

Fintech, e-commerce, IoT, healthcare, SaaS

Sam (Enterprise HIPAA)

124

100%

HIPAA locks, PHI, encryption, RBAC

Auth & Crypto

114

100%

API keys, RBAC, AES-256 encryption

John (Indie Dev Journey)

86

100%

8-session Bolt.new build with 5 locks

Diff-Native Review

76

100%

Interface breaks, schema changes, API impact

Patch Gateway

57

100%

ALLOW/WARN/BLOCK verdicts, blast radius

Compliance Export

50

100%

SOC 2, HIPAA, CSV formats

Enforcement

40

100%

Hard/advisory mode, overrides

Audit Chain

35

100%

HMAC-SHA256 chain integrity

Code Graph

33

100%

Import parsing, blast radius, lock mapping

Spec Compiler

24

100%

NL→constraints parsing, auto-apply

Typed Constraints

13

100%

Numerical, range, state, temporal validation

Claude Regression

9

100%

Vue detection, safe-intent, patch gateway

Question Framing

9

100%

"What if we..." and "How hard would it be..."

REST API v2

9

100%

Typed constraint endpoints, SSE

PII/Export Detection

8

100%

SSN, email export, data access violations

Guardian (Protect)

47

100%

Zero-config rule file extraction

Total

1043

100%

24 suites, 15+ domains

재현 가능한 프로젝트 테스트 게이트: v5.8.0에서 전체 1,043개 저장소 테스트가 통과합니다. 이는 프로젝트가 유지 관리하는 자동화 시나리오로, 제3자 인증이 아닙니다. npm test로 직접 실행해 보세요.

테스트 적용 분야: 핀테크, 전자상거래, IoT, 헬스케어, SaaS, 게임, 생명공학, 항공우주, 결제, 급여, 로보틱스, 자율 시스템, 통신, 보험, 정부. 인도 결제 게이트웨이 11개 모두 감지. UI/시각적 작업에 대한 오탐지 0건.


시뮬레이션된 개발자 여정

John 시나리오 — Bolt.new의 인디 개발자

전자상거래 앱을 구축하는 8개 세션. 5개 잠금(auth, Firebase, Supabase, shipping, Stripe). 모든 직접 위반이 감지됨. 모든 완곡 표현 공격이 감지됨("clean up auth", "modernize database", "streamline serverless"). 안전한 작업(제품 페이지, 장바구니, 다크 모드)에 대한 오탐지 0건. 86/86 테스트 통과.

Sam 시나리오 — HIPAA 병원 ERP를 구축하는 시니어 엔지니어

8개 HIPAA 잠금이 적용된 10개 세션. 모든 위반이 감지됨 — PHI 노출, 암호화 제거, 감사 비활성화, MFA 다운그레이드, FHIR 우회. 완곡 표현 HIPAA 공격도 감지됨("simplify data flow", "modernize auth"). 전체 인증 + RBAC + 암호화 + 규정 준수 내보내기 워크플로우 검증 완료. 124/124 테스트 통과.


가격

Tier

Price

What you get

Free

$0

10 locks, conflict detection, MCP, CLI

Pro

$19/mo

Unlimited locks, HMAC audit, compliance exports

Enterprise

$99/mo

+ RBAC, encryption, SSO, policy-as-code


변경 내역

이전 버전의 기능 투어입니다. 위의 Quick Start 및 What's New 섹션은 v5.7.0–v5.8.0을 다루며, 이 섹션은 v5.0–v5.5에서 출시된 기능에 대한 세부 정보를 보존합니다.

v5.4 — Drift Score, Lock Coverage, Lock Strengthener

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 Audit. 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. 하나의 명령으로 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에서 제약 조건을 한 번 정의하고 모든 곳에 동기화하세요. 단일 형식은 --format cursor, 드라이런은 --preview, 지원 형식 확인은 --list.

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 Patch Firewall

설명이 아닌 실제 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%) + diff(65%)를 병합하고 더 강한 판정을 채택합니다.

v5.1 — Patch Gateway

하나의 API 호출로 모든 변경을 게이트합니다. 설명 + 파일 목록을 받아 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 Compiler. PRD, README 또는 아키텍처 문서를 붙여넣으면 SpecLock이 모든 제약 조건을 자동으로 추출합니다:

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/Python import를 파싱합니다.

$ speclock blast-radius src/core/memory.js

Direct Dependents:  8 files
Transitive Impact:  14 files (33% of codebase)
Max Depth:          4 hops

잠금-파일 매핑이 잠금을 소스 파일에 자동 매핑하고, 모듈 감지가 파일을 논리적 모듈로 그룹화합니다.

Typed Constraints. 자율 시스템, 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 MCP 서버와 동일한 .speclock/brain.json을 사용합니다. ROS2 Guardian Node는 /joint_states, /cmd_vel, /speclock/state_transition을 구독하고, 위반 사항을 /speclock/violations에 게시하며, /speclock/emergency_stop을 통해 비상 정지를 트리거합니다.


지원 표시

SpecLock이 새벽 3시의 사고에서 프로젝트를 구했다면, 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.

모든 채택은 다른 개발자가 SpecLock을 발견하고 AI가 프로젝트를 망치는 것을 막는 데 도움이 됩니다. 감사합니다.

널리 알리기

SpecLock이 더 많은 개발자에게 도달하도록 돕고 싶으신가요? 게시에 필요한 모든 것 — 트윗, LinkedIn 초안, Reddit 템플릿, Show HN 카피, Discord 메시지, 한 줄 소개, 엘리베이터 피치 — 이 **VIRAL-KIT.md**에 사전 작성되고 사실 확인되어 있습니다. 복사, 붙여넣기, 전송. 노력 제로.


기여

이슈와 PR은 GitHub에서 환영합니다.

라이선스

MIT

저자

SpecLock은 **Sandeep Roy**가 만들고 유지 관리합니다.

Sandeep Roy는 AI 코딩 세션 전반에 걸쳐 프로젝트 규칙을 적용하는 AI 제약 엔진인 SpecLock의 단독 개발자입니다. 51개 MCP 도구 전체, 의미론적 충돌 감지 엔진, 엔터프라이즈 보안 기능(SOC 2, 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.
    -