Class: LLMExperiment::Scaffold
- Inherits:
-
Object
- Object
- LLMExperiment::Scaffold
- Defined in:
- lib/llm_experiment/scaffold.rb
Overview
llmx new NAME. Scaffolds the directory convention every other command
assumes. Prompts and task generation stay experiment-owned.
Instance Method Summary collapse
- #create ⇒ Object
-
#initialize(target) ⇒ Scaffold
constructor
A new instance of Scaffold.
Constructor Details
#initialize(target) ⇒ Scaffold
Returns a new instance of Scaffold.
10 11 12 13 |
# File 'lib/llm_experiment/scaffold.rb', line 10 def initialize(target) @target = File.(target) @name = File.basename(@target) end |
Instance Method Details
#create ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/llm_experiment/scaffold.rb', line 15 def create raise Error, "#{@target} already exists" if File.exist?(@target) FileUtils.mkdir_p(@target) %w[prompts results-raw results].each { |d| FileUtils.mkdir_p(File.join(@target, d)) } write_template("experiment.yml.erb", "experiment.yml") write_template("README.md.erb", "README.md") FileUtils.cp(LLMExperiment.template_path("gitignore"), File.join(@target, ".gitignore")) File.write(File.join(@target, "results-raw", ".gitkeep"), "") puts "created #{@name}/" puts "next: edit #{@name}/experiment.yml, then run `llmx doctor`" end |