Class: SolidAgent::Generators::InstallGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Includes:
ActiveRecord::Generators::Migration
Defined in:
lib/generators/solid_agent/install/install_generator.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.next_migration_number(dirname) ⇒ Object

Ensure unique timestamps for multiple migrations



86
87
88
89
# File 'lib/generators/solid_agent/install/install_generator.rb', line 86

def self.next_migration_number(dirname)
  next_migration_number = current_migration_number(dirname) + 1
  ActiveRecord::Migration.next_migration_number(next_migration_number)
end

Instance Method Details

#create_initializerObject



51
52
53
54
55
# File 'lib/generators/solid_agent/install/install_generator.rb', line 51

def create_initializer
  return if options[:skip_initializer]

  template "initializer.rb.erb", "config/initializers/solid_agent.rb"
end

#create_migrationsObject



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/generators/solid_agent/install/install_generator.rb', line 21

def create_migrations
  return if options[:skip_migrations]

  migration_template "create_agent_contexts.rb.erb",
    "db/migrate/create_agent_contexts.rb"

  migration_template "create_agent_messages.rb.erb",
    "db/migrate/create_agent_messages.rb"

  migration_template "create_agent_generations.rb.erb",
    "db/migrate/create_agent_generations.rb"

  migration_template "create_agent_memories.rb.erb",
    "db/migrate/create_agent_memories.rb"

  migration_template "create_agent_runs.rb.erb",
    "db/migrate/create_agent_runs.rb"
end

#create_modelsObject



40
41
42
43
44
45
46
47
48
49
# File 'lib/generators/solid_agent/install/install_generator.rb', line 40

def create_models
  return if options[:skip_migrations]

  template "agent_context.rb.erb", "app/models/agent_context.rb"
  template "agent_message.rb.erb", "app/models/agent_message.rb"
  template "agent_generation.rb.erb", "app/models/agent_generation.rb"
  template "agent_memory.rb.erb", "app/models/agent_memory.rb"
  template "agent_memory_entry.rb.erb", "app/models/agent_memory_entry.rb"
  template "agent_run.rb.erb", "app/models/agent_run.rb"
end

#show_post_install_messageObject



57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# File 'lib/generators/solid_agent/install/install_generator.rb', line 57

def show_post_install_message
  say ""
  say "SolidAgent installed successfully!", :green
  say ""
  say "Next steps:"
  say "  1. Run migrations: rails db:migrate"
  say "  2. Include SolidAgent::HasContext in your ApplicationAgent"
  say "  3. Use has_context in agents that need persistence"
  say ""
  say "Example:"
  say "  class WritingAssistantAgent < ApplicationAgent"
  say "    include SolidAgent::HasContext"
  say "    has_context"
  say ""
  say "    def improve"
  say "      create_context(contextable: params[:document])"
  say "      prompt"
  say "    end"
  say "  end"
  say ""
end