Skip to content

CM-60929: Add report mode to ai-guardrails install#410

Open
Ilanlido wants to merge 2 commits intomainfrom
CM-60929-report-mode
Open

CM-60929: Add report mode to ai-guardrails install#410
Ilanlido wants to merge 2 commits intomainfrom
CM-60929-report-mode

Conversation

@Ilanlido
Copy link
Collaborator

Summary

  • Add --mode flag (report|block) to ai-guardrails install, defaulting to report
  • Report mode: installs hooks in async non-blocking mode and creates policy file with warn mode
  • Block mode: installs hooks in sync blocking mode and creates policy file with block mode
  • Add sessionStart/SessionStart auth check hook for both Cursor and Claude Code (auto-authenticates on IDE start)
  • Policy file creation merges with existing file on re-install, only updating the mode field
  • Improved hook deduplication to recognize both scan and auth commands

Test plan

  • 14 unit tests covering async/sync configs, sessionStart hooks, and policy file CRUD
  • Manual test: poetry run cycode ai-guardrails install --ide claude-code (report mode default)
  • Manual test: poetry run cycode ai-guardrails install --ide claude-code --mode block
  • Verify re-running install deduplicates hooks correctly
  • Verify switching modes updates policy file without losing customizations

🤖 Generated with Claude Code

…efault

- Add InstallMode enum (report/block) and --mode/-m flag defaulting to report
- Report mode: async non-blocking hooks + warn policy file
- Block mode: sync blocking hooks + block policy file
- Add sessionStart/SessionStart auth check hook for both Cursor and Claude Code
- Policy file merges with existing on re-install, only updating mode
- Improve hook deduplication to recognize both scan and auth commands
- Add 14 tests covering async/sync configs, sessionStart, and policy file creation

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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.

1 participant