CLI Development
SkillCloud & infraUse for .NET command-line tool development with Spectre.Console/Spectre.Console.Cli, Microsoft.Extensions.Hosting, dependency injection, localized help text, command settings, aliases, examples, terminal output, exit codes, and stdio-safe command paths.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the CLI Development skill
What this skill tells your AI
The instructions your AI receives, as published by aterdev/perigon.cli in .agents/skills/cli/SKILL.md and read by ahel’s review.
Workflow
- Identify the command surface under
src/Apps/CommandLine. - Read command registration in
src/Apps/CommandLine/Program.cs. - Read the invoked service before changing command behavior.
- Keep command classes thin: parse settings, validate input, set context, call services, and format output.
Conventions
- Inherit from
AsyncCommand<TSettings>orAsyncCommand. - Put reusable behavior in CoreMod services, CodeGenerator, or Share instead of command classes.
- Use
CommandSolutionHelper.TrySetSolutionAsyncwhen the command needs a current solution. - Use
OutputHelperorAnsiConsoleconsistently with nearby commands. - Escape dynamic Spectre markup with
Markup.Escape. - Return
0for success and1for expected validation or operation failures. - Register new commands in DI and
CommandApp.Configure, including aliases, examples, and localized descriptions. - Preserve raw MCP/stdio command paths. Do not add logos, logs, or human-readable output that can break protocol clients.
Localization And Tests
- Add user-facing command text to both
src/Share/Localizer.zh-CN.resxandsrc/Share/Localizer.en-US.resx. - Add focused tests under
tests/StudioMod.Tests/Commandsfor command behavior, config output, or error handling.
Signals
- GitHub stars
- 54
- Forks
- 7
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
cli-aterdev- Source
- github.com/aterdev/perigon.cli