[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"extension-cli-sgroy10-speclock-ros2-zh-CN":3,"guides-for-sgroy10-speclock-ros2":324,"similar-k17brwp2rz821bkz2zeazsv5td86mdep-zh-CN":325},{"_creationTime":4,"_id":5,"children":6,"community":7,"display":9,"evaluation":15,"identity":248,"isFallback":238,"parentExtension":251,"providers":252,"relations":258,"repo":261,"tags":320,"workflow":321},1778697166802.8904,"k17brwp2rz821bkz2zeazsv5td86mdep",[],{"reviewCount":8},0,{"description":10,"installMethods":11,"name":13,"sourceUrl":14},"AI约束引擎 — 强制执行 CLAUDE.md、.cursorrules、AGENTS.md 规则，如同法律一般。拥有 51 个 MCP 工具，991 个测试。官方 MCP 注册表。 npx speclock protect",{"pypi":12},"speclock_ros2","speclock-ros2","https://github.com/sgroy10/speclock",{"_creationTime":16,"_id":17,"extensionId":5,"locale":18,"result":19,"trustSignals":229,"workflow":246},1778697166802.8906,"kn7e5hhg4pkpc40mz1he6jbp5586ny47","zh-CN",{"checks":20,"evaluatedAt":197,"extensionSummary":198,"features":199,"nonGoals":205,"promptVersionExtension":209,"promptVersionScoring":210,"purpose":211,"rationale":212,"score":213,"summary":214,"tags":215,"tier":223,"useCases":224},[21,26,29,32,36,39,43,47,50,53,57,61,64,68,71,74,77,80,83,86,90,94,98,102,106,109,112,115,119,122,125,128,131,134,137,141,145,149,152,156,159,162,165,168,171,174,177,180,183,186,190,193],{"category":22,"check":23,"severity":24,"summary":25},"Practical Utility","Problem relevance","pass","描述清楚地说明了 AI 违反项目规则的问题以及 SpecLock 提供的解决方案。",{"category":22,"check":27,"severity":24,"summary":28},"Unique selling proposition","SpecLock 通过提供实际的强制执行、语义分析和防篡改审计跟踪，超越了默认的 AI 行为，提供了显著的价值，远远超出了简单的记忆。",{"category":22,"check":30,"severity":24,"summary":31},"Production readiness","该扩展件看起来已准备好投入生产，具有清晰的安装路径、健康检查以及涵盖约束执行和审计的强大功能集。",{"category":33,"check":34,"severity":24,"summary":35},"Scope","Single responsibility principle","SpecLock 专注于为 AI 编码会话强制执行项目约束，拥有一系列支持此单一领域的连贯工具和功能。",{"category":33,"check":37,"severity":24,"summary":38},"Description quality","显示的描述准确、简洁，并突出了 SpecLock 的核心价值主张。",{"category":40,"check":41,"severity":24,"summary":42},"Invocation","Scoped tools","MCP 工具是范围明确的动词-名词专家，便于代理进行清晰选择。",{"category":44,"check":45,"severity":24,"summary":46},"Documentation","Configuration & parameter reference","README 提供了关于安装、配置和命令使用的全面文档，包括环境变量。",{"category":33,"check":48,"severity":24,"summary":49},"Tool naming","工具名称具有描述性，符合 kebab-case 规范，并清楚地表明了它们在 SpecLock 领域内的功能。",{"category":33,"check":51,"severity":24,"summary":52},"Minimal I/O surface","工具似乎具有最小且定义明确的输入参数，输出结构化以供机器读取，避免了不必要的数据。",{"category":54,"check":55,"severity":24,"summary":56},"License","License usability","该项目根据 MIT 许可（一种宽松的开源许可证）授权，在 README 和 LICENSE 文件中已明确说明。",{"category":58,"check":59,"severity":24,"summary":60},"Maintenance","Commit recency","最近一次提交是在 2026 年 4 月 11 日，表明有近期的维护活动。",{"category":58,"check":62,"severity":24,"summary":63},"Dependency Management","该项目依赖项很少，`setup.py` 已适当地列出了它们。",{"category":65,"check":66,"severity":24,"summary":67},"Security","Secret Management","通过 API 密钥、RBAC 和加密处理密钥，没有发现硬编码密钥或输出中的敏感数据。",{"category":65,"check":69,"severity":24,"summary":70},"Injection","该工具专注于解析和强制执行规则，没有迹象表明执行任意外部代码或加载数据中的指令。",{"category":65,"check":72,"severity":24,"summary":73},"Transitive Supply-Chain Grenades","该工具似乎捆绑了所有必需的组件，并且在运行时不获取远程脚本或数据进行执行。",{"category":65,"check":75,"severity":24,"summary":76},"Sandbox Isolation","该工具的操作似乎仅限于其项目目录和配置，没有证据表明写入任意文件路径。",{"category":65,"check":78,"severity":24,"summary":79},"Sandbox escape primitives","在源代码中未观察到分离的进程或拒绝重试循环。",{"category":65,"check":81,"severity":24,"summary":82},"Data Exfiltration","没有证据表明读取或向第三方提交机密数据；出站调用已记录并用于基本功能。",{"category":65,"check":84,"severity":24,"summary":85},"Hidden Text Tricks","捆绑的内容和描述似乎没有隐藏的操纵技巧或混淆。",{"category":87,"check":88,"severity":24,"summary":89},"Hooks","Opaque code execution","代码似乎是纯 JavaScript，没有混淆、base64 负载或运行时脚本获取。",{"category":91,"check":92,"severity":24,"summary":93},"Portability","Structural Assumption","该工具似乎是独立的，并且不对其自身配置之外的用户项目结构做出假设。",{"category":95,"check":96,"severity":24,"summary":97},"Trust","Issues Attention","过去 90 天内有 0 个未解决和 0 个已解决的问题，该项目似乎稳定或新，目前没有参与方面的顾虑。",{"category":99,"check":100,"severity":24,"summary":101},"Versioning","Release Management","npm 中声明了一个有意义的 semver 版本 (5.5.4)，并且安装说明没有默认为 `main`。",{"category":103,"check":104,"severity":24,"summary":105},"Code Execution","Validation","该工具的架构意味着对输入和输出进行强大的验证，这对于其作为约束引擎的功能至关重要。",{"category":65,"check":107,"severity":24,"summary":108},"Unguarded Destructive Operations","操作主要是咨询性或阻止性的，而非破坏性的；任何潜在的破坏性操作都将受到确认的保护。",{"category":103,"check":110,"severity":24,"summary":111},"Error Handling","该工具的设计和广泛的测试表明其具有强大的错误处理能力，并提供清晰的报告和结构化的输出。",{"category":103,"check":113,"severity":24,"summary":114},"Logging","审计日志功能提供了操作和结果的结构化记录，满足了日志记录的要求。",{"category":116,"check":117,"severity":24,"summary":118},"Compliance","GDPR","该工具专注于代码约束和遵守企业安全标准，表明它能负责任地处理个人数据。",{"category":116,"check":120,"severity":24,"summary":121},"Target market","该扩展件面向全球的 AI 代理工作流，似乎没有区域限制。",{"category":91,"check":123,"severity":24,"summary":124},"Runtime stability","该工具使用 JavaScript 构建，并依赖标准的 Node.js/Python/ROS2 环境，表明其具有良好的跨平台稳定性。",{"category":44,"check":126,"severity":24,"summary":127},"README","README 内容全面、结构良好，并清楚地说明了扩展的目的和价值。",{"category":33,"check":129,"severity":24,"summary":130},"Tool surface area","CLI 公开了数量可观的工具（MCP 部分列出了约 20 个），支持其核心功能。",{"category":40,"check":132,"severity":24,"summary":133},"Overlapping near-synonym tools","工具命名清晰，涵盖特定功能，避免了冗余的近义词。",{"category":44,"check":135,"severity":24,"summary":136},"Phantom features","README 和文档中提到的所有功能似乎都在代码库和 MCP 工具中都有相应的实现。",{"category":138,"check":139,"severity":24,"summary":140},"Install","Installation instruction","安装说明清晰，提供了多个特定于平台的示例和命令行调用。",{"category":142,"check":143,"severity":24,"summary":144},"Errors","Actionable error messages","鉴于该工具专注于明确的规则和诊断，预计错误消息是可操作的。",{"category":146,"check":147,"severity":24,"summary":148},"Execution","Pinned dependencies","依赖项通过 `setup.py` 和 npm 进行管理，并且锁文件的存在表明已固定依赖项。",{"category":33,"check":150,"severity":24,"summary":151},"Dry-run preview","该工具的主要功能是约束强制执行，这本身就包括在没有副作用的情况下预览操作。",{"category":153,"check":154,"severity":24,"summary":155},"Protocol","Idempotent retry & timeouts","该架构意味着状态是通过有效负载管理的，并且约束检查的性质表明已处理超时。",{"category":116,"check":157,"severity":24,"summary":158},"Telemetry opt-in","`SPECLOCK_TELEMETRY` 变量确认遥测是选择加入的并且已记录在案。",{"category":40,"check":160,"severity":24,"summary":161},"Hierarchical discoverable arguments","CLI 似乎具有分层结构，带有可发现的参数和示例，如命令结构和文档所示。",{"category":40,"check":163,"severity":24,"summary":164},"Unknown-flag handling","该工具很可能具有强大的参数解析功能，并能对未知标志进行显式错误处理。",{"category":65,"check":166,"severity":24,"summary":167},"Secrets not in argv","密钥通过 API 密钥和环境变量进行处理，而不是直接在 argv 标志中。",{"category":40,"check":169,"severity":24,"summary":170},"Parseable --version","根据标准的 CLI 实践，`--version` 输出预计是单行且可解析的。",{"category":40,"check":172,"severity":24,"summary":173},"Flag precedence","文档隐式遵循标准的标志优先级，并且可能提供明确的文档。",{"category":40,"check":175,"severity":24,"summary":176},"Schema introspection","REST API v2 文档暗示了模式自省功能，用于类型化约束和其他数据结构。",{"category":40,"check":178,"severity":24,"summary":179},"Prompt bypass","该工具专为自动化而设计，并可能提供绕过任何交互式提示的标志。",{"category":138,"check":181,"severity":24,"summary":182},"No unnecessary global install","安装说明倾向于使用 `npx` 和 `pipx` 进行隔离执行，避免了不必要的全局安装。",{"category":138,"check":184,"severity":24,"summary":185},"Pipe-to-shell installer","README 中没有出现管道到 shell 的安装方法。",{"category":187,"check":188,"severity":24,"summary":189},"Output","Stream separation","该工具应将机器可读输出分离到 stdout，将诊断信息分离到 stderr，如其结构化输出模式所示。",{"category":187,"check":191,"severity":24,"summary":192},"Structured output mode","该工具提供 JSON 等结构化输出模式，这对于代理交互和审计至关重要。",{"category":194,"check":195,"severity":24,"summary":196},"Subprocess behavior","Signal handling","该工具的健壮架构和对稳定性的关注表明其能够正确处理信号以实现干净关闭。",1778697123807,"SpecLock 是一个 CLI 工具，可在 AI 编码会话期间强制执行项目特定的规则和约束。它会根据用户定义的锁定和策略分析代码更改和 AI 行为，提供警告或阻止违规。它提供了语义分析、HMAC 保护的审计跟踪、RBAC、加密和合规性导出等功能。",[200,201,202,203,204],"AI 约束强制引擎","语义冲突检测","防篡改 HMAC 审计跟踪","RBAC 和 AES-256-GCM 加密","合规性导出 (SOC 2, HIPAA)",[206,207,208],"取代核心 AI 编码功能。","充当通用的代码风格 Linter。","在没有约束监督的情况下提供自动化代码生成。","3.0.0","4.4.0","防止 AI 编码助手违反项目规则和破坏关键系统，确保 AI 行为符合开发人员意图和安全策略。","所有检查均通过正面证据，表明这是一个成熟且可投入生产的工具，拥有出色的文档、安全性和广泛的功能。",100,"一个高度精炼且安全的 CLI 工具，用于强制执行 AI 编码约束，功能丰富，文档齐全。",[216,217,218,219,220,221,222],"ai-constraints","code-enforcement","developer-tool","cli","security","mcp","robotics","verified",[225,226,227,228],"防止 AI 修改敏感代码段（例如，身份验证、支付逻辑）。","确保 AI 遵守特定的架构决策或技术堆栈。","维护 AI 驱动的代码更改的安全且可审计的记录。","在团队和 AI 编码会话中强制执行项目规则。",{"codeQuality":230,"collectedAt":232,"documentation":233,"maintenance":236,"popularity":241,"security":243,"testCoverage":245},{"hasLockfile":231},true,1778697109032,{"descriptionLength":234,"readmeSize":235},150,36905,{"closedIssues90d":8,"forks":237,"hasChangelog":238,"openIssues90d":8,"pushedAt":239,"stars":240},6,false,1775878738000,24,{"npmDownloads":242},699,{"hasNpmPackage":231,"license":244,"smitheryVerified":238},"MIT",{"hasCi":231,"hasTests":231},{"updatedAt":247},1778697166803,{"basePath":13,"githubOwner":249,"githubRepo":250,"locale":18,"slug":13,"type":219},"sgroy10","speclock",null,{"evaluate":253,"extract":256},{"promptVersionExtension":209,"promptVersionScoring":210,"score":213,"tags":254,"targetMarket":255,"tier":223},[216,217,218,219,220,221,222],"global",{"commitSha":257},"HEAD",{"repoId":259,"translatedFrom":260},"kd73m85wtkj05xmfff4vq695hn86mgg4","k177h2k24qprbp2pjjs5tsb9r586nywg",{"_creationTime":262,"_id":259,"identity":263,"providers":264,"workflow":315},1778697100700.4343,{"githubOwner":249,"githubRepo":250,"sourceUrl":14},{"classify":265,"discover":294,"extract":297,"github":298,"npm":314},{"commitSha":257,"extensions":266},[267,276],{"basePath":13,"installMethods":268,"rationale":269,"selectedPaths":270,"source":274,"sourceLanguage":275,"type":219},{"pypi":12},"cli ecosystem detected at speclock-ros2",[271],{"path":272,"priority":273},"setup.py","mandatory","rule","en",{"basePath":277,"description":278,"displayName":250,"installMethods":279,"license":244,"rationale":280,"selectedPaths":281,"source":274,"sourceLanguage":275,"type":221},"","Stop AI from breaking code you told it not to touch. Enforces .cursorrules, CLAUDE.md, and AGENTS.md — not just suggests. Zero-config: npx speclock protect reads your existing AI rule files, extracts constraints, installs pre-commit hooks, and makes your rules unbreakable. 51 MCP tools, Universal Rules Sync, AI Patch Firewall, Spec Compiler, Code Graph, Typed Constraints, Drift Score, HMAC audit chain, SOC 2/HIPAA compliance. Developed by Sandeep Roy.",{"npm":250,"pypi":250},"server.json with namespace/server name at server.json (coalesced with duplicate mcp at speclock-py)",[282,284,286,288,291],{"path":283,"priority":273},"server.json",{"path":285,"priority":273},"package.json",{"path":287,"priority":273},"README.md",{"path":289,"priority":290},"LICENSE","high",{"path":292,"priority":293},"bin/speclock.js","medium",{"sources":295},[296],"manual",{"npmPackage":250},{"closedIssues90d":8,"description":299,"forks":237,"homepage":300,"license":244,"openIssues90d":8,"pushedAt":239,"readmeSize":235,"stars":240,"topics":301},"AI Constraint Engine — enforces CLAUDE.md, .cursorrules, AGENTS.md rules as laws. 51 MCP tools, 991 tests. Official MCP Registry. npx speclock protect","https://sgroy10.github.io/speclock/",[302,303,304,305,221,306,307,308,309,310,311,312,313],"ai-coding","claude-code","cursor","developer-tools","mcp-server","ai-safety","code-quality","constraint-engine","pre-commit","agents-md","copilot","windsurf",{"downloads":242},{"classifiedAt":316,"discoverAt":317,"extractAt":318,"githubAt":318,"npmAt":319,"updatedAt":316},1778697107062,1778697100700,1778697103482,1778697105262,[216,219,217,218,221,222,220],{"evaluatedAt":322,"extractAt":323,"updatedAt":247},1778697123911,1778697107735,[],[326,356,385,412],{"_creationTime":327,"_id":328,"community":329,"display":330,"identity":336,"providers":338,"relations":348,"tags":351,"workflow":352},1778692566881.227,"k170x6w0548s68g79ejga9a6a186mvtw",{"reviewCount":8},{"description":331,"installMethods":332,"name":334,"sourceUrl":335},"用于 MCP 安全的开源 AI 代理防火墙：代理出口控制、DLP、SSRF 和提示注入防护。",{"go":333},"github.com/luckyPipewrench/pipelock","pipelock","https://github.com/luckyPipewrench/pipelock",{"basePath":277,"githubOwner":337,"githubRepo":334,"locale":18,"slug":334,"type":219},"luckyPipewrench",{"evaluate":339,"extract":347},{"promptVersionExtension":209,"promptVersionScoring":210,"score":213,"tags":340,"targetMarket":255,"tier":223},[220,341,342,219,221,343,344,345,346],"firewall","agent","dlp","ssrf","injection-defense","auditing",{"commitSha":257},{"repoId":349,"translatedFrom":350},"kd728h5jcjjje6rbqwymfj9zph86m4jp","k17bc73bymk3wvfgy6mjgpjcps86ncc6",[342,346,219,343,341,345,221,220,344],{"evaluatedAt":353,"extractAt":354,"updatedAt":355},1778692494031,1778692456956,1778692566881,{"_creationTime":357,"_id":358,"community":359,"display":360,"identity":366,"providers":369,"relations":379,"tags":381,"workflow":382},1778698535352.3315,"k171k49wrnbgw2q102k3tpdj8d86nk41",{"reviewCount":8},{"description":361,"installMethods":362,"name":364,"sourceUrl":365},"AI Elements is a component library and custom registry built on top of shadcn/ui to help you build AI-native applications faster.",{"npm":363},"ai-elements","Vercel CLI","https://github.com/vercel/ai-elements",{"basePath":367,"githubOwner":368,"githubRepo":363,"locale":275,"slug":219,"type":219},"packages/cli","vercel",{"evaluate":370,"extract":377},{"promptVersionExtension":209,"promptVersionScoring":210,"score":371,"tags":372,"targetMarket":255,"tier":223},99,[219,373,368,218,374,375,376],"deployment","automation","infrastructure","cloud",{"commitSha":257,"license":378},"Apache-2.0",{"repoId":380},"kd7bmemx4stzs4sg8v742f96hs86nn1h",[374,219,376,373,218,375,368],{"evaluatedAt":383,"extractAt":384,"updatedAt":383},1778698656693,1778698535352,{"_creationTime":386,"_id":387,"community":388,"display":389,"identity":395,"providers":398,"relations":406,"tags":408,"workflow":409},1778694578248.1074,"k1761s0cbnce7qwccb3zrxct5186mkxt",{"reviewCount":8},{"description":390,"installMethods":391,"name":393,"sourceUrl":394},"The fastest path to AI-powered full stack observability, even for lean teams.",{"cargo":392},"rdp","Netdata Field Encoder CLI","https://github.com/netdata/netdata",{"basePath":396,"githubOwner":397,"githubRepo":397,"locale":275,"slug":392,"type":219},"src/crates/rdp","netdata",{"evaluate":399,"extract":404},{"promptVersionExtension":209,"promptVersionScoring":210,"score":371,"tags":400,"targetMarket":255,"tier":223},[401,402,403,219,218],"observability","data-processing","encoding",{"commitSha":257,"license":405},"GPL-3.0-or-later",{"repoId":407},"kd70yp91ybn40a638h3hzz6nbd86m2cw",[219,402,218,403,401],{"evaluatedAt":410,"extractAt":411,"updatedAt":410},1778694927532,1778694578248,{"_creationTime":413,"_id":414,"community":415,"display":416,"identity":422,"providers":424,"relations":433,"tags":436,"workflow":437},1778699655796.4836,"k179anr9v4r9f95y1ncsxwcd2n86mbjt",{"reviewCount":8},{"description":417,"installMethods":418,"name":420,"sourceUrl":421},"Claude Code 的事实强制钩子。在编辑前让 AI 暂停并调查。",{"pypi":419},"gateguard-ai","gateguard","https://github.com/zunoworks/gateguard",{"basePath":277,"githubOwner":423,"githubRepo":420,"locale":18,"slug":420,"type":219},"zunoworks",{"evaluate":425,"extract":432},{"promptVersionExtension":209,"promptVersionScoring":210,"score":426,"tags":427,"targetMarket":255,"tier":223},98,[428,429,430,431,219,218,308],"claude","ai-agent","guardrail","python",{"commitSha":257},{"repoId":434,"translatedFrom":435},"kd7cpymv9nv5641nqx7d2mj0p586nzwt","k17fzvw7q4e13rbrdphydzdfwx86nqag",[429,428,219,308,218,430,431],{"evaluatedAt":438,"extractAt":439,"updatedAt":440},1778699634441,1778699617694,1778699655796]