Class: AiCommitMessage::CLI

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

Instance Method Summary collapse

Instance Method Details

#commit(options = {}) ⇒ Object



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

def commit(options = {})
  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 = options[:url] || ConfigManager.get_url || 'http://localhost:11434/api/generate'
  model = options[:model] || ConfigManager.get_model || 'qwen2.5-coder:7b'

  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



27
28
29
30
31
32
33
34
35
36
37
# File 'lib/ai-commit-message/cli.rb', line 27

def config
  prompt = TTY::Prompt.new

  url = prompt.ask("API URL:", default: ConfigManager.get_url || 'http://localhost:11434/api/generate')
  model = prompt.ask("Model name:", default: ConfigManager.get_model || 'qwen2.5-coder:7b')

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

  puts "Configuration updated successfully!"
end