Development
eggl-cli keeps command orchestration separate from domain behavior.
Repository layout
Local commands
make check runs formatting validation and the race-enabled test suite. The CI workflow also runs vet, govulncheck, coverage, and a build.
Testing conventions
Domain packages use focused unit tests and command packages test Cobra behavior through temporary files, fake adapters, and captured output. Keep commands thin and put new behavior in internal/<domain>/.
When adding a command:
- Add domain behavior under
internal/. - Add a thin
cmd/<name>.gowithRunEandSilenceUsage: true. - Add command and domain tests.
- Reuse
internal/uifor styled output when the command reports structured state. - Run
make fmt && make check.