Module: RosettAi::Init::DirectoryBuilder

Defined in:
lib/rosett_ai/init/directory_builder.rb

Overview

Helper module for creating directories during initialization

Constant Summary collapse

GLOBAL_DIRS =

Returns Directory structure for global initialization.

Returns:

  • (Array)

    Directory structure for global initialization.

['rules', 'locales', 'conf', 'conf/behaviour', 'conf/schemas', 'doc', 'bin', 'lib',
'lib/rosett-ai'].freeze
LOCAL_DIRS =

Returns Directory structure for local initialization.

Returns:

  • (Array)

    Directory structure for local initialization.

['rules', 'conf', 'conf/behaviour', 'conf/schemas'].freeze

Class Method Summary collapse

Class Method Details

.create_directories(base_dir, subdirs) ⇒ Array<String>

Create the specified subdirectories under the base directory.

Parameters:

  • base_dir (String)

    the base directory path

  • subdirs (Array<String>)

    subdirectory names to create

Returns:

  • (Array<String>)

    list of newly created directories



41
42
43
44
45
46
47
48
49
50
# File 'lib/rosett_ai/init/directory_builder.rb', line 41

def create_directories(base_dir, subdirs)
  created = []
  ([base_dir] + subdirs.map { |subdir| File.join(base_dir, subdir) }).each do |dir|
    next if Dir.exist?(dir)

    FileUtils.mkdir_p(dir)
    created << dir
  end
  created
end

.create_global_structure(base_dir) ⇒ Array<String>

Create the global ~/.claude/ directory structure.

Parameters:

  • base_dir (String)

    the base directory path

Returns:

  • (Array<String>)

    list of created directories



24
25
26
# File 'lib/rosett_ai/init/directory_builder.rb', line 24

def create_global_structure(base_dir)
  create_directories(base_dir, GLOBAL_DIRS)
end

.create_local_structure(base_dir) ⇒ Array<String>

Create the project-local .claude/ directory structure.

Parameters:

  • base_dir (String)

    the base directory path

Returns:

  • (Array<String>)

    list of created directories



32
33
34
# File 'lib/rosett_ai/init/directory_builder.rb', line 32

def create_local_structure(base_dir)
  create_directories(base_dir, LOCAL_DIRS)
end