Class: RailsAgents::Generators::InstallGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- RailsAgents::Generators::InstallGenerator
- Defined in:
- lib/generators/rails_agents/install/install_generator.rb
Instance Method Summary collapse
- #create_agents_guide ⇒ Object
- #create_env_placeholders ⇒ Object
- #create_initializer ⇒ Object
- #create_workspace_library ⇒ Object
- #mount_engine ⇒ Object
- #show_next_steps ⇒ Object
Instance Method Details
#create_agents_guide ⇒ Object
21 22 23 |
# File 'lib/generators/rails_agents/install/install_generator.rb', line 21 def create_agents_guide template "AGENTS.md.tt", "AGENTS.md" end |
#create_env_placeholders ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/generators/rails_agents/install/install_generator.rb', line 33 def create_env_placeholders env_path = File.(".env", destination_root) placeholders = <<~ENV # Rails Agent Cloud platform key — NOT your OpenAI/Anthropic keys (those are BYOK in dashboard) # Written automatically when you connect from /agents RAILS_AGENTS_API_KEY= RAILS_AGENTS_PROJECT_ID= ENV if File.exist?(env_path) unless File.read(env_path).include?("RAILS_AGENTS_API_KEY") append_to_file ".env", placeholders end else create_file ".env.rails_agents.example", placeholders.lstrip end end |
#create_initializer ⇒ Object
12 13 14 15 |
# File 'lib/generators/rails_agents/install/install_generator.rb', line 12 def create_initializer template "initializer.rb.tt", "config/initializers/rails_agents.rb" template "rails_agents_autoload.rb.tt", "config/initializers/rails_agents_autoload.rb" end |
#create_workspace_library ⇒ Object
25 26 27 28 29 30 31 |
# File 'lib/generators/rails_agents/install/install_generator.rb', line 25 def create_workspace_library %w[tools skills connectors plugins knowledge knowledge/sources packages].each do |folder| empty_directory File.join("app/agents_library", folder) end template "library_manifest.yml.tt", "app/agents_library/manifest.yml" template "library_README.md.tt", "app/agents_library/README.md" end |
#mount_engine ⇒ Object
17 18 19 |
# File 'lib/generators/rails_agents/install/install_generator.rb', line 17 def mount_engine route "mount RailsAgents::Engine, at: \"/agents\"" end |
#show_next_steps ⇒ Object
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/generators/rails_agents/install/install_generator.rb', line 52 def show_next_steps return unless behavior == :invoke port = ENV.fetch("PORT", "3000") url = "http://localhost:#{port}/agents" say "" say "============================================================", :green say " Rails Agents installed", :green say "============================================================", :green say "" say " 1. Start server: bin/dev (or bin/rails server)", :green say " 2. Connect: #{url}", :green say " 3. Read AGENTS.md — scaffold your first database Knowledge agent:", :green say " bin/rails generate rails_agents:agent my_agent --type knowledge --database", :green say "============================================================", :green say "" end |