rails-ai-context 5.25.0 → 5.27.0

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 (129) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +1302 -0
  3. data/CONTEXT.md +22 -2
  4. data/CONTRIBUTING.md +5 -0
  5. data/README.md +3 -1
  6. data/docs/ARCHITECTURE.md +4 -4
  7. data/docs/CLI.md +58 -1
  8. data/docs/COMPATIBILITY.md +102 -13
  9. data/docs/CONFIGURATION.md +62 -4
  10. data/docs/FAQ.md +14 -1
  11. data/docs/GUIDE.md +32 -18
  12. data/docs/INTROSPECTORS.md +4 -4
  13. data/docs/QUICKSTART.md +5 -1
  14. data/docs/RELEASING.md +61 -0
  15. data/docs/SECURITY.md +6 -0
  16. data/docs/SETUP.md +4 -0
  17. data/docs/STANDALONE.md +18 -10
  18. data/docs/TOOLS.md +27 -9
  19. data/docs/TROUBLESHOOTING.md +5 -7
  20. data/exe/rails-ai-context +116 -39
  21. data/gemfiles/mcp_floor.gemfile +6 -0
  22. data/gemfiles/rails.gemfile +8 -0
  23. data/lib/generators/rails_ai_context/install/install_generator.rb +58 -13
  24. data/lib/rails_ai_context/action_filters.rb +283 -34
  25. data/lib/rails_ai_context/boot_manager.rb +39 -4
  26. data/lib/rails_ai_context/cli/entry_boot.rb +4 -0
  27. data/lib/rails_ai_context/cli/tool_runner.rb +95 -22
  28. data/lib/rails_ai_context/concern_macros.rb +129 -0
  29. data/lib/rails_ai_context/concern_membership.rb +17 -14
  30. data/lib/rails_ai_context/concern_paths.rb +38 -6
  31. data/lib/rails_ai_context/configuration.rb +69 -5
  32. data/lib/rails_ai_context/context_file_report.rb +63 -0
  33. data/lib/rails_ai_context/count_phrase.rb +10 -0
  34. data/lib/rails_ai_context/doctor.rb +62 -16
  35. data/lib/rails_ai_context/erb_source.rb +45 -0
  36. data/lib/rails_ai_context/fixture_keys.rb +16 -0
  37. data/lib/rails_ai_context/gem_lock.rb +75 -15
  38. data/lib/rails_ai_context/hydrators/controller_hydrator.rb +1 -2
  39. data/lib/rails_ai_context/hydrators/model_hints.rb +5 -2
  40. data/lib/rails_ai_context/hydrators/schema_hint_builder.rb +3 -2
  41. data/lib/rails_ai_context/install/initializer_file.rb +20 -0
  42. data/lib/rails_ai_context/install/program.rb +33 -9
  43. data/lib/rails_ai_context/install/selection_record.rb +76 -3
  44. data/lib/rails_ai_context/introspector.rb +12 -1
  45. data/lib/rails_ai_context/introspectors/action_resolver.rb +50 -5
  46. data/lib/rails_ai_context/introspectors/active_storage_introspector.rb +10 -2
  47. data/lib/rails_ai_context/introspectors/active_support_introspector.rb +9 -0
  48. data/lib/rails_ai_context/introspectors/api_introspector.rb +98 -20
  49. data/lib/rails_ai_context/introspectors/controller_filters.rb +108 -0
  50. data/lib/rails_ai_context/introspectors/controller_introspector.rb +58 -75
  51. data/lib/rails_ai_context/introspectors/convention_introspector.rb +17 -1
  52. data/lib/rails_ai_context/introspectors/declared_constant.rb +44 -2
  53. data/lib/rails_ai_context/introspectors/env_config_introspector.rb +47 -7
  54. data/lib/rails_ai_context/introspectors/gem_introspector.rb +66 -6
  55. data/lib/rails_ai_context/introspectors/i18n_introspector.rb +115 -22
  56. data/lib/rails_ai_context/introspectors/job_introspector.rb +36 -4
  57. data/lib/rails_ai_context/introspectors/listeners/associations_listener.rb +4 -1
  58. data/lib/rails_ai_context/introspectors/listeners/callbacks_listener.rb +35 -18
  59. data/lib/rails_ai_context/introspectors/listeners/config_assignment_listener.rb +36 -0
  60. data/lib/rails_ai_context/introspectors/listeners/routes_dsl_listener.rb +184 -41
  61. data/lib/rails_ai_context/introspectors/listeners/validations_listener.rb +25 -35
  62. data/lib/rails_ai_context/introspectors/model_introspector.rb +582 -102
  63. data/lib/rails_ai_context/introspectors/observability_introspector.rb +1 -1
  64. data/lib/rails_ai_context/introspectors/performance_introspector.rb +156 -35
  65. data/lib/rails_ai_context/introspectors/route_introspector.rb +33 -15
  66. data/lib/rails_ai_context/introspectors/table_name.rb +151 -0
  67. data/lib/rails_ai_context/introspectors/test_introspector.rb +54 -35
  68. data/lib/rails_ai_context/introspectors/view_introspector.rb +1 -0
  69. data/lib/rails_ai_context/introspectors/view_template_introspector.rb +16 -7
  70. data/lib/rails_ai_context/live_reload.rb +6 -1
  71. data/lib/rails_ai_context/output_guard.rb +43 -3
  72. data/lib/rails_ai_context/portable_path.rb +46 -0
  73. data/lib/rails_ai_context/presets.rb +38 -2
  74. data/lib/rails_ai_context/safe_path.rb +9 -1
  75. data/lib/rails_ai_context/schema_hint.rb +1 -1
  76. data/lib/rails_ai_context/serializers/claude_rules_serializer.rb +27 -18
  77. data/lib/rails_ai_context/serializers/claude_serializer.rb +1 -1
  78. data/lib/rails_ai_context/serializers/compact_serializer_helper.rb +12 -3
  79. data/lib/rails_ai_context/serializers/context_file_serializer.rb +45 -44
  80. data/lib/rails_ai_context/serializers/copilot_instructions_serializer.rb +22 -14
  81. data/lib/rails_ai_context/serializers/copilot_serializer.rb +9 -1
  82. data/lib/rails_ai_context/serializers/cursor_rules_serializer.rb +20 -12
  83. data/lib/rails_ai_context/serializers/markdown_serializer.rb +17 -10
  84. data/lib/rails_ai_context/serializers/opencode_rules_serializer.rb +26 -11
  85. data/lib/rails_ai_context/serializers/opencode_serializer.rb +1 -1
  86. data/lib/rails_ai_context/serializers/section_facts.rb +137 -4
  87. data/lib/rails_ai_context/serializers/stack_overview_helper.rb +52 -26
  88. data/lib/rails_ai_context/tasks/rails_ai_context.rake +53 -32
  89. data/lib/rails_ai_context/tools/analyze_feature.rb +18 -5
  90. data/lib/rails_ai_context/tools/base_tool.rb +179 -24
  91. data/lib/rails_ai_context/tools/dependency_graph.rb +96 -15
  92. data/lib/rails_ai_context/tools/generate_test.rb +221 -61
  93. data/lib/rails_ai_context/tools/get_active_support.rb +5 -1
  94. data/lib/rails_ai_context/tools/get_api.rb +24 -8
  95. data/lib/rails_ai_context/tools/get_callbacks.rb +91 -78
  96. data/lib/rails_ai_context/tools/get_concern.rb +27 -15
  97. data/lib/rails_ai_context/tools/get_context.rb +1 -1
  98. data/lib/rails_ai_context/tools/get_controllers.rb +124 -38
  99. data/lib/rails_ai_context/tools/get_edit_context.rb +2 -2
  100. data/lib/rails_ai_context/tools/get_env.rb +117 -41
  101. data/lib/rails_ai_context/tools/get_gems.rb +9 -2
  102. data/lib/rails_ai_context/tools/get_i18n.rb +21 -4
  103. data/lib/rails_ai_context/tools/get_job_pattern.rb +25 -3
  104. data/lib/rails_ai_context/tools/get_model_details.rb +101 -29
  105. data/lib/rails_ai_context/tools/get_partial_interface.rb +14 -22
  106. data/lib/rails_ai_context/tools/get_routes.rb +27 -5
  107. data/lib/rails_ai_context/tools/get_schema.rb +70 -25
  108. data/lib/rails_ai_context/tools/get_service_pattern.rb +81 -20
  109. data/lib/rails_ai_context/tools/get_test_info.rb +26 -18
  110. data/lib/rails_ai_context/tools/get_view.rb +46 -11
  111. data/lib/rails_ai_context/tools/migration_advisor.rb +84 -21
  112. data/lib/rails_ai_context/tools/onboard.rb +54 -3
  113. data/lib/rails_ai_context/tools/performance_check.rb +13 -7
  114. data/lib/rails_ai_context/tools/query.rb +10 -4
  115. data/lib/rails_ai_context/tools/read_logs.rb +7 -0
  116. data/lib/rails_ai_context/tools/review_changes.rb +3 -0
  117. data/lib/rails_ai_context/tools/safe_call.rb +54 -1
  118. data/lib/rails_ai_context/tools/search_code.rb +188 -67
  119. data/lib/rails_ai_context/tools/section_fetch.rb +1 -5
  120. data/lib/rails_ai_context/tools/security_scan.rb +10 -2
  121. data/lib/rails_ai_context/tools/session_context.rb +1 -1
  122. data/lib/rails_ai_context/tools/validate_semantics.rb +32 -1
  123. data/lib/rails_ai_context/version.rb +1 -1
  124. data/lib/rails_ai_context/vfs.rb +22 -2
  125. data/lib/rails_ai_context/view_file.rb +38 -0
  126. data/lib/rails_ai_context/watcher.rb +17 -7
  127. data/lib/rails_ai_context.rb +7 -1
  128. data/server.json +1 -1
  129. metadata +8 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d80b8bd17147a84fb1f8ce3028b7e1291af63c0d639663704eec171069e8f1b7
4
- data.tar.gz: 4ce32bd09b90f16b62f70621642d6db35258c3a47892196e1fdb6d329366b4ed
3
+ metadata.gz: 44038590682c51bc7722a4a5b587ee31b5b78f3842575b6386390a584038b81e
4
+ data.tar.gz: 4c7de07da1f44144291ba86e9bfc34ab3a3da893c0a159b8cfe99de284d3d3be
5
5
  SHA512:
6
- metadata.gz: 53ecb39c98209ddd59050431dca51b448c848e7f6e4d93fe092523ee87b014e6279aa25d97b283e57c66368eb0b315baaa4b75d0ea349d21bc6b0b1109ec0d2d
7
- data.tar.gz: 25c7854ce8e4e4c1e16996e13a2031dc35d6cfee245d46515a48833c4fdcc48d35eb3a38b5365cfa4518847096340a104dc79dbfda2dfc314565a1508ea5dd7b
6
+ metadata.gz: b581d96cb4ff655823a103c21527a53ddb71c3cb36d644a59485a796693001e247f6480b381d1f54ea8ec0995e175aa0389109fe1155bfbeea2dfeefd5566d9c
7
+ data.tar.gz: 61c4aa682dd49afaf780652300f41de2216a0bfbe0b6ed7e6ec188237c63eade5036fe2051ba6771f89e96803a0971811230e532a7c623d7a25d0bfb1f069df8