@adlc/cursor
v1.12.0
Published
ADLC native Cursor plugin — marketplace hooks, skills, rules, and /adlc-* commands (npm scaffolder remains as legacy fallback).
Maintainers
Readme
@adlc/cursor
ADLC (Agentic Development Lifecycle) native
integration for Cursor: a marketplace plugin with
preToolUse rails-guard dispatcher, afterFileEdit audit, advisory shell
notice, stop / beforeSubmitPrompt hooks, phase skills, and the full
/adlc-* command palette.
Install (preferred)
From a clone of this repository (Cursor plugin marketplace):
- Add the repo as a Cursor plugin marketplace (see
Cursor plugins — root
.cursor-plugin/marketplace.jsonis marketplaceadlc-pluginsand lists ADLC for Cursor /adlc-cursor). - Install ADLC for Cursor (
adlc-cursor) — not a Claude Code–namedadlcentry from this monorepo. - In Cursor, run
/adlc-init(or):
npm install -g @adlc/cli
adlc init --harness cursor- Wire the unbypassable CI rail-freeze gate:
docs/ci/rails-guard.yml.
Legacy / local-dev fallback
npm install -g @adlc/cli
npx @adlc/cursor .The scaffolder is idempotent — re-running (or /adlc-init) merges into any
existing .cursor/hooks.json without touching your other hooks. Prefer the
marketplace path so hooks/skills update with the plugin instead of copied
project files.
An existing .adlc/config.json is never rewritten; if it is not a JSON object
(empty, malformed, or an array), the scaffolder reports it as unreadable and
exits 1 instead of counting it as present.
What you get
sessionStart— ticket/rails context injection (best-effort) + session id env.preToolUsedispatcher — rails decision first; frozen-rail edits denied.afterFileEditaudit — observational rail + flail notice.beforeShellExecutionadvisory — honesty nudge; never denies.stop/beforeSubmitPrompt— stop-audit + preflight (Cursor-documented).- MCP (one-root channel proven / rebind unverified) — a live test on
Cursor Desktop 3.20.10 proved
${CURSOR_PLUGIN_ROOT}expansion inargsandcwd, bundled startup without plugin-cachenode_modulesor a consumer shim, and aroots/listresponse. The post-fix run bound, exposedadlc_gate/adlc_prosecute, and returnedok/exitCode: 0foradlc_gate gate-manifest show. The proxy accepts Cursor's bare absolute-path Root values as well asfile://URIs, then runsadlc mcp-serverwith the resolved consumer cwd. It requires a global@adlc/cliinstallation resolvable by Cursor's Node/npm environment (npm i -g @adlc/cli) and never launches a Windows.cmdshim.roots/list_changedrebind and live multi-root refusal remain unverified. - Skills —
adlcphase router +adlc-init. - Command palette —
/adlc-init,/adlc-ticket,/adlc-spec,/adlc-approve-spec,/adlc-decompose,/adlc-verify-build,/adlc-prosecute,/adlc-distill,/adlc-maintain. .cursor/rules/adlc.mdc— phase-router rule (also delivered via plugin).
Docs
Full guide: docs/integrations/cursor.md.
MIT © Chris Williams
