You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<palign="center"><strong>Chock policies for Copilot CLI and VS Code agent mode — a real <code>PreToolUse</code> deny hook where the client supports it.</strong></p>
Chock policies packaged as installable plugins for **GitHub Copilot** — Copilot CLI and
8
-
VS Code agent mode. Guard policies ship a real `PreToolUse` hook, so a matched destructive
9
-
command is **denied in the session**, not just discouraged.
15
+
</p>
10
16
11
-
<imgsrc="docs/assets/hero.svg"alt="Animated replay: an agent runs rm -rf and the chock guard denies it before it runs (Copilot CLI / VS Code, exit 2)"width="720">
17
+
<palign="center">
18
+
<imgsrc="https://raw.githubusercontent.com/open-coder-ai/chock/main/docs/assets/demo.gif"alt="Chock's demo: an agent runs a destructive command and a guard plugin denies it before it executes"width="760">
19
+
</p>
12
20
13
-
**This repository is generated.** Every file is compiled from policy sources in
14
-
[chock-catalog](https://github.com/open-coder-ai/chock-catalog) by
15
-
[chock](https://github.com/open-coder-ai/chock). Pull requests here are closed with a
16
-
pointer to the catalog — review belongs where the source is.
17
-
18
-
## Which clients this works with
19
-
20
-
These packages use the **Claude plugin format**, which VS Code and GitHub Copilot CLI read
21
-
natively (VS Code auto-detects the format and sets `CLAUDE_PLUGIN_ROOT` for the hook). The
22
-
same packages also work in Claude Code. This repository is the
23
-
**Copilot-branded** distribution of that content; the format-named distribution lives at
24
-
[chock-claude-plugins](https://github.com/open-coder-ai/chock-claude-plugins) and the two
25
-
are byte-identical where they overlap, because both are generated from the same catalog.
26
-
Cursor and Codex users are served by
27
-
[chock-cursor-plugins](https://github.com/open-coder-ai/chock-cursor-plugins) and
28
-
[chock-codex-plugins](https://github.com/open-coder-ai/chock-codex-plugins), which carry
29
-
those vendors' own formats and deny dialects.
21
+
An agent you're running can already touch your shell, your git history, and your CI config.
22
+
You want it to move fast without being the reason a stray `rm -rf` actually happens. Telling
23
+
it to be careful in a prompt is not a guarantee; a plugin that can refuse the command is
24
+
closer to one — and it should be honest about which of those two it is.
25
+
26
+
## Install
30
27
31
28
```
32
29
# VS Code / GitHub Copilot: add this repository as a plugin marketplace, then install a
@@ -35,71 +32,37 @@ those vendors' own formats and deny dialects.
-**Tested upstream, and gated:** every policy ships an eval suite
97
60
(`base/<policy>/evals/suite.yaml`) in the catalog, and the publish workflow runs
98
61
`chock check` and `chock check --only evals` before packaging anything — a policy whose
99
62
evals fail cannot reach this repository. The tests live in the catalog because the policy
100
63
source does; this repository is compiled output.
101
-
-**This README is the exception:** it is the one file the publisher never writes, so it
102
-
alone sits outside the generated-only guarantee. Everything else here regenerates.
64
+
- This README is the exception:the one hand-written file in this repository, so it alone
65
+
sits outside the generated-only guarantee.
103
66
104
67
### Verify it yourself
105
68
@@ -126,35 +89,26 @@ checked without rebuilding the rest.
126
89
**If you are listing these plugins in a marketplace,** pin both a tag and the full commit
127
90
SHA. The tag names the release; the SHA is what holds the reviewed bytes still.
128
91
129
-
130
92
## Contributing
131
93
132
-
Pull requests that change packages here are closed automatically, and not because the
133
-
change is unwelcome: every package is compiled from the catalog, so an edit here would be
134
-
overwritten at the next publish and would carry none of a policy's checks. What is welcome,
135
-
and where it goes:
136
-
137
94
| You want to | Go to |
138
95
| :--- | :--- |
139
96
| Fix or add a policy |[chock-catalog](https://github.com/open-coder-ai/chock-catalog/blob/main/CONTRIBUTING.md) — it reaches every client from there, including this one |
140
97
| Report that a guard did or did not block on your Copilot CLI or VS Code version | an issue on [chock](https://github.com/open-coder-ai/chock/issues/new/choose), which records the witnessed-blocking claims these packages carry; "it fails open where you say it fails closed" is the most useful result you can send |
141
98
| Report a bug in how packages are generated |[chock](https://github.com/open-coder-ai/chock/issues/new/choose), where the emitter lives |
142
99
| Fix this README | here — it is the one hand-written file in the repository |
143
100
144
-
## Part of the open-coder-ai family
145
-
146
-
Everything under [open-coder-ai](https://github.com/open-coder-ai) is built on one rule: a claim must match a
147
-
mechanism. Where this repository sits among the others:
148
-
149
-
| Repository | What it is |
150
-
| :--- | :--- |
151
-
|[chock](https://github.com/open-coder-ai/chock)| The framework: write a policy once, enforce it on git hooks, CI, and every agent |
152
-
|[chock-catalog](https://github.com/open-coder-ai/chock-catalog)| The policies, each graded by what it actually enforces |
153
-
|[agentseam](https://github.com/open-coder-ai/agentseam)| The primitives layer under chock: one handler API over every agent's hooks, with a capability matrix that carries its provenance |
154
-
|[context-report](https://github.com/open-coder-ai/context-report)| A signed report format for whether a plugin, hook, skill or `AGENTS.md` actually works |
155
-
|[chock-threat-intel](https://github.com/open-coder-ai/chock-threat-intel)| A weekly, human-reviewed threat digest scored against the catalog |
156
-
|[chock-claude-plugins](https://github.com/open-coder-ai/chock-claude-plugins) · [cursor](https://github.com/open-coder-ai/chock-cursor-plugins) · [codex](https://github.com/open-coder-ai/chock-codex-plugins)| The same catalog compiled for the other clients; generated only, like this one |
157
-
|[chock-quickstart](https://github.com/open-coder-ai/chock-quickstart) · [chock-example](https://github.com/open-coder-ai/chock-example)| Template repositories: exactly what `chock init` leaves behind, and a working adoption with one policy per layer |
101
+
## Part of open-coder-ai
102
+
103
+
|||
104
+
|---|---|
105
+
|[agentseam](https://github.com/open-coder-ai/agentseam)| the primitives — one handler API and a verified capability matrix across 16 agents |
106
+
|[chock](https://github.com/open-coder-ai/chock)| the compiler — one policy into git hooks, CI gates and native pre-tool hooks |
107
+
|[chock-catalog](https://github.com/open-coder-ai/chock-catalog)| the policies — 39, each labelled enforced or advisory, with replayed evals |
108
+
|[context-report](https://github.com/open-coder-ai/context-report)| the evidence — a signed report of whether an agent artifact actually works |
109
+
|[chock-threat-intel](https://github.com/open-coder-ai/chock-threat-intel)| the threat ledger the catalog's policies answer to |
110
+
| chock-{claude,cursor,copilot,codex}-plugins | the catalog, packaged for each agent's plugin format (generated) |
111
+
| chock-quickstart · chock-example | template repos: what `chock init` leaves behind, and a full adoption |
0 commit comments