Module: AIGit
- Defined in:
- lib/ai_git.rb,
lib/ai_git/ui.rb,
lib/ai_git/git.rb,
lib/ai_git/config.rb,
lib/ai_git/version.rb,
lib/ai_git/ai_client.rb,
lib/ai_git/commands/config.rb,
lib/ai_git/commands/default.rb
Defined Under Namespace
Modules: AIClient, Commands, Config, Git, UI
Constant Summary collapse
- SUBCOMMANDS =
{ "config" => AIGit::Commands::Config, "default" => AIGit::Commands::Default }.freeze
- HELP_FLAGS =
%w[-h --help help].freeze
- VERSION_FLAGS =
%w[-v --version].freeze
- USAGE =
<<~USAGE Usage: ai_git [subcommand] Subcommands: (none) Generate a commit message, commit, and push staged files config Show the resolved provider configuration Flags: -h, --help Show this message -v, --version Print version Environment variables: AI_GIT_MODEL_NAME Override the default model AI_GIT_BASE_URL Override the default base URL NO_COLOR Disable colored output USAGE
- VERSION =
"0.3.0"
Class Method Summary collapse
Class Method Details
.start(args) ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/ai_git.rb', line 39 def start(args) args = args.dup first = args.first return puts(USAGE) if first && HELP_FLAGS.include?(first) return puts(VERSION) if first && VERSION_FLAGS.include?(first) command = "default" if first && !first.start_with?("-") unless SUBCOMMANDS.key?(first) warn "Unknown subcommand: #{first}" warn USAGE exit 1 end command = args.shift end SUBCOMMANDS[command].call(args) end |