A git-compatible command-line interface that uses libgit2.
-
Individual commands have a
main-like top-level entrypoint. For example:int cmd_help(int argc, char **argv)
Although this is the same signature as
main, commands are not built as individual standalone executables, they'll be linked into the main cli. (Though there may be an option for command executables to be built as standalone executables in the future.) -
Commands are prototyped in
cmd.hand added tomain.c's list of commands (cli_cmds[]). Commands should be specified with their name, entrypoint and a brief description that can be printed ingit help. This is done because commands are linked into the main cli. -
Commands should accept a
--helpoption that displays their help information. This will be shown when a user runs<command> --helpand when a user runshelp <command>.