gitpr-cli 1.4.0__tar.gz → 1.4.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 (232) hide show
  1. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/PKG-INFO +76 -70
  2. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/README.md +75 -69
  3. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/gitpr_cli.egg-info/PKG-INFO +76 -70
  4. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/gitpr_cli.egg-info/SOURCES.txt +14 -0
  5. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/application/use_cases/generate_pr_explanation.py +13 -4
  6. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/application/use_cases/generate_test_file.py +28 -8
  7. gitpr_cli-1.4.2/src/application/use_cases/publish_pull_request.py +270 -0
  8. gitpr_cli-1.4.2/src/application/use_cases/run_check.py +446 -0
  9. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/cache.py +12 -2
  10. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/core.py +21 -0
  11. gitpr_cli-1.4.2/src/domain/check/__init__.py +31 -0
  12. gitpr_cli-1.4.2/src/domain/check/check_config.py +122 -0
  13. gitpr_cli-1.4.2/src/domain/check/check_output.py +112 -0
  14. gitpr_cli-1.4.2/src/domain/check/check_types.py +165 -0
  15. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/domain/pr/explain_section_builder.py +55 -26
  16. gitpr_cli-1.4.2/src/infrastructure/ci/__init__.py +11 -0
  17. gitpr_cli-1.4.2/src/infrastructure/ci/junit_builder.py +102 -0
  18. gitpr_cli-1.4.2/src/infrastructure/ci/masking.py +65 -0
  19. gitpr_cli-1.4.2/src/infrastructure/ci/sarif_builder.py +152 -0
  20. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/issue_engine.py +6 -1
  21. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/main.py +190 -37
  22. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/mcp_server.py +312 -5
  23. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/ui/pr_publish_app.py +58 -8
  24. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/updater.py +2 -2
  25. gitpr_cli-1.4.2/tests/test_check_cli.py +118 -0
  26. gitpr_cli-1.4.2/tests/test_diff_failure_cli.py +46 -0
  27. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_explain_command.py +23 -3
  28. gitpr_cli-1.4.2/tests/test_full_diff_encoding.py +83 -0
  29. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_mcp_server.py +179 -5
  30. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_pr_publish_app.py +242 -0
  31. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_skill_context.py +23 -0
  32. gitpr_cli-1.4.2/tests/test_skill_templates.py +36 -0
  33. gitpr_cli-1.4.2/tests/test_tests_command.py +97 -0
  34. gitpr_cli-1.4.0/tests/test_tests_command.py +0 -45
  35. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/LICENSE +0 -0
  36. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/gitpr_cli.egg-info/dependency_links.txt +0 -0
  37. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/gitpr_cli.egg-info/entry_points.txt +0 -0
  38. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/gitpr_cli.egg-info/requires.txt +0 -0
  39. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/gitpr_cli.egg-info/top_level.txt +0 -0
  40. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/pyproject.toml +0 -0
  41. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/setup.cfg +0 -0
  42. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/__init__.py +0 -0
  43. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/ai_providers.py +0 -0
  44. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/application/__init__.py +0 -0
  45. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/application/use_cases/__init__.py +0 -0
  46. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/application/use_cases/activate_policy_pack.py +0 -0
  47. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/application/use_cases/baseline_gate.py +0 -0
  48. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/application/use_cases/baseline_summary.py +0 -0
  49. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/application/use_cases/calculate_risk.py +0 -0
  50. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/application/use_cases/compare_against_baseline.py +0 -0
  51. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/application/use_cases/create_baseline.py +0 -0
  52. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/application/use_cases/generate_mentor_explanation.py +0 -0
  53. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/application/use_cases/install_policy_pack.py +0 -0
  54. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/application/use_cases/resolve_effective_policy.py +0 -0
  55. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/application/use_cases/suppress_finding.py +0 -0
  56. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/application/use_cases/validate_policy_pack.py +0 -0
  57. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/blame_engine.py +0 -0
  58. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/branding/__init__.py +0 -0
  59. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/branding/badge_builder.py +0 -0
  60. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/branding/badge_data.py +0 -0
  61. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/changelog_builder.py +0 -0
  62. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/chat_memory.py +0 -0
  63. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/commit_classifier.py +0 -0
  64. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/config.py +0 -0
  65. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/config_schema.py +0 -0
  66. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/demo/__init__.py +0 -0
  67. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/demo/demo_runner.py +0 -0
  68. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/demo/fake_ai_provider.py +0 -0
  69. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/demo/scenarios/__init__.py +0 -0
  70. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/demo/scenarios/laravel_bug_fix.py +0 -0
  71. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/demo/scenarios/security_issue.py +0 -0
  72. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/diff_parser.py +0 -0
  73. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/doc_links.py +0 -0
  74. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/domain/baseline/__init__.py +0 -0
  75. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/domain/baseline/baseline_comparator.py +0 -0
  76. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/domain/baseline/baseline_fingerprint.py +0 -0
  77. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/domain/baseline/baseline_manifest.py +0 -0
  78. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/domain/baseline/baseline_types.py +0 -0
  79. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/domain/baseline/suppression_policy.py +0 -0
  80. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/domain/finding/__init__.py +0 -0
  81. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/domain/finding/finding_types.py +0 -0
  82. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/domain/linter/__init__.py +0 -0
  83. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/domain/linter/sast_finding_mapper.py +0 -0
  84. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/domain/mentor/__init__.py +0 -0
  85. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/domain/mentor/mentor_explanation_builder.py +0 -0
  86. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/domain/policy/__init__.py +0 -0
  87. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/domain/policy/policy_checksum.py +0 -0
  88. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/domain/policy/policy_compatibility.py +0 -0
  89. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/domain/policy/policy_manifest.py +0 -0
  90. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/domain/policy/policy_resolver.py +0 -0
  91. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/domain/policy/policy_types.py +0 -0
  92. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/domain/pr/__init__.py +0 -0
  93. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/domain/risk/__init__.py +0 -0
  94. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/domain/risk/risk_calculator.py +0 -0
  95. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/domain/risk/risk_explanation.py +0 -0
  96. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/domain/risk/risk_rules.py +0 -0
  97. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/domain/risk/risk_types.py +0 -0
  98. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/domain/tests_generation/__init__.py +0 -0
  99. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/domain/tests_generation/framework_detector.py +0 -0
  100. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/domain/tests_generation/test_content_types.py +0 -0
  101. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/domain/tests_generation/test_scaffold_builder.py +0 -0
  102. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/fix/__init__.py +0 -0
  103. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/fix/apply_fix.py +0 -0
  104. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/fix/fix_history.py +0 -0
  105. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/fix/patch_applier.py +0 -0
  106. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/fix/patch_extractor.py +0 -0
  107. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/fix/patch_provenance.py +0 -0
  108. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/fix/patch_safety_classifier.py +0 -0
  109. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/fix/rollback_fix.py +0 -0
  110. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/github_api.py +0 -0
  111. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/i18n.py +0 -0
  112. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/infrastructure/__init__.py +0 -0
  113. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/infrastructure/baseline/__init__.py +0 -0
  114. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/infrastructure/baseline/local_baseline_repository.py +0 -0
  115. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/infrastructure/git/__init__.py +0 -0
  116. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/infrastructure/git/identity.py +0 -0
  117. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/infrastructure/git/patch_applier.py +0 -0
  118. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/infrastructure/git/risk_history_reader.py +0 -0
  119. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/infrastructure/git/selective_stager.py +0 -0
  120. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/infrastructure/git/test_matcher.py +0 -0
  121. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/infrastructure/linter/external/__init__.py +0 -0
  122. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/infrastructure/linter/external/bandit_bridge.py +0 -0
  123. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/infrastructure/linter/external/base_bridge.py +0 -0
  124. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/infrastructure/linter/external/gitleaks_bridge.py +0 -0
  125. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/infrastructure/linter/external/semgrep_bridge.py +0 -0
  126. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/infrastructure/policy/__init__.py +0 -0
  127. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/infrastructure/policy/local_policy_repository.py +0 -0
  128. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/infrastructure/policy/policy_pack_loader.py +0 -0
  129. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/infrastructure/scm/__init__.py +0 -0
  130. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/infrastructure/scm/azure_devops_provider.py +0 -0
  131. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/infrastructure/scm/base.py +0 -0
  132. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/infrastructure/scm/bitbucket_provider.py +0 -0
  133. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/infrastructure/scm/factory.py +0 -0
  134. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/infrastructure/scm/github_provider.py +0 -0
  135. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/infrastructure/scm/gitlab_provider.py +0 -0
  136. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/infrastructure/scm/web_links.py +0 -0
  137. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/ledger.py +0 -0
  138. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/linter_engine.py +0 -0
  139. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/linter_wizard.py +0 -0
  140. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/metrics.py +0 -0
  141. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/net.py +0 -0
  142. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/policy_packs/laravel-quality/CHANGELOG.md +0 -0
  143. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/policy_packs/laravel-quality/README.md +0 -0
  144. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/policy_packs/laravel-quality/linter.yml +0 -0
  145. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/policy_packs/laravel-quality/policy.yml +0 -0
  146. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/policy_packs/node-quality/README.md +0 -0
  147. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/policy_packs/node-quality/linter.yml +0 -0
  148. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/policy_packs/node-quality/policy.yml +0 -0
  149. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/policy_packs/php-security/README.md +0 -0
  150. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/policy_packs/php-security/linter.yml +0 -0
  151. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/policy_packs/php-security/policy.yml +0 -0
  152. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/policy_packs/vue-quality/README.md +0 -0
  153. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/policy_packs/vue-quality/linter.yml +0 -0
  154. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/policy_packs/vue-quality/policy.yml +0 -0
  155. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/release_engine.py +0 -0
  156. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/review/__init__.py +0 -0
  157. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/review/diff_normalizer.py +0 -0
  158. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/review/diff_source.py +0 -0
  159. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/review/remote_pr.py +0 -0
  160. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/review/render.py +0 -0
  161. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/reviewer_resolution.py +0 -0
  162. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/reviewer_suggestion.py +0 -0
  163. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/security.py +0 -0
  164. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/security_ruleset.py +0 -0
  165. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/spinner.py +0 -0
  166. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/split/__init__.py +0 -0
  167. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/split/apply_split_plan.py +0 -0
  168. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/split/generate_split_plan.py +0 -0
  169. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/split/hunk_grouper.py +0 -0
  170. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/split/hunk_parser.py +0 -0
  171. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/split/split_plan.py +0 -0
  172. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/suggest_reviewers.py +0 -0
  173. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/tui_issue.py +0 -0
  174. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/ui/__init__.py +0 -0
  175. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/ui/chat_app.py +0 -0
  176. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/ui/config_app.py +0 -0
  177. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/ui/demo/__init__.py +0 -0
  178. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/ui/demo/demo_app.py +0 -0
  179. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/ui/demo/demo_help_screen.py +0 -0
  180. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/ui/demo/demo_screens.py +0 -0
  181. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/ui/help_screen.py +0 -0
  182. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/ui/issue_app.py +0 -0
  183. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/ui/linter_app.py +0 -0
  184. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/ui/metrics_app.py +0 -0
  185. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/ui/metrics_migration_app.py +0 -0
  186. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/ui/pr_publish_help.py +0 -0
  187. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/usage_log.py +0 -0
  188. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/src/version_bump.py +0 -0
  189. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_baseline_cli.py +0 -0
  190. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_blame_engine_ranges.py +0 -0
  191. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_blame_metrics.py +0 -0
  192. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_changelog_builder.py +0 -0
  193. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_chat_backend.py +0 -0
  194. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_commit_classifier.py +0 -0
  195. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_config_app.py +0 -0
  196. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_config_cli.py +0 -0
  197. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_config_schema.py +0 -0
  198. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_config_store.py +0 -0
  199. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_config_suggest_reviewers.py +0 -0
  200. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_config_validation.py +0 -0
  201. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_core.py +0 -0
  202. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_diff_parser.py +0 -0
  203. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_external_linters.py +0 -0
  204. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_i18n.py +0 -0
  205. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_install_wizard.py +0 -0
  206. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_issue_engine.py +0 -0
  207. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_linter_metrics.py +0 -0
  208. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_linter_presets.py +0 -0
  209. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_main_suggest_reviewers.py +0 -0
  210. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_mcp_prompts.py +0 -0
  211. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_mcp_server_e2e.py +0 -0
  212. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_mentor_cli.py +0 -0
  213. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_metrics.py +0 -0
  214. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_net_timeouts.py +0 -0
  215. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_plugins.py +0 -0
  216. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_policy_cli.py +0 -0
  217. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_pr_publish_linter_modal.py +0 -0
  218. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_pre_save.py +0 -0
  219. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_release_cli.py +0 -0
  220. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_release_engine.py +0 -0
  221. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_reviewer_resolution.py +0 -0
  222. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_reviewer_suggestion.py +0 -0
  223. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_risk_cli.py +0 -0
  224. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_security_ruleset.py +0 -0
  225. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_skill_command.py +0 -0
  226. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_smart_excludes.py +0 -0
  227. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_suggest_reviewers.py +0 -0
  228. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_thinking_words.py +0 -0
  229. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_updater.py +0 -0
  230. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_usage_log.py +0 -0
  231. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_version_bump.py +0 -0
  232. {gitpr_cli-1.4.0 → gitpr_cli-1.4.2}/tests/test_web_links.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gitpr-cli
3
- Version: 1.4.0
3
+ Version: 1.4.2
4
4
  Summary: AI-powered PR automation, commit messages, and code review (Gemini, DeepSeek, and Ollama)
5
5
  Author-email: Natan Fiuza <contato@natanfiuza.dev.br>
6
6
  Requires-Python: >=3.10
@@ -54,7 +54,7 @@ gitpr demo
54
54
  ```
55
55
 
56
56
  > **Guided Tour:** Six screens walking through a real example — the diff, the commit message, the code review and the pull request description — with the answers recorded once and replayed. Add `--no-tui` for plain text, `--scenario security-issue` for the other example.
57
- > 📖 **Full Documentation:** [https://gitpr.natanfiuza.dev.br/docs/demo?lang=en_us](https://gitpr.natanfiuza.dev.br/docs/demo?lang=en_us)
57
+ > 📖 **Full Documentation:** [https://gitpr.natanfiuza.dev.br/docs/demo](https://gitpr.natanfiuza.dev.br/docs/demo)
58
58
 
59
59
  ### **3. Initializing in a Repository**
60
60
 
@@ -65,7 +65,7 @@ gitpr --install
65
65
  ```
66
66
 
67
67
  > **Guided Setup:** Guided configuration that downloads skill templates, installs Git Hooks, configures MCP for your editors, and verifies the API key for your AI provider.
68
- > 📖 **Full Documentation:** [https://gitpr.natanfiuza.dev.br/docs/install-wizard?lang=en_us](https://gitpr.natanfiuza.dev.br/docs/install-wizard?lang=en_us)
68
+ > 📖 **Full Documentation:** [https://gitpr.natanfiuza.dev.br/docs/install-wizard](https://gitpr.natanfiuza.dev.br/docs/install-wizard)
69
69
 
70
70
  ## **🛠️ Technologies and Libraries Used**
71
71
 
@@ -123,7 +123,7 @@ Pytest will automatically detect files inside the `tests/` folder and display a
123
123
  ```
124
124
  *Note: Your configuration will be securely saved in the `~/.gitpr/.env` file.*
125
125
 
126
- *Note (updates): GitPR is distributed exclusively through PyPI. On every run it checks whether a newer version has been published, and when one exists it **blocks the execution** and asks you to run `pip install --upgrade gitpr-cli`. See [auto-update.md](docs/auto-update.md).*
126
+ *Note (updates): GitPR is distributed exclusively through PyPI. On every run it checks whether a newer version has been published, and when one exists it **blocks the execution** and asks you to run `pip install --upgrade gitpr-cli`. See [gitpr.natanfiuza.dev.br/docs/auto-update](https://gitpr.natanfiuza.dev.br/docs/auto-update).*
127
127
 
128
128
  > **🔒 Security Note:** GitPR CLI uses symmetric encryption (Fernet). Your API key is stored as a hash in the `.env` file, and the master key for decryption is automatically generated in `~/.gitpr/secret.key`. **Never share your secret.key file.**
129
129
 
@@ -157,19 +157,20 @@ The tool will sync with the remote (`git fetch`), compare your changes with the
157
157
  ### **Advanced Options and Commands**
158
158
  You can pass the following *flags* for specific actions:
159
159
 
160
- * `gitpr demo`: **Guided tour** over an example diff that ships with the tool — the commit message, the code review and the pull request description, produced by the real pipeline on a recorded example. Needs no API key, no Git repository and no connection, which makes it the first thing to run on a new machine. Use `--scenario <name>` for another example, `--lang <code>` for another language, `--no-tui` for plain text. 📖 [Full docs](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/demo.md)
161
- * `gitpr badge`: **Adoption badge for your README.** Prints the Markdown snippet — `--readme` prints only the line, `--style` picks the shields.io style (`flat`, `flat-square`, `for-the-badge`). Nothing is written to your README. Published pull requests carry a badge of their own, with the linter counts of the diff; `GITPR_BADGE=false` turns it off. 📖 [Full docs](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/badge.md)
162
- * `gitpr config`: **Interactive configuration screen.** Opens a master-detail TUI to view, edit, search, and validate all settings stored in `~/.gitpr/.env` (with secret encryption and live validation). 📖 [Full docs](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/config-tui.md)
163
- * `gitpr release`: **Changelog and Release Notes generator.** Scans commits since the previous version, categorizes them according to Conventional Commits, suggests a semantic version bump, generates an AI executive summary, and optionally publishes the release to your forge. 📖 [Full docs](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/release-notes.md)
164
- * `gitpr fix [<finding_id>]`: **Review findings patch application & rollback.** Turns findings from the last code review (`gitpr -r`) into safe, reviewable unified diffs. Includes safety classification (`safe`, `review_required`, `experimental`), `--all-safe` batching, `--force` validation, and `--rollback <patch-id>`. 📖 [Full docs](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/fix-command.md)
165
- * `gitpr split`: **Atomic commit splitter.** Reads uncommitted working tree changes, groups hunks by intent using AI, and proposes ordered atomic commits without altering your working tree files (`--dry-run`, `--apply`). 📖 [Full docs](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/split-command.md)
166
- * `gitpr tests generate`: **AI test suite generation & scaffolding.** Analyzes your diff, a target file (`--file`), or a review finding (`--finding`) and generates complete, executable test suites (supporting pytest, jest, vitest, phpunit, pest). Use `--apply` to write to disk.
167
- * `gitpr mentor [<finding_id>]`: **Junior Mentor Pedagogical Explanations.** Breaks down code review findings with educational context ("why this matters", real-world analogy, guided questions, and key takeaway) to foster growth and mentor developers. Works standalone over the latest review findings or with `--finding <id>`. 📖 [Full docs](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/mentor-mode.md)
168
- * `gitpr explain`: **Reviewer Guide generator.** Generates a concise summary explaining what changed, why it changed, where reviewers should focus, and potential regression risks. 📖 [Full docs](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/pull-request-publication.md)
169
- * `gitpr review-pr <pr_number>`: **Remote Pull Request review.** Fetches and reviews an open pull request directly from the forge (GitHub, GitLab, Bitbucket, Azure DevOps) without checking out the branch locally. Use `--post-comment` to post the review directly to the PR. 📖 [Full docs](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/review-pr.md)
170
- * `gitpr risk`: **Local Risk Scoring for Diffs.** Computes a deterministic, explainable risk score (0.0 to 100.0) and badge (`LOW 🟢`, `MEDIUM 🟡`, `HIGH 🟠`, `CRITICAL 🔴`) using local repository signals (critical paths, missing tests, migrations, bug history, and static findings). Use `--file <path>`, `--format json`, `--base <ref>`, or `--no-history`. Automatically included in code reviews (`GITPR_RISK_INCLUDE_IN_REVIEW=true`). 📖 [Full docs](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/risk-scoring.md)
171
- * `gitpr policy`: **Shared quality policy for the repository.** Adopts a versioned YAML **Policy Pack** — review skills, linter rules, severity overrides, critical paths, risk weights and PR/commit conventions — and records the choice in `.gitpr/policy.lock.yml`, so the review, the linter and the risk score all run under the same policy, with a checksum per pack. `list`, `validate`, `show`, `use`, `init`, `install`, `off`. 📖 [Full docs](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/policy-packs.md)
172
- * `gitpr baseline`: **Baseline and auditable suppressions for legacy adoption.** Records the findings a repository already has in `.gitpr/baseline.json`, so a run classifies every finding as `new`, `existing`, `resolved`, `ignored` or `accepted_debt` and **only `new` blocks**. Every suppression carries a reason, and accepted debt carries an owner and an optional deadline. `create`, `show`, `validate`, `update`, `suppress`, `unsuppress`. 📖 [Full docs](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/baseline-suppressions.md)
160
+ * `gitpr demo`: **Guided tour** over an example diff that ships with the tool — the commit message, the code review and the pull request description, produced by the real pipeline on a recorded example. Needs no API key, no Git repository and no connection, which makes it the first thing to run on a new machine. Use `--scenario <name>` for another example, `--lang <code>` for another language, `--no-tui` for plain text. 📖 [Full docs](https://gitpr.natanfiuza.dev.br/docs/demo)
161
+ * `gitpr badge`: **Adoption badge for your README.** Prints the Markdown snippet — `--readme` prints only the line, `--style` picks the shields.io style (`flat`, `flat-square`, `for-the-badge`). Nothing is written to your README. Published pull requests carry a badge of their own, with the linter counts of the diff; `GITPR_BADGE=false` turns it off. 📖 [Full docs](https://gitpr.natanfiuza.dev.br/docs/badge)
162
+ * `gitpr config`: **Interactive configuration screen.** Opens a master-detail TUI to view, edit, search, and validate all settings stored in `~/.gitpr/.env` (with secret encryption and live validation). 📖 [Full docs](https://gitpr.natanfiuza.dev.br/docs/config-tui)
163
+ * `gitpr release`: **Changelog and Release Notes generator.** Scans commits since the previous version, categorizes them according to Conventional Commits, suggests a semantic version bump, generates an AI executive summary, and optionally publishes the release to your forge. 📖 [Full docs](https://gitpr.natanfiuza.dev.br/docs/release-notes)
164
+ * `gitpr fix [<finding_id>]`: **Review findings patch application & rollback.** Turns findings from the last code review (`gitpr -r`) into safe, reviewable unified diffs. Includes safety classification (`safe`, `review_required`, `experimental`), `--all-safe` batching, `--force` validation, and `--rollback <patch-id>`. 📖 [Full docs](https://gitpr.natanfiuza.dev.br/docs/fix-command)
165
+ * `gitpr split`: **Atomic commit splitter.** Reads uncommitted working tree changes, groups hunks by intent using AI, and proposes ordered atomic commits without altering your working tree files (`--dry-run`, `--apply`). 📖 [Full docs](https://gitpr.natanfiuza.dev.br/docs/split-command)
166
+ * `gitpr tests generate`: **AI test suite generation & scaffolding.** Analyzes your diff, a target file (`--file`), or a review finding (`--finding`) and generates complete, executable test suites (supporting pytest, jest, vitest, phpunit, pest). Use `--apply` to write to disk. 📖 [Full docs](https://gitpr.natanfiuza.dev.br/docs/tests-generate)
167
+ * `gitpr mentor [<finding_id>]`: **Junior Mentor Pedagogical Explanations.** Breaks down code review findings with educational context ("why this matters", real-world analogy, guided questions, and key takeaway) to foster growth and mentor developers. Works standalone over the latest review findings or with `--finding <id>`. 📖 [Full docs](https://gitpr.natanfiuza.dev.br/docs/mentor-mode)
168
+ * `gitpr explain`: **Reviewer Guide generator.** Generates a concise summary explaining what changed, why it changed, where reviewers should focus, and potential regression risks. 📖 [Full docs](https://gitpr.natanfiuza.dev.br/docs/explain-pr)
169
+ * `gitpr review-pr <pr_number>`: **Remote Pull Request review.** Fetches and reviews an open pull request directly from the forge (GitHub, GitLab, Bitbucket, Azure DevOps) without checking out the branch locally. Use `--post-comment` to post the review directly to the PR. 📖 [Full docs](https://gitpr.natanfiuza.dev.br/docs/review-pr)
170
+ * `gitpr risk`: **Local Risk Scoring for Diffs.** Computes a deterministic, explainable risk score (0.0 to 100.0) and badge (`LOW 🟢`, `MEDIUM 🟡`, `HIGH 🟠`, `CRITICAL 🔴`) using local repository signals (critical paths, missing tests, migrations, bug history, and static findings). Use `--file <path>`, `--format json`, `--base <ref>`, or `--no-history`. Automatically included in code reviews (`GITPR_RISK_INCLUDE_IN_REVIEW=true`). 📖 [Full docs](https://gitpr.natanfiuza.dev.br/docs/risk-scoring)
171
+ * `gitpr policy`: **Shared quality policy for the repository.** Adopts a versioned YAML **Policy Pack** — review skills, linter rules, severity overrides, critical paths, risk weights and PR/commit conventions — and records the choice in `.gitpr/policy.lock.yml`, so the review, the linter and the risk score all run under the same policy, with a checksum per pack. `list`, `validate`, `show`, `use`, `init`, `install`, `off`. 📖 [Full docs](https://gitpr.natanfiuza.dev.br/docs/policy-packs)
172
+ * `gitpr baseline`: **Baseline and auditable suppressions for legacy adoption.** Records the findings a repository already has in `.gitpr/baseline.json`, so a run classifies every finding as `new`, `existing`, `resolved`, `ignored` or `accepted_debt` and **only `new` blocks**. Every suppression carries a reason, and accepted debt carries an owner and an optional deadline. `create`, `show`, `validate`, `update`, `suppress`, `unsuppress`. 📖 [Full docs](https://gitpr.natanfiuza.dev.br/docs/baseline-suppressions)
173
+ * `gitpr check`: **Unified CI check command.** Consolidates static linter, secret scanning, external bridges (Semgrep, Gitleaks, Bandit), optional AI code review, risk scoring, and baseline into a single CI pipeline command. Emits machine-readable artifacts in **SARIF 2.1.0**, **JSON**, or **JUnit XML** with deterministic exit codes (`0`, `1`, `2`). 📖 [Full docs](https://gitpr.natanfiuza.dev.br/docs/check-ci)
173
174
  * `-c` or `--commit`: Runs a local `git diff` and displays **only the suggested commit message**.
174
175
  * `-r` or `--review`: Performs a detailed **Code Review** of local changes. Use with `--mentor` to append pedagogical mentoring explanations for each finding.
175
176
  * `-f` or `--fullreview`: Performs a **Full Code Review** analyzing all changes since the remote branch. Use with `--mentor` to append pedagogical mentoring explanations.
@@ -178,14 +179,14 @@ You can pass the following *flags* for specific actions:
178
179
  * `--lang <code>`: Forces the interface language for this execution (e.g.: `en_us`, `pt_br`). Overrides `GITPR_LANG` in `.env` without persisting the change.
179
180
  * `-ch` or `--chat`: Opens the **Interactive Pair Programming Chat** — a TUI terminal where the AI sees your current diff and maintains a contextual conversation. Features memory per branch, slash commands (`/explain`, `/tests`, `/optimize`, `/clear`), auto-patching (F5), diff refresh (F2), and session export (F6).
180
181
  * `-l` or `--linter`: Runs **only the local static linter** (no AI calls). Ideal for use in CI/CD pipelines to block non-compliant code.
181
- * `--status`: Lists uncommitted file changes categorized as **new**, **modified**, and **deleted** — fast, no AI, no network. 📖 [Full docs](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/git-status.md)
182
- * `--no-unstaged-check`: Skips the unstaged files verification before AI processing for a single invocation. Equivalent to `GITPR_SKIP_UNSTAGED_CHECK=true` for one run. 📖 [Full docs](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/git-status.md)
183
- * `--no-suggest-reviewers`: Disables the suggested reviewers computation in the interactive PR publisher (default ON). 📖 [Full docs](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/suggested-reviewers.md)
184
- * `--explain`: Includes the Reviewer Guide section ("Explain my PR") in the Pull Request description.
185
- * `--init`: **Interactive SCM forge wizard.** Detects the repository's forge (GitHub, GitLab, Bitbucket Cloud, Azure DevOps), configures the provider, and stores the access token encrypted. 📖 [Full docs](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/scm-multiforge.md)
186
- * `--linter-setup`: **Interactive external linter wizard.** Guides you through installing and configuring external linters (ESLint, PHPCS, Stylelint) as a Checkstyle XML bridge. 📖 [Full docs](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/linter-regras-customizadas.md)
182
+ * `--status`: Lists uncommitted file changes categorized as **new**, **modified**, and **deleted** — fast, no AI, no network. 📖 [Full docs](https://gitpr.natanfiuza.dev.br/docs/git-status)
183
+ * `--no-unstaged-check`: Skips the unstaged files verification before AI processing for a single invocation. Equivalent to `GITPR_SKIP_UNSTAGED_CHECK=true` for one run. 📖 [Full docs](https://gitpr.natanfiuza.dev.br/docs/git-status)
184
+ * `--no-suggest-reviewers`: Disables the suggested reviewers computation in the interactive PR publisher (default ON). 📖 [Full docs](https://gitpr.natanfiuza.dev.br/docs/suggested-reviewers)
185
+ * `--explain`: Includes the Reviewer Guide section ("Explain my PR") in the Pull Request description. 📖 [Full docs](https://gitpr.natanfiuza.dev.br/docs/explain-pr)
186
+ * `--init`: **Interactive SCM forge wizard.** Detects the repository's forge (GitHub, GitLab, Bitbucket Cloud, Azure DevOps), configures the provider, and stores the access token encrypted. 📖 [Full docs](https://gitpr.natanfiuza.dev.br/docs/scm-multiforge)
187
+ * `--linter-setup`: **Interactive external linter wizard.** Guides you through installing and configuring external linters (ESLint, PHPCS, Stylelint) as a Checkstyle XML bridge. 📖 [Full docs](https://gitpr.natanfiuza.dev.br/docs/linter-regras-customizadas)
187
188
  * `--mcp`: Starts GitPR as an **MCP server** (Model Context Protocol) on stdio transport. Enables integration with VS Code, Cursor, Claude Desktop, and other MCP-compatible editors — exposing all GitPR AI capabilities as 16 annotated tools, 19 resources, and 7 pre-built prompts directly inside your IDE. Also available as the standalone `gitpr-mcp` command.
188
- * `--plugins`: Lists all **globally installed plugins** — custom linter packs from `~/.gitpr/plugins/linter/` and MCP prompt templates from `~/.gitpr/plugins/prompts/`. These plugins apply across all your projects without duplication. 📖 [Full docs](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/plugins-system.md)
189
+ * `--plugins`: Lists all **globally installed plugins** — custom linter packs from `~/.gitpr/plugins/linter/` and MCP prompt templates from `~/.gitpr/plugins/prompts/`. These plugins apply across all your projects without duplication. 📖 [Full docs](https://gitpr.natanfiuza.dev.br/docs/plugins-system)
189
190
  * `--install`: **Interactive Setup Wizard.** Runs a guided 4-step setup: downloads skill templates, installs Git hooks, configures MCP for detected editors, and checks/requests your AI provider API key. Each step asks for confirmation before proceeding.
190
191
  * `-ih` or `--installhooks`: Automatically installs **local Git Hooks** (`pre-commit` and `prepare-commit-msg`) in your repository.
191
192
  * `-s` or `--skill`: Creates the AI context template files (`.gitpr.commit.md`, `.gitpr.pr.md`, `.gitpr.review.md`, `.gitpr.filereview.md`, `.gitpr.issue.md`, `.gitpr.blame.md`) and the Linter (`.gitpr.linter.yml`) inside `.gitpr/skill/`.
@@ -193,7 +194,7 @@ You can pass the following *flags* for specific actions:
193
194
  * **New Code Issue (`gitpr -is`):** Reads the current `git diff`. **Why use:** Ideal for quickly documenting the task you just finished programming, before committing.
194
195
  * **Epic/Release Issue (`gitpr -is -ht`):** Reads the full history of the current branch (Git Log + PR Cache). **Why use:** Ideal for generating consolidated documentation of an entire release or a large *feature* that took several days/commits to complete.
195
196
  * **Archaeological/Technical Debt Issue (`gitpr -is -b file:lines`):** Reads the timeline of a specific business rule. **Why use:** Ideal for documenting technical debt, explaining how a legacy code block evolved and why it needs to be refactored.
196
- * **PR Publisher (default):** Running `gitpr` generates the PR description with AI, saves the `.md` file to `.gitpr/reports/pr_desc/`, and opens an interactive terminal interface (TUI) to review, edit, and publish the Pull Request directly to GitHub, GitLab, Bitbucket, or Azure DevOps via REST API. Before generation, it checks for unstaged files, calculates suggested reviewers, and offers a modal to manage them. Use `--no-publish` to save only the PR file locally without opening the publisher, or `--no-edit` to auto-commit pending changes (with lint validation), auto-push, and publish immediately — handling existing PR updates, optional auto-merge, and clear error feedback when merge conflicts occur. Use `--base <branch>` to change the target branch. 📖 [Full docs](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/pull-request-publication.md)
197
+ * **PR Publisher (default):** Running `gitpr` generates the PR description with AI, saves the `.md` file to `.gitpr/reports/pr_desc/`, and opens an interactive terminal interface (TUI) to review, edit, and publish the Pull Request directly to GitHub, GitLab, Bitbucket, or Azure DevOps via REST API. Before generation, it checks for unstaged files, calculates suggested reviewers, and offers a modal to manage them. Use `--no-publish` to save only the PR file locally without opening the publisher, or `--no-edit` to auto-commit pending changes (with lint validation), auto-push, and publish immediately — handling existing PR updates, optional auto-merge, and clear error feedback when merge conflicts occur. Use `--base <branch>` to change the target branch. 📖 [Full docs](https://gitpr.natanfiuza.dev.br/docs/pull-request-publication)
197
198
  * `-h` or `--help`: Shows the general help with all options. Use together with another flag for **contextual help** (e.g.: `gitpr -h --issue`, `gitpr -h --linter`) with a direct link to the detailed documentation of each feature.
198
199
  * `-u` or `--update`: Checks the latest version of GitPR on PyPI and shows how to update it (Auto-Updater).
199
200
 
@@ -205,7 +206,7 @@ You can pass the following *flags* for specific actions:
205
206
 
206
207
  When your diff is too large for a single AI call (over ~90k estimated tokens), GitPR automatically splits it into batches by file, asks the AI for a technical summary of each part (Map), and unifies everything into the final commit message, review, or PR description (Reduce). No flags needed — it activates on demand and shows the progress in the console.
207
208
 
208
- 📚 Full documentation: [docs/map-reduce-diff.md](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/map-reduce-diff.md)
209
+ 📚 Full documentation: [gitpr.natanfiuza.dev.br/docs/map-reduce-diff](https://gitpr.natanfiuza.dev.br/docs/map-reduce-diff)
209
210
 
210
211
  ## 🛡️ Local Linter (Static Analysis & Security)
211
212
 
@@ -280,7 +281,7 @@ gitpr risk --format json # Output JSON for CI/CD pipelines
280
281
  gitpr risk --base main # Evaluate against specific git base ref
281
282
  ```
282
283
 
283
- 📖 **Full documentation:** [docs/risk-scoring.md](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/risk-scoring.md)
284
+ 📖 **Full documentation:** [gitpr.natanfiuza.dev.br/docs/risk-scoring](https://gitpr.natanfiuza.dev.br/docs/risk-scoring)
284
285
 
285
286
  ## 🧾 Adopting GitPR in a Legacy Repository (gitpr baseline)
286
287
 
@@ -308,7 +309,7 @@ Four variables in `~/.gitpr/.env`, also editable through `gitpr config` in the s
308
309
 
309
310
  Only a `new` error-level finding exits non-zero, and only `new` findings carry risk points — everything else reaches the risk report as zero-point evidence with its status. The baseline is never sent to the AI, and no entry stores code or a secret: the file is committed, so only a digest of the offending line is kept.
310
311
 
311
- 📖 **Full documentation:** [docs/baseline-suppressions.md](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/baseline-suppressions.md)
312
+ 📖 **Full documentation:** [gitpr.natanfiuza.dev.br/docs/baseline-suppressions](https://gitpr.natanfiuza.dev.br/docs/baseline-suppressions)
312
313
 
313
314
  ## 🤝 Co-Author Signature
314
315
 
@@ -320,7 +321,7 @@ Co-Authored-By: Gitpr-cli <gitpr@natanfiuza.dev.br>
320
321
 
321
322
  The trailer is appended programmatically (never by the AI) in all flows: console suggestion (`gitpr -c`), the `prepare-commit-msg` hook, auto-commit (`--no-edit`), the PR publication TUI, and the MCP `generate_commit_message` tool. It is idempotent — never duplicated when the message already contains it — and is hidden from the TUI edit screen, injected only when the commit is executed.
322
323
 
323
- 📖 **Full documentation:** [docs/commit-message-ia.md](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/commit-message-ia.md)
324
+ 📖 **Full documentation:** [gitpr.natanfiuza.dev.br/docs/commit-message-ia](https://gitpr.natanfiuza.dev.br/docs/commit-message-ia)
324
325
 
325
326
  ## 🏷️ Pull Request Badge
326
327
 
@@ -336,7 +337,7 @@ For your own README there is a static badge. `gitpr badge --readme` prints the l
336
337
 
337
338
  [![GitPR](https://img.shields.io/badge/GitPR-quality--checked-blue)](https://gitpr.natanfiuza.dev.br/)
338
339
 
339
- 📖 **Full documentation:** [docs/badge.md](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/badge.md)
340
+ 📖 **Full documentation:** [gitpr.natanfiuza.dev.br/docs/badge](https://gitpr.natanfiuza.dev.br/docs/badge)
340
341
 
341
342
  ## 🧠 Multi-Model Architecture (AI-Agnostic)
342
343
 
@@ -372,7 +373,7 @@ GitPR automatically detects your system language and displays messages in your n
372
373
 
373
374
  To force a specific language, set `GITPR_LANG=pt_br` or `GITPR_LANG=en` in `~/.gitpr/.env`.
374
375
 
375
- > 📖 **Full developer guide:** [docs/i18n_explanation.md](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/i18n_explanation.md) — architecture, usage patterns, circular import precautions, and how to add new languages.
376
+ > 📖 **Full developer guide:** [gitpr.natanfiuza.dev.br/docs/i18n_explanation](https://gitpr.natanfiuza.dev.br/docs/i18n_explanation) — architecture, usage patterns, circular import precautions, and how to add new languages.
376
377
 
377
378
  ## 🔄 Hook Scripts Versioning & Auto-Sync
378
379
 
@@ -430,7 +431,7 @@ gitpr-mcp --install auto # Auto-detect and install for all found
430
431
  The installer creates the config directory if needed, merges with any existing
431
432
  config (never overwrites other servers), and is safe to run multiple times.
432
433
 
433
- > Manual setup is also supported — see [docs/mcp-integration.md](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/mcp-integration.md)
434
+ > Manual setup is also supported — see [gitpr.natanfiuza.dev.br/docs/mcp-integration](https://gitpr.natanfiuza.dev.br/docs/mcp-integration)
434
435
  > for the JSON config format for each editor.
435
436
 
436
437
  Once configured, use natural language in your editor's AI chat:
@@ -458,6 +459,8 @@ Once configured, use natural language in your editor's AI chat:
458
459
  | `analyze_unstaged_diff` | Unstaged diff only (working tree vs index) |
459
460
  | `list_fix_candidates` | Fix candidates of the last review: patch, classification, id (read-only) |
460
461
  | `review_remote_pr` | AI review of a pull request already open on the forge, fetched by number (read-only) |
462
+ | `run_check` | Structured CI/Editor quality gate returning normalized findings and pass/fail status |
463
+ | `publish_pull_request` | Publish or update a Pull Request on the remote forge from title and body |
461
464
 
462
465
  ### Direct CLI Invocation
463
466
 
@@ -476,9 +479,11 @@ gitpr-mcp --tool analyze_blame --tool-args '{"file_path":"src/main.py","start_li
476
479
 
477
480
  This is useful for scripting, CI/CD pipelines, and one-off queries where you don't need a persistent MCP server. JSON output goes to stdout; all diagnostic messages go to stderr — safe for piping.
478
481
 
479
- 📖 **Full documentation:** [docs/mcp-integration.md](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/mcp-integration.md) — available in 5 languages (EN, PT-BR, PT-PT, ES, FR).
482
+ 📖 **Full documentation:** [gitpr.natanfiuza.dev.br/docs/mcp-integration](https://gitpr.natanfiuza.dev.br/docs/mcp-integration) — available in 5 languages (EN, PT-BR, PT-PT, ES, FR).
480
483
 
481
- > 💬 **MCP Prompts** — GitPR also exposes 7 pre-defined message templates (prompts) for common flows like "Review PR", "Generate Commit Message", and "Create Issue from Diff". See the [MCP Prompts guide](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/mcp-prompts.md) for the full list.
484
+ > 🧩 **Official VS Code & Cursor Extension** — Prefer native editor commands, SCM toolbar buttons, and inline `Problems` diagnostics? Install the thin-client extension in [`extensions/vscode/`](https://gitpr.natanfiuza.dev.br/docs/editor-extension), powered by `gitpr-mcp`.
485
+
486
+ > 💬 **MCP Prompts** — GitPR also exposes 7 pre-defined message templates (prompts) for common flows like "Review PR", "Generate Commit Message", and "Create Issue from Diff". See the [MCP Prompts guide](https://gitpr.natanfiuza.dev.br/docs/mcp-prompts) for the full list.
482
487
 
483
488
  ## 🎯 Smart Excludes (Token Optimization)
484
489
 
@@ -512,7 +517,7 @@ GitPR automatically removes non-code files from your `git diff` before sending t
512
517
 
513
518
  Add framework-specific build artifacts, generated folders, or any pattern that only applies to this project. The file is safe to commit — your team gets the same exclusions.
514
519
 
515
- > 📖 **Full documentation:** [docs/smart-excludes.md](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/smart-excludes.md) — available in 5 languages (EN, PT-BR, PT-PT, FR, ES).
520
+ > 📖 **Full documentation:** [gitpr.natanfiuza.dev.br/docs/smart-excludes](https://gitpr.natanfiuza.dev.br/docs/smart-excludes) — available in 5 languages (EN, PT-BR, PT-PT, FR, ES).
516
521
 
517
522
  ## 📁 Output Directory Structure
518
523
 
@@ -540,50 +545,51 @@ If you want to implement GitPR as an automated quality barrier in your team, che
540
545
 
541
546
  ### Chat & Interactive Features
542
547
 
543
- * [**🧠 Interactive Chat (Pair Programming)**](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/understanding_chat_functionality.md) — How to use the AI chat with memory, slash commands, auto-patch, and session export.
548
+ * [**🧠 Interactive Chat (Pair Programming)**](https://gitpr.natanfiuza.dev.br/docs/understanding_chat_functionality) — How to use the AI chat with memory, slash commands, auto-patch, and session export.
544
549
 
545
550
  ### DevOps & CI/CD
546
551
 
547
- * [**Local Git Hooks (Shift-Left)**](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/git-hooks-locais.md) — How to use `gitpr --installhooks` to create guardrails on the developer's machine and use AI to automatically write commit messages.
548
- * [**Hook Scripts Versioning & Auto-Sync**](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/hooks-versioning.md) — How the automatic versioning and i18n-aware synchronization system keeps your Git hooks up to date.
549
- * [**Customizable Static Linter**](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/linter-regras-customizadas.md) — How to create validation rules in `.gitpr.linter.yml`, bridge external linters (ESLint, PHPCS, Stylelint), and generate Markdown reports for CI/CD and pre-commit hooks.
550
- * [**CI/CD Integration (GitHub Actions)**](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/github-ci-linter.md) — How to run GitPR in the pipeline to block "Merge" of PRs with violations.
552
+ * [**Local Git Hooks (Shift-Left)**](https://gitpr.natanfiuza.dev.br/docs/git-hooks-locais) — How to use `gitpr --installhooks` to create guardrails on the developer's machine and use AI to automatically write commit messages.
553
+ * [**Hook Scripts Versioning & Auto-Sync**](https://gitpr.natanfiuza.dev.br/docs/hooks-versioning) — How the automatic versioning and i18n-aware synchronization system keeps your Git hooks up to date.
554
+ * [**Customizable Static Linter**](https://gitpr.natanfiuza.dev.br/docs/linter-regras-customizadas) — How to create validation rules in `.gitpr.linter.yml`, bridge external linters (ESLint, PHPCS, Stylelint), and generate Markdown reports for CI/CD and pre-commit hooks.
555
+ * [**CI/CD Integration (GitHub Actions)**](https://gitpr.natanfiuza.dev.br/docs/github-ci-linter) — How to run GitPR in the pipeline to block "Merge" of PRs with violations.
551
556
 
552
557
  ### Core Features
553
558
 
554
- * [**Guided Tour (gitpr demo)**](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/demo.md) — How the `gitpr demo` subcommand walks through the commit message, the code review and the pull request description over a recorded example, with no API key, no repository and no network.
555
- * [**Pull Request Badge**](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/badge.md) — What the badge GitPR attaches to published pull requests says, where it is attached, when it is left out, and how to print the static one for your own README.
556
- * [**Pull Request (Default Mode)**](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/pr-descricao-padrao.md) — Complete flow for generating PR descriptions without flags.
557
- * [**Pull Request Publisher TUI**](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/pull-request-publication.md) — How to review and publish Pull Requests directly to GitHub from the terminal.
558
- * [**AI Code Review**](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/code-review-ia.md) — Guide to review modes (`--review`, `--fullreview`), file auditing (`--input`) and remote pull request review (`gitpr review-pr`).
559
- * [**Remote Pull Request Review (gitpr review-pr)**](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/review-pr.md) — How the `gitpr review-pr` subcommand reviews a pull request that is already open on the forge, fetching its diff from the API without checking out its branch.
560
- * [**AI Commit Messages**](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/commit-message-ia.md) — How to generate messages in the Conventional Commits standard and integrate with Git Hooks.
561
- * [**Issue Generation and TUI Interface**](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/issue-tui-help.md) — How to use the terminal graphical interface (TUI) and the 3 context engines to manage structured Issues.
562
- * [**Code Archaeologist (Git Blame)**](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/blame-arqueologo.md) — How to trace the origin of business rules with `git blame` and AI.
563
- * [**Skills and Templates System**](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/skill-template.md) — How to customize AI behavior with `.gitpr.*.md` files.
564
- * [**Release Notes & Changelog (gitpr release)**](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/release-notes.md) — How the `gitpr release` subcommand generates the changelog / release notes of a repository from the delta of the previous version, links every commit, pull request and contributor, suggests the next semantic version and publishes releases on the forge.
565
- * [**Fix Command (gitpr fix)**](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/fix-command.md) — How the `gitpr fix` subcommand turns the findings of the last review into patches you read before they touch your tree, classifies each one by safety, and undoes an applied patch on demand.
566
- * [**Split Command (gitpr split)**](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/split-command.md) — How the `gitpr split` subcommand reads a working tree holding several concerns, groups the hunks by intent with AI, and turns them into ordered atomic commits without ever writing to your files.
567
- * [**Local Risk Scoring (gitpr risk)**](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/risk-scoring.md) — How the `gitpr risk` command evaluates regression risk, decomposes signals (50/30/20 formula), and highlights high-risk areas in code reviews offline.
568
- * [**Policy Packs (gitpr policy)**](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/policy-packs.md) — How a repository adopts a versioned Policy Pack that carries skills, linter rules, severity overrides, critical paths and risk weights together, the precedence ladder that combines packs, the lockfile the team commits, and the three failures that abort instead of silently degrading.
569
- * [**Baseline & Auditable Suppressions (gitpr baseline)**](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/baseline-suppressions.md) — How a legacy repository records the findings it already has, how a run classifies them as `new`, `existing`, `resolved`, `ignored` or `accepted_debt`, why only `new` blocks, what the fingerprint hashes and what it deliberately leaves out, the four scopes of a suppression, the checksum that catches a hand edit, and the `baseline:` block a Policy Pack may carry.
559
+ * [**Guided Tour (gitpr demo)**](https://gitpr.natanfiuza.dev.br/docs/demo) — How the `gitpr demo` subcommand walks through the commit message, the code review and the pull request description over a recorded example, with no API key, no repository and no network.
560
+ * [**Pull Request Badge**](https://gitpr.natanfiuza.dev.br/docs/badge) — What the badge GitPR attaches to published pull requests says, where it is attached, when it is left out, and how to print the static one for your own README.
561
+ * [**Pull Request (Default Mode)**](https://gitpr.natanfiuza.dev.br/docs/pr-descricao-padrao) — Complete flow for generating PR descriptions without flags.
562
+ * [**Pull Request Publisher TUI**](https://gitpr.natanfiuza.dev.br/docs/pull-request-publication) — How to review and publish Pull Requests directly to GitHub from the terminal.
563
+ * [**AI Code Review**](https://gitpr.natanfiuza.dev.br/docs/code-review-ia) — Guide to review modes (`--review`, `--fullreview`), file auditing (`--input`) and remote pull request review (`gitpr review-pr`).
564
+ * [**Remote Pull Request Review (gitpr review-pr)**](https://gitpr.natanfiuza.dev.br/docs/review-pr) — How the `gitpr review-pr` subcommand reviews a pull request that is already open on the forge, fetching its diff from the API without checking out its branch.
565
+ * [**AI Commit Messages**](https://gitpr.natanfiuza.dev.br/docs/commit-message-ia) — How to generate messages in the Conventional Commits standard and integrate with Git Hooks.
566
+ * [**Issue Generation and TUI Interface**](https://gitpr.natanfiuza.dev.br/docs/issue-tui-help) — How to use the terminal graphical interface (TUI) and the 3 context engines to manage structured Issues.
567
+ * [**Code Archaeologist (Git Blame)**](https://gitpr.natanfiuza.dev.br/docs/blame-arqueologo) — How to trace the origin of business rules with `git blame` and AI.
568
+ * [**Skills and Templates System**](https://gitpr.natanfiuza.dev.br/docs/skill-template) — How to customize AI behavior with `.gitpr.*.md` files.
569
+ * [**Release Notes & Changelog (gitpr release)**](https://gitpr.natanfiuza.dev.br/docs/release-notes) — How the `gitpr release` subcommand generates the changelog / release notes of a repository from the delta of the previous version, links every commit, pull request and contributor, suggests the next semantic version and publishes releases on the forge.
570
+ * [**Fix Command (gitpr fix)**](https://gitpr.natanfiuza.dev.br/docs/fix-command) — How the `gitpr fix` subcommand turns the findings of the last review into patches you read before they touch your tree, classifies each one by safety, and undoes an applied patch on demand.
571
+ * [**Split Command (gitpr split)**](https://gitpr.natanfiuza.dev.br/docs/split-command) — How the `gitpr split` subcommand reads a working tree holding several concerns, groups the hunks by intent with AI, and turns them into ordered atomic commits without ever writing to your files.
572
+ * [**Local Risk Scoring (gitpr risk)**](https://gitpr.natanfiuza.dev.br/docs/risk-scoring) — How the `gitpr risk` command evaluates regression risk, decomposes signals (50/30/20 formula), and highlights high-risk areas in code reviews offline.
573
+ * [**Policy Packs (gitpr policy)**](https://gitpr.natanfiuza.dev.br/docs/policy-packs) — How a repository adopts a versioned Policy Pack that carries skills, linter rules, severity overrides, critical paths and risk weights together, the precedence ladder that combines packs, the lockfile the team commits, and the three failures that abort instead of silently degrading.
574
+ * [**Baseline & Auditable Suppressions (gitpr baseline)**](https://gitpr.natanfiuza.dev.br/docs/baseline-suppressions) — How a legacy repository records the findings it already has, how a run classifies them as `new`, `existing`, `resolved`, `ignored` or `accepted_debt`, why only `new` blocks, what the fingerprint hashes and what it deliberately leaves out, the four scopes of a suppression, the checksum that catches a hand edit, and the `baseline:` block a Policy Pack may carry.
570
575
 
571
576
  ### Configuration & Infrastructure
572
577
 
573
- * [**Interactive Configuration TUI (gitpr config)**](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/config-tui.md) — Master-detail terminal interface to view, edit, and validate settings in `~/.gitpr/.env`.
574
- * [**Multi-Forge SCM Integration**](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/scm-multiforge.md) — Unified SCM provider layer for GitHub, GitLab, Bitbucket Cloud, and Azure DevOps with `--init` wizard.
575
- * [**Suggested Reviewers**](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/suggested-reviewers.md) — Automatic reviewer suggestion via Git blame of added lines mapped to forge logins.
576
- * [**Usage Telemetry & Audit Log**](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/usage-log.md) — Local invocation logging and audit history for tracking CLI executions.
577
- * [**Install Wizard**](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/install-wizard.md) — Step-by-step guided setup for configuring GitPR in a new project.
578
- * [**AI Providers**](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/providers-ia.md) — Configuration and selection between Google Gemini, DeepSeek, and Ollama.
579
- * [**Auto-Updater**](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/auto-update.md) — How GitPR's automatic update and the mandatory update block work.
580
- * [**Architecture**](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/ARCHITECTURE.md) — Project architecture, design patterns, and technical stack overview.
581
- * [**GitHub Token (PAT) Integration and Security**](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/github-pat-integration.md) — Understand how GitPR creates issues directly in the repository with authentication.
582
- * [**Internationalization (i18n)**](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/i18n_explanation.md) — Architecture, usage patterns, and how to add new languages.
583
- * [**MCP Integration**](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/mcp-integration.md) — Connect GitPR to VS Code, Cursor, and Claude Desktop via Model Context Protocol.
584
- * [**MCP Prompts**](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/mcp-prompts.md) — Pre-built message templates (7 prompts, 35 language variants) for common GitPR workflows in your editor's AI chat.
585
- * [**MCP Tool Annotations**](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/mcp-annotations.md) — IDE integration hints (`readOnlyHint`, `destructiveHint`) for smarter UI behavior and safer tool execution.
586
- * [**Metrics & Telemetry**](https://github.com/gitpr-cli/gitpr.git/blob/main/docs/metricas-telemetria.md) — Local offline analytics for team usage metrics, exportable CSV reports, and interactive TUI dashboard.
578
+ * [**Editor Extension (VS Code & Cursor)**](https://gitpr.natanfiuza.dev.br/docs/editor-extension) — Thin-client VSIX extension driving `gitpr-mcp` over stdio for SCM commit generation, Markdown code reviews, two-step PR publishing, and inline `Problems` diagnostics.
579
+ * [**Interactive Configuration TUI (gitpr config)**](https://gitpr.natanfiuza.dev.br/docs/config-tui) — Master-detail terminal interface to view, edit, and validate settings in `~/.gitpr/.env`.
580
+ * [**Multi-Forge SCM Integration**](https://gitpr.natanfiuza.dev.br/docs/scm-multiforge) — Unified SCM provider layer for GitHub, GitLab, Bitbucket Cloud, and Azure DevOps with `--init` wizard.
581
+ * [**Suggested Reviewers**](https://gitpr.natanfiuza.dev.br/docs/suggested-reviewers) — Automatic reviewer suggestion via Git blame of added lines mapped to forge logins.
582
+ * [**Usage Telemetry & Audit Log**](https://gitpr.natanfiuza.dev.br/docs/usage-log) — Local invocation logging and audit history for tracking CLI executions.
583
+ * [**Install Wizard**](https://gitpr.natanfiuza.dev.br/docs/install-wizard) — Step-by-step guided setup for configuring GitPR in a new project.
584
+ * [**AI Providers**](https://gitpr.natanfiuza.dev.br/docs/providers-ia) — Configuration and selection between Google Gemini, DeepSeek, and Ollama.
585
+ * [**Auto-Updater**](https://gitpr.natanfiuza.dev.br/docs/auto-update) — How GitPR's automatic update and the mandatory update block work.
586
+ * [**Architecture**](https://gitpr.natanfiuza.dev.br/docs/ARCHITECTURE) — Project architecture, design patterns, and technical stack overview.
587
+ * [**GitHub Token (PAT) Integration and Security**](https://gitpr.natanfiuza.dev.br/docs/github-pat-integration) — Understand how GitPR creates issues directly in the repository with authentication.
588
+ * [**Internationalization (i18n)**](https://gitpr.natanfiuza.dev.br/docs/i18n_explanation) — Architecture, usage patterns, and how to add new languages.
589
+ * [**MCP Integration**](https://gitpr.natanfiuza.dev.br/docs/mcp-integration) — Connect GitPR to VS Code, Cursor, and Claude Desktop via Model Context Protocol.
590
+ * [**MCP Prompts**](https://gitpr.natanfiuza.dev.br/docs/mcp-prompts) — Pre-built message templates (7 prompts, 35 language variants) for common GitPR workflows in your editor's AI chat.
591
+ * [**MCP Tool Annotations**](https://gitpr.natanfiuza.dev.br/docs/mcp-annotations) — IDE integration hints (`readOnlyHint`, `destructiveHint`) for smarter UI behavior and safer tool execution.
592
+ * [**Metrics & Telemetry**](https://gitpr.natanfiuza.dev.br/docs/metricas-telemetria) — Local offline analytics for team usage metrics, exportable CSV reports, and interactive TUI dashboard.
587
593
 
588
594
  ## ⚡ Local Cache System (Quota Savings)
589
595