Module: RailsAiContext
- Defined in:
- lib/rails_ai_context.rb,
lib/rails_ai_context/vfs.rb,
lib/rails_ai_context/doctor.rb,
lib/rails_ai_context/engine.rb,
lib/rails_ai_context/server.rb,
lib/rails_ai_context/presets.rb,
lib/rails_ai_context/version.rb,
lib/rails_ai_context/watcher.rb,
lib/rails_ai_context/ast_cache.rb,
lib/rails_ai_context/resources.rb,
lib/rails_ai_context/safe_file.rb,
lib/rails_ai_context/confidence.rb,
lib/rails_ai_context/middleware.rb,
lib/rails_ai_context/live_reload.rb,
lib/rails_ai_context/schema_hint.rb,
lib/rails_ai_context/test_helper.rb,
lib/rails_ai_context/tools/query.rb,
lib/rails_ai_context/boot_manager.rb,
lib/rails_ai_context/install_mode.rb,
lib/rails_ai_context/introspector.rb,
lib/rails_ai_context/output_guard.rb,
lib/rails_ai_context/configuration.rb,
lib/rails_ai_context/fingerprinter.rb,
lib/rails_ai_context/tools/get_api.rb,
lib/rails_ai_context/tools/get_env.rb,
lib/rails_ai_context/tools/onboard.rb,
lib/rails_ai_context/legacy_cleanup.rb,
lib/rails_ai_context/schema_version.rb,
lib/rails_ai_context/tools/diagnose.rb,
lib/rails_ai_context/tools/get_gems.rb,
lib/rails_ai_context/tools/get_view.rb,
lib/rails_ai_context/tools/validate.rb,
lib/rails_ai_context/cli/tool_runner.rb,
lib/rails_ai_context/facts_formatter.rb,
lib/rails_ai_context/instrumentation.rb,
lib/rails_ai_context/tools/base_tool.rb,
lib/rails_ai_context/tools/read_logs.rb,
lib/rails_ai_context/tools/safe_call.rb,
lib/rails_ai_context/hydration_result.rb,
lib/rails_ai_context/migration_status.rb,
lib/rails_ai_context/tools/get_config.rb,
lib/rails_ai_context/tools/get_routes.rb,
lib/rails_ai_context/tools/get_schema.rb,
lib/rails_ai_context/tools/get_concern.rb,
lib/rails_ai_context/tools/get_context.rb,
lib/rails_ai_context/tools/search_code.rb,
lib/rails_ai_context/tools/search_docs.rb,
lib/rails_ai_context/tools/get_stimulus.rb,
lib/rails_ai_context/tools/runtime_info.rb,
lib/rails_ai_context/tools/generate_test.rb,
lib/rails_ai_context/tools/get_callbacks.rb,
lib/rails_ai_context/tools/get_test_info.rb,
lib/rails_ai_context/tools/get_turbo_map.rb,
lib/rails_ai_context/tools/security_scan.rb,
lib/rails_ai_context/mcp_config_generator.rb,
lib/rails_ai_context/tools/review_changes.rb,
lib/rails_ai_context/tools/analyze_feature.rb,
lib/rails_ai_context/tools/get_controllers.rb,
lib/rails_ai_context/tools/get_conventions.rb,
lib/rails_ai_context/tools/get_job_pattern.rb,
lib/rails_ai_context/tools/session_context.rb,
lib/rails_ai_context/tools/dependency_graph.rb,
lib/rails_ai_context/tools/get_edit_context.rb,
lib/rails_ai_context/hydrators/view_hydrator.rb,
lib/rails_ai_context/tools/get_model_details.rb,
lib/rails_ai_context/tools/migration_advisor.rb,
lib/rails_ai_context/tools/performance_check.rb,
lib/rails_ai_context/tools/get_frontend_stack.rb,
lib/rails_ai_context/tools/get_helper_methods.rb,
lib/rails_ai_context/tools/get_service_pattern.rb,
app/controllers/rails_ai_context/mcp_controller.rb,
lib/rails_ai_context/serializers/json_serializer.rb,
lib/rails_ai_context/tools/get_component_catalog.rb,
lib/rails_ai_context/tools/get_partial_interface.rb,
lib/rails_ai_context/hydrators/controller_hydrator.rb,
lib/rails_ai_context/hydrators/hydration_formatter.rb,
lib/rails_ai_context/hydrators/schema_hint_builder.rb,
lib/rails_ai_context/serializers/claude_serializer.rb,
lib/rails_ai_context/serializers/tool_guide_helper.rb,
lib/rails_ai_context/introspectors/api_introspector.rb,
lib/rails_ai_context/introspectors/env_introspector.rb,
lib/rails_ai_context/introspectors/gem_introspector.rb,
lib/rails_ai_context/introspectors/job_introspector.rb,
lib/rails_ai_context/serializers/copilot_serializer.rb,
lib/rails_ai_context/introspectors/auth_introspector.rb,
lib/rails_ai_context/introspectors/i18n_introspector.rb,
lib/rails_ai_context/introspectors/test_introspector.rb,
lib/rails_ai_context/introspectors/view_introspector.rb,
lib/rails_ai_context/serializers/markdown_serializer.rb,
lib/rails_ai_context/serializers/opencode_serializer.rb,
lib/rails_ai_context/introspectors/model_introspector.rb,
lib/rails_ai_context/introspectors/route_introspector.rb,
lib/rails_ai_context/introspectors/seeds_introspector.rb,
lib/rails_ai_context/introspectors/turbo_introspector.rb,
lib/rails_ai_context/introspectors/config_introspector.rb,
lib/rails_ai_context/introspectors/devops_introspector.rb,
lib/rails_ai_context/introspectors/engine_introspector.rb,
lib/rails_ai_context/introspectors/schema_introspector.rb,
lib/rails_ai_context/introspectors/source_introspector.rb,
lib/rails_ai_context/serializers/section_marker_writer.rb,
lib/rails_ai_context/serializers/stack_overview_helper.rb,
lib/rails_ai_context/serializers/test_command_detection.rb,
lib/rails_ai_context/introspectors/autoload_introspector.rb,
lib/rails_ai_context/introspectors/security_introspector.rb,
lib/rails_ai_context/introspectors/stimulus_introspector.rb,
lib/rails_ai_context/serializers/claude_rules_serializer.rb,
lib/rails_ai_context/serializers/context_file_serializer.rb,
lib/rails_ai_context/serializers/cursor_rules_serializer.rb,
lib/generators/rails_ai_context/install/install_generator.rb,
lib/rails_ai_context/introspectors/component_introspector.rb,
lib/rails_ai_context/introspectors/migration_introspector.rb,
lib/rails_ai_context/introspectors/rake_task_introspector.rb,
lib/rails_ai_context/introspectors/controller_introspector.rb,
lib/rails_ai_context/introspectors/convention_introspector.rb,
lib/rails_ai_context/introspectors/listeners/base_listener.rb,
lib/rails_ai_context/introspectors/middleware_introspector.rb,
lib/rails_ai_context/serializers/compact_serializer_helper.rb,
lib/rails_ai_context/serializers/opencode_rules_serializer.rb,
lib/rails_ai_context/introspectors/action_text_introspector.rb,
lib/rails_ai_context/introspectors/credentials_introspector.rb,
lib/rails_ai_context/introspectors/initializer_introspector.rb,
lib/rails_ai_context/introspectors/listeners/enums_listener.rb,
lib/rails_ai_context/introspectors/listeners/mount_listener.rb,
lib/rails_ai_context/introspectors/performance_introspector.rb,
lib/rails_ai_context/introspectors/listeners/macros_listener.rb,
lib/rails_ai_context/introspectors/listeners/scopes_listener.rb,
lib/rails_ai_context/introspectors/listeners/methods_listener.rb,
lib/rails_ai_context/introspectors/observability_introspector.rb,
lib/rails_ai_context/introspectors/view_template_introspector.rb,
lib/rails_ai_context/introspectors/action_mailbox_introspector.rb,
lib/rails_ai_context/introspectors/active_storage_introspector.rb,
lib/rails_ai_context/introspectors/active_support_introspector.rb,
lib/rails_ai_context/introspectors/asset_pipeline_introspector.rb,
lib/rails_ai_context/introspectors/database_stats_introspector.rb,
lib/rails_ai_context/introspectors/multi_database_introspector.rb,
lib/rails_ai_context/introspectors/connection_pool_introspector.rb,
lib/rails_ai_context/introspectors/listeners/callbacks_listener.rb,
lib/rails_ai_context/introspectors/listeners/env_access_listener.rb,
lib/rails_ai_context/introspectors/listeners/schema_dsl_listener.rb,
lib/rails_ai_context/serializers/copilot_instructions_serializer.rb,
lib/rails_ai_context/introspectors/listeners/gemfile_dsl_listener.rb,
lib/rails_ai_context/introspectors/listeners/validations_listener.rb,
lib/rails_ai_context/introspectors/frontend_framework_introspector.rb,
lib/rails_ai_context/introspectors/listeners/associations_listener.rb,
lib/rails_ai_context/introspectors/listeners/chained_call_listener.rb,
lib/rails_ai_context/introspectors/listeners/variant_call_listener.rb,
lib/rails_ai_context/introspectors/listeners/generic_macro_listener.rb,
lib/rails_ai_context/introspectors/listeners/migration_dsl_listener.rb,
lib/rails_ai_context/introspectors/listeners/rake_task_dsl_listener.rb,
lib/rails_ai_context/introspectors/listeners/mailbox_routing_listener.rb,
lib/rails_ai_context/introspectors/listeners/model_reference_listener.rb,
lib/rails_ai_context/introspectors/listeners/middleware_config_listener.rb
Defined Under Namespace
Modules: AstCache, BootManager, CLI, Confidence, Generators, Hydrators, InstallMode, Instrumentation, Introspectors, LegacyCleanup, MigrationStatus, OutputGuard, Presets, Resources, SafeFile, SchemaVersion, Serializers, TestHelper, Tools, VFS Classes: Configuration, ConfigurationError, Doctor, Engine, Error, FactsFormatter, Fingerprinter, HydrationResult, Introspector, LiveReload, McpConfigGenerator, McpController, Middleware, SchemaHint, Server, Watcher
Constant Summary collapse
- VERSION =
"5.14.0"
Class Attribute Summary collapse
Class Method Summary collapse
- .configure {|configuration| ... } ⇒ Object
- .configured_via_block? ⇒ Boolean
-
.generate_context(app = nil, format: :all) ⇒ Object
Generate context files (CLAUDE.md, .cursor/rules/, etc.).
-
.introspect(app = nil) ⇒ Object
Quick access to introspect the current Rails app Returns a hash of all discovered context.
-
.log_warn(message) ⇒ Object
Warn through Rails.logger when available, stderr otherwise.
-
.start_mcp_server(app = nil, transport: :stdio) ⇒ Object
Start the MCP server programmatically.
Class Attribute Details
.configuration ⇒ Object
24 25 26 |
# File 'lib/rails_ai_context.rb', line 24 def configuration @configuration ||= Configuration.new end |
Class Method Details
.configure {|configuration| ... } ⇒ Object
28 29 30 31 |
# File 'lib/rails_ai_context.rb', line 28 def configure @configured_via_block = true yield(configuration) end |
.configured_via_block? ⇒ Boolean
33 34 35 |
# File 'lib/rails_ai_context.rb', line 33 def configured_via_block? @configured_via_block || false end |
.generate_context(app = nil, format: :all) ⇒ Object
Generate context files (CLAUDE.md, .cursor/rules/, etc.)
57 58 59 60 61 |
# File 'lib/rails_ai_context.rb', line 57 def generate_context(app = nil, format: :all) app ||= Rails.application context = introspect(app) Serializers::ContextFileSerializer.new(context, format: format).call end |
.introspect(app = nil) ⇒ Object
Quick access to introspect the current Rails app Returns a hash of all discovered context
51 52 53 54 |
# File 'lib/rails_ai_context.rb', line 51 def introspect(app = nil) app ||= Rails.application Introspector.new(app).call end |
.log_warn(message) ⇒ Object
Warn through Rails.logger when available, stderr otherwise. Introspection runs in contexts where Rails.logger is nil (early-boot rake tasks, engine dummy apps); a logging call that raises inside a rescue block defeats the fault isolation the rescue exists to provide.
41 42 43 44 45 46 47 |
# File 'lib/rails_ai_context.rb', line 41 def log_warn() if defined?(Rails) && Rails.respond_to?(:logger) && Rails.logger Rails.logger.warn() else $stderr.puts() end end |