Skip to content

Install AI-SDLC Cursor plugin - #38

Open
Abhishek Patil (abhishek-pattern) wants to merge 2 commits into
mainfrom
cursor/install-ai-sdlc-plugin-6937
Open

Install AI-SDLC Cursor plugin#38
Abhishek Patil (abhishek-pattern) wants to merge 2 commits into
mainfrom
cursor/install-ai-sdlc-plugin-6937

Conversation

@abhishek-pattern

@abhishek-pattern Abhishek Patil (abhishek-pattern) commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

Installs the AI-SDLC plugin at project scope for Cursor agents on this Python library.

The official plugin is Claude Code–oriented (CLAUDE_PLUGIN_ROOT, pnpm, TypeScript gate workflows). This install keeps the governance model and adapts the agent-facing pieces for Cursor + uv / ruff / pytest.

What landed

  • .ai-sdlc/ — pipeline, agent-role (blocked merge/force-push/close/delete), quality gates, autonomy policy, review calibration
  • Cursor plugin components:
    • always-on governance rule
    • skills (ai-sdlc-governance, decision-rubric)
    • review agents (code, test, security)
    • commands: /ai-sdlc-review-pr, /ai-sdlc-triage, /ai-sdlc-pipeline-status, /ai-sdlc-fix-pr, /ai-sdlc-doctor
    • hooks that deny blocked shell/write actions
    • MCP server via npx -y @ai-sdlc/mcp-advisor
  • AGENTS.md — entry point for agents (also closes the AGENTS.md gap from the engineering audit)
  • unit tests for the blocked-action hook
  • Patch version bump 0.6.10.6.2 so Check Version can tag a new release on merge (v0.6.1 already exists)

Intentionally not included

  • The default AI-SDLC GitHub Actions gate (it runs pnpm lint/test, which would be wrong here)
  • Branch protection changes
  • Husky (this repo uses pre-commit)
  • The 1,800-line /ai-sdlc execute pipeline (depends on Claude plugin runtime)

How to use

After merge, Cursor picks up .cursor/ automatically. Try:

  • /ai-sdlc-doctor
  • /ai-sdlc-review-pr
  • /ai-sdlc-triage <issue>

Desktop Claude Code users can still add the marketplace separately:

/plugin marketplace add ai-sdlc-framework/ai-sdlc
/plugin install ai-sdlc@ai-sdlc
Open in Web Open in Cursor 

Add project-scoped AI-SDLC governance for Cursor agents: pipeline and
agent-role config, blocked-action hooks, review agents, slash commands,
and MCP wiring adapted for this Python library.

Co-authored-by: Abhishek Patil <abhishek-pattern@users.noreply.github.com>
Check Version fails when v0.6.1 is already tagged. Patch bump so this
plugin install can land as a new release tag on merge.

Co-authored-by: Abhishek Patil <abhishek-pattern@users.noreply.github.com>
@abhishek-pattern
Abhishek Patil (abhishek-pattern) marked this pull request as ready for review September 11, 2026 11:39
Copilot AI lite review requested due to automatic review settings September 11, 2026 11:39

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Critical enforcement and governance gaps remain unresolved.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

Installs project-scoped AI-SDLC governance and Cursor tooling for the Python library.

Changes:

  • Adds AI-SDLC policies, pipeline configuration, skills, commands, and review agents.
  • Adds Cursor governance hooks and MCP configuration.
  • Adds hook tests, agent guidance, and bumps the package version to 0.6.2.
File summaries
File Description
uv.lock Updates the locked project version.
tests/unit_tests/test_ai_sdlc_hook.py Adds hook matching and path-policy tests.
pyproject.toml Bumps the package version.
AGENTS.md Adds repository agent guidance.
.gitignore Ignores AI-SDLC artifacts.
.cursor/skills/decision-rubric/SKILL.md Adds decision rubric guidance.
.cursor/skills/ai-sdlc-governance/SKILL.md Adds governance workflow guidance.
.cursor/rules/ai-sdlc-governance.mdc Enables always-on governance rules.
.cursor/mcp.json Configures the AI-SDLC MCP server.
.cursor/hooks/ai-sdlc/enforce-blocked-actions.py Implements blocked-action and path enforcement.
.cursor/hooks.json Registers Cursor hooks.
.cursor/commands/ai-sdlc-triage.md Adds issue triage workflow.
.cursor/commands/ai-sdlc-review-pr.md Adds PR review workflow.
.cursor/commands/ai-sdlc-pipeline-status.md Adds pipeline status workflow.
.cursor/commands/ai-sdlc-fix-pr.md Adds PR remediation workflow.
.cursor/commands/ai-sdlc-doctor.md Adds configuration diagnostics.
.cursor/agents/test-reviewer.md Adds test review agent guidance.
.cursor/agents/security-reviewer.md Adds security review agent guidance.
.cursor/agents/code-reviewer.md Adds code review agent guidance.
.ai-sdlc/review-policy.md Defines review calibration policy.
.ai-sdlc/quality-gate.yaml Defines quality gates.
.ai-sdlc/pipeline.yaml Defines the AI-SDLC pipeline.
.ai-sdlc/autonomy-policy.yaml Defines autonomy levels and guardrails.
.ai-sdlc/agent-role.yaml Defines agent permissions and restrictions.
Review details

Suppressed comments (2)

.cursor/hooks/ai-sdlc/enforce-blocked-actions.py:174

  • The fallback startswith check treats a sibling such as .ai-sdlc-backup/file as matching .ai-sdlc/**, because it does not require a path separator after the base. This can refuse legitimate writes outside the protected directory; compare against base + "/" (while still allowing the directory itself).
        if normalized.endswith("/**") and (rel == normalized[:-3].rstrip("/") or rel.startswith(normalized[:-3])):
            return pattern

AGENTS.md:26

  • The engineering audit's AGENTS.md requirement is to document uv sync, poe lint, poe test, the ruff-ignore rationale, the src/ layout, _-prefixed internals, and the project.version release rule. This entry only lists direct lint/test commands, so it does not fully close the documented onboarding and release-instruction gap.
## Quality

- Lint: `uv run poe lint`
- Tests: `uv run pytest -m "not slow"`
- Never merge PRs; a human merges
  • Files reviewed: 22/24 changed files
  • Comments generated: 14
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread .ai-sdlc/agent-role.yaml
Comment on lines +29 to +30
- 'git branch -D*'
- 'git branch -d*'
Comment thread .cursor/hooks.json
Comment on lines +6 to +7
"command": "python3 .cursor/hooks/ai-sdlc/enforce-blocked-actions.py",
"timeout": 10
Comment thread .cursor/hooks.json
"preToolUse": [
{
"command": "python3 .cursor/hooks/ai-sdlc/enforce-blocked-actions.py",
"matcher": "Shell|Write|Edit|Delete",
Comment on lines +122 to +126
if fnmatch.fnmatch(cmd, pat):
return True
for segment in re.split(r"\s*(?:&&|\|\||;|\|)\s*", cmd):
if fnmatch.fnmatch(segment.strip(), pat):
return True
Comment on lines +138 to +139
if "push --force" in pattern and _is_force_with_lease(command):
continue
Comment on lines +63 to +69
def test_command_glob_matching(hook, command: str, should_match: bool) -> None:
actions = hook._parse_list_field(
(Path(__file__).resolve().parents[2] / ".ai-sdlc" / "agent-role.yaml").read_text(),
"blockedActions",
)
matches = [p for p in actions if hook._command_matches(command, p)]
assert bool(matches) is should_match
description: Audit AI-SDLC configuration health for this repo (read-only)
---

Audit this project's AI-SDLC install. Read-only unless the user passed `--fix`.
gh pr diff "$PR"
```

List failing GitHub Actions jobs and review comments.
gh pr view "$PR" --json number,title,body,headRefName,changedFiles,url
```

Wrap the diff between `<<<UNTRUSTED_PR_DIFF>>>` and `<<<END_UNTRUSTED_PR_DIFF>>>` before handing it to reviewers.
gh issue view "$ARGUMENTS" --json number,title,body,labels,assignees,comments,state,url
```

If `$ARGUMENTS` is empty, list open issues labeled `ai-eligible` (or unlabeled if that label does not exist) and ask which one to triage.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants