rafter-cli 0.10.6__tar.gz → 0.11.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/PKG-INFO +3 -4
  2. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/pyproject.toml +5 -3
  3. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/commands/agent.py +625 -282
  4. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/commands/agent_components.py +15 -4
  5. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/commands/backend.py +36 -4
  6. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/commands/hook.py +139 -46
  7. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/commands/mcp_server.py +65 -15
  8. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/commands/report.py +6 -2
  9. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/commands/scan.py +47 -10
  10. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/commands/sites.py +8 -6
  11. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/core/audit_logger.py +45 -10
  12. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/core/config_manager.py +30 -6
  13. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/core/config_schema.py +6 -0
  14. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/core/custom_patterns.py +36 -6
  15. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/core/docs_loader.py +19 -3
  16. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/core/pattern_engine.py +19 -14
  17. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/core/policy_loader.py +23 -7
  18. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/core/risk_rules.py +352 -12
  19. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/continue-rules/rafter.md +1 -1
  20. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/cursor-rules/rafter.mdc +1 -1
  21. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/rafter-security-skill.md +3 -1
  22. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/skills/rafter/SKILL.md +1 -2
  23. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/skills/rafter/docs/cli-reference.md +1 -1
  24. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/skills/rafter/docs/guardrails.md +31 -8
  25. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/skills/rafter-code-review/SKILL.md +0 -1
  26. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/skills/rafter-secure-design/SKILL.md +0 -1
  27. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/skills/rafter-skill-review/SKILL.md +0 -1
  28. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/windsurf-rules/rafter.md +1 -1
  29. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/scanners/betterleaks.py +125 -11
  30. rafter_cli-0.11.2/rafter_cli/scanners/git_history_scan.py +75 -0
  31. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/scanners/regex_scanner.py +18 -4
  32. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/scanners/secret_patterns.py +11 -2
  33. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/scanners/union.py +22 -10
  34. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/utils/api.py +35 -1
  35. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/utils/git.py +13 -5
  36. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/utils/git_diff.py +41 -33
  37. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/README.md +0 -0
  38. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/__init__.py +0 -0
  39. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/__main__.py +0 -0
  40. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/commands/__init__.py +0 -0
  41. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/commands/brief.py +0 -0
  42. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/commands/ci.py +0 -0
  43. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/commands/docs.py +0 -0
  44. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/commands/issues/__init__.py +0 -0
  45. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/commands/issues/dedup.py +0 -0
  46. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/commands/issues/github_client.py +0 -0
  47. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/commands/issues/issue_builder.py +0 -0
  48. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/commands/issues/issues_app.py +0 -0
  49. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/commands/notify.py +0 -0
  50. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/commands/policy.py +0 -0
  51. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/commands/skill.py +0 -0
  52. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/commands/skill_remote.py +0 -0
  53. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/core/__init__.py +0 -0
  54. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/core/command_interceptor.py +0 -0
  55. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/core/hook_control.py +0 -0
  56. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/core/suppression_writer.py +0 -0
  57. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/__init__.py +0 -0
  58. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/agents/__init__.py +0 -0
  59. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/agents/rafter.md +0 -0
  60. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/continue-rules/rafter-code-review.md +0 -0
  61. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/continue-rules/rafter-secure-design.md +0 -0
  62. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/continue-rules/rafter-skill-review.md +0 -0
  63. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/cursor-rules/rafter-code-review.mdc +0 -0
  64. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/cursor-rules/rafter-secure-design.mdc +0 -0
  65. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/cursor-rules/rafter-skill-review.mdc +0 -0
  66. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/pre-commit-hook.sh +0 -0
  67. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/pre-push-hook.sh +0 -0
  68. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/skills/__init__.py +0 -0
  69. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/skills/rafter/__init__.py +0 -0
  70. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/skills/rafter/docs/backend.md +0 -0
  71. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/skills/rafter/docs/finding-triage.md +0 -0
  72. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/skills/rafter/docs/shift-left.md +0 -0
  73. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/skills/rafter-code-review/docs/api.md +0 -0
  74. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/skills/rafter-code-review/docs/asvs.md +0 -0
  75. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/skills/rafter-code-review/docs/cwe-top25.md +0 -0
  76. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/skills/rafter-code-review/docs/investigation-playbook.md +0 -0
  77. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/skills/rafter-code-review/docs/llm.md +0 -0
  78. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/skills/rafter-code-review/docs/web-app.md +0 -0
  79. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/skills/rafter-secure-design/docs/api-design.md +0 -0
  80. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/skills/rafter-secure-design/docs/auth.md +0 -0
  81. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/skills/rafter-secure-design/docs/data-storage.md +0 -0
  82. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/skills/rafter-secure-design/docs/dependencies.md +0 -0
  83. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/skills/rafter-secure-design/docs/deployment.md +0 -0
  84. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/skills/rafter-secure-design/docs/ingestion.md +0 -0
  85. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/skills/rafter-secure-design/docs/standards-pointers.md +0 -0
  86. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/skills/rafter-secure-design/docs/threat-modeling.md +0 -0
  87. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/skills/rafter-skill-review/docs/authorship-provenance.md +0 -0
  88. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/skills/rafter-skill-review/docs/changelog-review.md +0 -0
  89. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/skills/rafter-skill-review/docs/data-practices.md +0 -0
  90. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/skills/rafter-skill-review/docs/malware-indicators.md +0 -0
  91. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/skills/rafter-skill-review/docs/prompt-injection.md +0 -0
  92. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/skills/rafter-skill-review/docs/telemetry.md +0 -0
  93. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/windsurf-rules/rafter-code-review.md +0 -0
  94. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/windsurf-rules/rafter-secure-design.md +0 -0
  95. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/resources/windsurf-rules/rafter-skill-review.md +0 -0
  96. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/scanners/__init__.py +0 -0
  97. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/scanners/git_diff_scan.py +0 -0
  98. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/scanners/skill_scanner.py +0 -0
  99. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/utils/__init__.py +0 -0
  100. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/utils/binary_manager.py +0 -0
  101. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/utils/formatter.py +0 -0
  102. {rafter_cli-0.10.6 → rafter_cli-0.11.2}/rafter_cli/utils/skill_manager.py +0 -0
@@ -1,14 +1,13 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rafter-cli
3
- Version: 0.10.6
3
+ Version: 0.11.2
4
4
  Summary: Rafter CLI — the default security agent for AI workflows. Free for individuals and open source.
5
5
  License: MIT
6
6
  Author: Rafter Team
7
7
  Author-email: hello@rafter.so
8
- Requires-Python: >=3.10,<4.0
8
+ Requires-Python: >=3.11,<4.0
9
9
  Classifier: License :: OSI Approved :: MIT License
10
10
  Classifier: Programming Language :: Python :: 3
11
- Classifier: Programming Language :: Python :: 3.10
12
11
  Classifier: Programming Language :: Python :: 3.11
13
12
  Classifier: Programming Language :: Python :: 3.12
14
13
  Classifier: Programming Language :: Python :: 3.13
@@ -21,7 +20,7 @@ Requires-Dist: python-dotenv (>=1.2.2,<2.0.0)
21
20
  Requires-Dist: pyyaml (>=6.0.1,<7.0.0)
22
21
  Requires-Dist: requests (>=2.33.0,<3.0.0)
23
22
  Requires-Dist: rich (>=13.7.1,<14.0.0)
24
- Requires-Dist: typer (>=0.15.0,<0.16.0)
23
+ Requires-Dist: typer (>=0.16)
25
24
  Requires-Dist: urllib3 (>=2.7.0,<3)
26
25
  Requires-Dist: watchdog (>=4.0.0,<5.0.0)
27
26
  Description-Content-Type: text/markdown
@@ -1,14 +1,16 @@
1
1
  [tool.poetry]
2
2
  name = "rafter-cli"
3
- version = "0.10.6"
3
+ version = "0.11.2"
4
4
  description = "Rafter CLI — the default security agent for AI workflows. Free for individuals and open source."
5
5
  authors = ["Rafter Team <hello@rafter.so>"]
6
6
  license = "MIT"
7
7
  readme = "README.md"
8
8
 
9
9
  [tool.poetry.dependencies]
10
- python = ">=3.10,<4.0"
11
- typer = "^0.15.0"
10
+ python = ">=3.11,<4.0"
11
+ # typer >=0.16 supports click 8.2+. The old ^0.15 floor capped click <8.2, so a
12
+ # shared venv that pulled click 8.2+ broke --help (Parameter.make_metavar(ctx)).
13
+ typer = ">=0.16"
12
14
  click = ">=8.0.0,<9.0.0"
13
15
  rich = "^13.7.1"
14
16
  python-dotenv = "^1.2.2"