
Research
/Security News
737 Chrome VPN Extensions Linked to Brand Impersonation and Browser Traffic Redirection
The campaign amassed more than 75,000 installs by targeting Russian-speaking users seeking access to blocked services.
ArkGate — architecture co-pilot for AI TypeScript (write gate, CI gate, plan/loop; optional ArkRules)
One contract. One gate. One co-pilot.
Your AI writes most of the code. ArkGate keeps that work inside an architecture you can trust — and makes sure a “green” check means something real.
ArkGate 4.0.1 is the next prepared patch (stale global CLI upgrade guard + ArkRules HTML/docs honesty). npm
latestis still 4.0.0 until publication succeeds. 4.0.1 notes · 4.0.0 · Docs hub
| You are… | Go here |
|---|---|
| Anyone (ship with AI, minimal jargon) | Use ArkGate |
| Developer (hosts, CI, config, brownfield) | Develop with ArkGate |
| Contributor (improve this library) | CONTRIBUTING |
Full map: docs/README.md
npm install -D arkgate typescript
npx arkgate start # preview files + commands
npx arkgate start --apply # compact contract + host router + CI plan
npx arkgate-check --doctor # control plane: status light + primary next action
That is the product. Doctor is the control plane — when stuck, do primary next action #1.
start → doctor → day-to-day (place + gate)
↘ optional /ark-autopilot after skill pack
Aliases ark / ark-check / ark-mcp still work. npm / pnpm / yarn. No install lifecycle scripts.
A machine-readable architecture file (ark.config.json) plus enforcement:
| When | Tool |
|---|---|
| While the AI writes | Hard PreToolUse on supported hosts; advisory MCP elsewhere |
| Before merge | arkgate-check as a required CI status |
| Plane | What it guards | Config |
|---|---|---|
| Layers (always) | Who may talk to whom — imports, placement, purity, isolation | ark.config.json layers + rules |
| ArkRules (opt-in) | Habits inside a layer — structure sensors + domain invariants as data | arkRules → arkrules/<Layer>.json |
Absence of ArkRules changes no inter-layer verdict. Label residual [Layer] vs [ArkRules].
Details: configuration · use path.
Not a web framework, ORM, or job runner. Optional experimental runtime is separate and not required for the gate.
Name note: npm package arkgate — not affiliated with the separate Archgate CLI project.
| Light | Means | Your move |
|---|---|---|
| Suggest | Thin / new tree | Finish start → doctor |
| Adapt | Not fully protected | Doctor action #1 |
| Enforce | Honest edges under the contract | Keep write path + CI |
| Enforce · design-weak | Edges clean; design residual remains | Shape residual — not “done” |
Details: docs/use.md.
| Host | Local write boundary | MCP validation | CI / merge path | Repair payload |
|---|---|---|---|---|
| Claude Code | Hard block for listed ops (PreToolUse Write / Edit / MultiEdit) when installed + trusted | Advisory; the agent must call it | Required status = hard merge boundary (arkgate-check --strict-merge) | Emitted on hook deny; host must re-inject |
| Grok Build | Hard block for listed ops (PreToolUse write / search_replace (plus aliases)) when installed + trusted | Advisory; the agent must call it | Required status = hard merge boundary (arkgate-check --strict-merge) | Emitted on hook deny; host must re-inject |
| Google Antigravity | Hard block for listed ops (PreToolUse write_to_file / replace_file_content / multi_replace_file_content) when installed + trusted | Advisory; the agent must call it | Required status = hard merge boundary (arkgate-check --strict-merge) | Emitted on hook deny; host must re-inject |
| Cursor | Advisory only at write (no hard hook) | Advisory; the agent must call it | Required status = hard merge boundary (same CI) | No hard-boundary payload |
| OpenAI Codex | Advisory / best-effort at write (not equivalent to Claude/Grok hard block) | Advisory; the agent must call it | Required status = hard merge boundary (same CI) | No hard-boundary payload |
| OpenCode | Advisory / best-effort at write (MCP + optional plugin; not a hard boundary) | Advisory; the agent must call it | Required status = hard merge boundary (same CI) | No hard-boundary payload |
Read the CI column: for every host, the repository-wide hard guarantee is a required merge check — not “CI file present.” Cursor/Codex/OpenCode never get a fake hard write claim.
This table describes the supported profile after its files are installed and the host loads/trusts them. A hard local boundary covers only the listed hook operations; alternate tools, direct filesystem writes, and human edits still rely on CI. MCP validation is advisory because the agent must call it. The CI check blocks a merge only when the repository makes that status required. Repair payloads never write code silently: the host must re-inject the candidate and ArkGate revalidates it. Run arkgate-check --doctor for the evidence actually detected in the current repository.
The split above is a deliberate trade-off, not a gap. ArkGate validates at the earliest boundary
each host offers and enforces at the earliest boundary a repository can make non-bypassable: the
required merge status. Hard hooks (Claude Code, Grok Build, Google Antigravity) deny the listed
write operations at write time; advisory surfaces (MCP, rules, OpenCode plugins) coach the agent
while it works. But any local boundary can be routed around — another tool, a direct filesystem
write, a human edit — so the only guarantee ArkGate claims for every path is the
arkgate-check --strict-merge check, and only when the repository makes that status required.
Local checks optimize feedback speed; the merge gate owns correctness.
A useful consequence: the contract doubles as a pressure sensor. Recurring violations or baseline
exceptions concentrated on one layer edge are evidence that the current design stopped fitting the
code — a reason to reshape the contract deliberately (start with /ark-explore), never to weaken
the gate.
Setup per host: docs/ai-gates.md · Develop path: docs/develop.md
| ArkGate | Typical boundary linter | |
|---|---|---|
| CI import rules | ✅ | ✅ |
| Hard-block AI writes on supported hosts | ✅ | ❌ |
Contract agents can read (ark://manifest) | ✅ | ❌ |
| Placement + preflight for multi-file changes | ✅ | ❌ |
| Honest governed % + dual plan (edges vs shape) | ✅ | ❌ |
| Opt-in intra-layer ArkRules (structure + invariants) | ✅ | ❌ |
| Incomplete analysis cannot look green | ✅ | varies |
npx arkgate start --apply
npx arkgate-check --doctor
npx arkgate-check --plan
npx arkgate-check --coverage
npx arkgate-check --strict-merge # CI / required status
npx arkgate-check --install-agent-gates --tools claude,cursor,codex,grok
More: docs/develop.md · enthusiast track: docs/enthusiast/
Gates need no app runtime. The experimental @arkgate/runtime companion is separate and is not a production-readiness claim.
Default stores (InMemoryEventBuffer, InMemoryAuditStore, InMemoryReadModelStore,
InMemoryWorkflowStore) are reference in-memory only — fine for tests and demos; they
do not survive restarts and are not production durability. Implement the store interfaces
for real systems. Details: docs/production-hardening.md.
| Audience | Link |
|---|---|
| Docs hub | docs/README.md |
| Anyone | docs/use.md |
| Developers integrating ArkGate | docs/develop.md |
| Contributors to this library | CONTRIBUTING.md |
| Host install detail | docs/ai-gates.md |
| Config · package surface · TS | configuration · package-surface · typescript-support |
| Brownfield | docs/brownfield-adoption.md |
| Security | SECURITY.md |
| Latest release (4.0.0 on npm; 4.0.1 prepared) | 4.0.1 · 4.0.0 · CHANGELOG |
| Previous (3.9.2) | docs/releases/3.9.2.md |
| History / maintainer evidence | docs/archive/ |
git clone https://github.com/pedroknigge/arkgate
cd arkgate && npm ci && npm run build
npm test && npm run check:architecture
Full guide: CONTRIBUTING.md · queue: ROADMAP.md
Website: arkgate.online · npm: arkgate
MCP: io.github.pedroknigge/arkgate
Node ≥ 18 · MIT
Ark doesn’t invent your product. It keeps AI-generated TypeScript inside an architecture you can trust — and tells you when it isn’t really enforcing anything yet.
FAQs
ArkGate — architecture co-pilot for AI TypeScript (write gate, CI gate, plan/loop; optional ArkRules)
The npm package arkgate receives a total of 1,030 weekly downloads. As such, arkgate popularity was classified as popular.
We found that arkgate demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
/Security News
The campaign amassed more than 75,000 installs by targeting Russian-speaking users seeking access to blocked services.

Company News
Open source maintainers are under more pressure than ever. We're raising our open source program from the Team plan to the Business plan, free.

Security News
The supply chain control that delays freshly published gems now covers lockfile generation and gem vendoring in Ruby projects.