← ClaudeAtlas

dart-build-cli-applisted

Entrypoint structure, exit codes, cross-platform scripts. Use when building command line utilities, scripts, or applications.
novahiz/novahiz · ★ 1 · AI & Automation · score 70
Install: claude install-skill novahiz/novahiz
# Building Dart CLI Applications ## Contents - [Project Setup & Architecture](#project-setup--architecture) - [Argument Parsing & Command Routing](#argument-parsing--command-routing) - [Execution & Error Handling](#execution--error-handling) - [Testing CLI Applications](#testing-cli-applications) - [Compilation & Distribution](#compilation--distribution) - [Workflows](#workflows) - [Examples](#examples) ## Project Setup & Architecture Initialize new CLI projects using the official Dart template to ensure standard directory structures. * Run `dart create -t cli <project_name>` to scaffold a console application with basic argument parsing. * Place executable entry points (files containing `main()`) exclusively in the `bin/` directory. * Place internal implementation logic in `lib/src/` and expose public APIs via `lib/<project_name>.dart`. * Enforce formatting in CI environments by running `dart format . --set-exit-if-changed`. This returns exit code 1 if formatting violations exist. ## Argument Parsing & Command Routing Import the `args` package to manage command-line arguments, flags, and subcommands. * If building a simple script: Use `ArgParser` directly to define flags (`addFlag`) and options (`addOption`). * If building a complex, multi-command CLI (like `git`): Implement `CommandRunner` and extend `Command` for each subcommand. * Define global arguments on the `CommandRunner.argParser` and command-specific arguments on the individual `Command.argParse