Sha256: fea0196173bbf4fbbbb03e5098558bb94740b4dc8ebf122748aa40127e61c66e

Contents?: true

Size: 788 Bytes

Versions: 4

Compression:

Stored size: 788 Bytes

Contents

# frozen_string_literal: true

module Luo
  module CLI
    module Commands
      extend Dry::CLI::Registry

      class Version < Dry::CLI::Command
        desc "Print version"

        def call(*)
          puts Luo::VERSION
        end
      end

      class Commit < Dry::CLI::Command
        desc "Commit with Luo"

        argument :message, desc: "Commit message", required: true, type: :string

        def call(message:, **)
          messages = Messages.create.system(prompt: Luo::Prompts.luo_commit, context: {commit: message}).to_a
          response = OpenAI.new.chat(messages)
          exec "git commit -m '#{response}'"
        end
      end

      register "version", Version, aliases: %w[v -v --version]
      register "commit", Commit, aliases: ["c"]
    end

  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
luo-0.1.4 lib/luo/cli.rb
luo-0.1.3 lib/luo/cli.rb
luo-0.1.2 lib/luo/cli.rb
luo-0.1.1 lib/luo/cli.rb