---
title: "speclock"
description: "Action guardrails that check AI coding changes against explicit project constraints."
canonical: https://agentpluginsdirectory.com/plugins/speclock
last-updated: 2026-10-23
---

# speclock
Action guardrails that check AI coding changes against explicit project constraints.
- Slug: speclock
- Publisher: Sandeep Roy
- Repository: https://github.com/sgroy10/speclock
- Manifest: plugin.json
- Version: 5.8.0
- License: MIT
- Category (editorial): other
- Skills: 1 (speclock-guardrails)
- MCP servers: 1 (speclock)
- Stars: 25
- Repository created: 2026-02-24
- Repository last pushed: 2026-08-18
- Publisher type: User
- Listing: https://agentpluginsdirectory.com/plugins/speclock
- Schema: https://agent-plugins.org/schemas/1.0.0/plugin.schema.json

## What speclock does, in the publisher's words

Rules files tell AI what not to change. SpecLock enforces them.

Stop Claude Code, Cursor, Codex, Windsurf, and other AI coding tools from crossing project constraints you already wrote in CLAUDE.md, AGENTS.md, and.cursorrules.

> Why another rules tool? Rules files are context. They can be forgotten, diluted, or overridden during a long coding session. SpecLock turns those rules into checks that run before edits, shell commands, and commits.

- 10,000+ npm downloads before the native Claude Code plugin release.
- 1,043 automated tests across 24 suites, including adversarial conflicts, false-positive cases, patch analysis, enforcement, auth, and compliance.
- MIT licensed and inspectable end to end.
- Local-first defaults with optional remote features clearly separated.
- Portable Agent Plugin packaging for Cursor-compatible discovery.
- Gemini CLI extension packaging with MCP startup and constraint context.

From the project README, punctuation lightly normalized. Full text: https://raw.githubusercontent.com/sgroy10/speclock/HEAD/README.md

## MCP servers

- speclock: transport: stdio; command: npx --yes speclock@5.8.0 serve --project .

Read from the plugin's own mcp.json. Environment variable names only, never values.
