@@ -12,8 +12,30 @@ use clap::{Parser, Subcommand};
1212#[ command(
1313 name = "devopster" ,
1414 version,
15- about = "Cross-platform GitOps CLI for managing organization repositories" ,
16- long_about = "Manage GitHub, Azure DevOps, and GitLab organizations with a single containerized Rust CLI."
15+ about = "GitOps CLI for GitHub, Azure DevOps, and GitLab" ,
16+ long_about = None ,
17+ help_template = "\
18+ {before-help}devopster {version}
19+ {about}
20+
21+ Usage: devopster [OPTIONS] <COMMAND>
22+
23+ Commands:
24+ {tab}+-------------------+---------------------------------------------------+
25+ {tab}| login | Authenticate with a provider via browser sign-in |
26+ {tab}| init | Create devopster-config.yaml and sign in |
27+ {tab}| repo list | List repositories (optionally filter by topic) |
28+ {tab}| repo audit | Audit repos against the configured policy |
29+ {tab}| repo scaffold | Create a new repository from a template |
30+ {tab}| repo sync | Push files from .github/ to all repositories |
31+ {tab}| catalog generate | Export a catalog.json of all repositories |
32+ {tab}| topics align | Add missing template topics to repositories |
33+ {tab}| stats | Print org-wide metadata coverage and compliance |
34+ {tab}+-------------------+---------------------------------------------------+
35+
36+ Options:
37+ {options}
38+ {after-help}"
1739) ]
1840pub struct Cli {
1941 #[ arg(
@@ -33,10 +55,15 @@ pub struct Cli {
3355pub enum Commands {
3456 /// Authenticate with a provider via browser sign-in
3557 Login ( login:: LoginCommand ) ,
58+ /// Create devopster-config.yaml interactively and optionally sign in
3659 Init ( init:: InitCommand ) ,
60+ /// List, audit, scaffold, and sync repositories
3761 Repo ( repo:: RepoCommand ) ,
62+ /// Generate a machine-readable org catalog (catalog.json)
3863 Catalog ( catalog:: CatalogCommand ) ,
64+ /// Add missing template topics to every matching repository
3965 Topics ( topics:: TopicsCommand ) ,
66+ /// Print org-wide metadata coverage, compliance, and top topics
4067 Stats ( stats:: StatsCommand ) ,
4168}
4269
0 commit comments