# frozen_string_literal: true require "clamp" require_relative "new" require_relative "setup" require_relative "make" require_relative "work" require_relative "clean" require_relative "clone" require_relative "pull" require_relative "init" require_relative "nuget_cache" module Makit module Cli # Define the main command which includes the subcommands class MainCommand < Clamp::Command option ["-v", "--version"], :flag, "Show version" do puts "makit version #{Makit::VERSION}" exit(0) end subcommand "new", "Create a new entity", NewCommand subcommand "setup", "Setup a project directory", SetupCommand subcommand "work", "Work on a project", WorkCommand subcommand "make", "Make a project", MakeCommand subcommand "clean", "Clean a project", CleanCommand subcommand "clone", "Clone a git repository", CloneCommand subcommand "pull", "Pull latest changes from a git repository", PullCommand subcommand "init", "Initialize a directory as a git repository", InitCommand subcommand "nuget_cache", "Manage the NuGet cache", NugetCacheCommand end end end