Class: AiCommitMessage::CLI

Inherits:
Thor
  • Object
show all
Defined in:
lib/ai-commit-message/cli.rb

Constant Summary collapse

DEFAULT_URL =
'http://localhost:11434'
DEFAULT_MODEL_NAME =
'qwen2.5-coder:7b'

Instance Method Summary collapse

Instance Method Details

#commitObject



15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/ai-commit-message/cli.rb', line 15

def commit
  git_diff_output = `git diff --cached --no-color`
  git_log_output = `git log --format=%s -n 30`
  git_current_branch = `git branch --show-current`

  url = url_to_be_used(options.url)
  model = model_to_be_used(options.model)

  suggester = AiCommitMessage::Suggester.new(git_diff_output, git_log_output, git_current_branch)
  commit_message = suggester.generate_commit_message(url:, model:)

  puts commit_message
end

#configObject



30
31
32
33
34
35
36
37
38
39
40
# File 'lib/ai-commit-message/cli.rb', line 30

def config
  prompt = TTY::Prompt.new

  url = prompt.ask("API URL:", default: ConfigManager.get_url || DEFAULT_URL)
  model = prompt.ask("Model name:", default: ConfigManager.get_model || DEFAULT_MODEL_NAME)

  ConfigManager.set_url(url)
  ConfigManager.set_model(model)

  puts "Configuration updated successfully!"
end