- Move CLI internal headers to `includes/internal/cli/`
- Split CLI handler and parsing declarations across dedicated internal headers
- Move handler map to `option_map.c` and properly update references
- Relocate CLI utility source and test files from `utils` to `parse_utils`
- Refactor `cli.h` to only expose the public interface, move internal
typedefs/functions out
- Update build system: add conditional git commit detection
- Introduces the e_cli_code enum for CLI status codes, replacing integer constants.
- Updates cli_parse_arguments to return e_cli_code instead of int.
- Refactors main.c, cli.h, and cli/parse.c to use the new enum.
Replace g_options_len and g_opt_str_len extern variables with
CLI_OPT_LEN and CLI_OPT_STR_LEN enum constants computed via X-macros.
Disables Variable Length Arrays (VLA) by enforcing the use of the -Wvla
flag in strict mode.
Extract CLI options into a reusable macro (CLI_OPTIONS_LIST) in cli_opt.h
and refactor handler_map.c to eliminate manual option array duplication.
Calculate g_has_len automatically from option definitions.