apicurio_cli/
lib.rs

1//! # Apicurio CLI Library
2//!
3//! Core library functionality for the Apicurio CLI tool.
4
5use clap::Parser;
6
7pub mod commands;
8pub mod config;
9pub mod constants;
10pub mod dependency;
11pub mod identifier;
12pub mod lockfile;
13pub mod registry;
14
15/// CLI tool for managing schema artifacts from Apicurio Registry
16///
17/// The Apicurio CLI provides lockfile-based dependency management for schema artifacts
18/// including Protobuf, Avro, JSON Schema, OpenAPI, and more. It supports multiple
19/// registries, flexible authentication, and semantic version resolution.
20#[derive(Parser)]
21#[command(
22    name = "apicurio",
23    version,
24    about = "CLI tool for managing schema artifacts from Apicurio Registry",
25    long_about = "A powerful Rust-based command-line tool for managing schema artifacts from Apicurio Registry.\n\nFeatures lockfile-based dependency management, multi-registry support, flexible authentication,\nand semantic version resolution for Protobuf, Avro, JSON Schema, OpenAPI, and other schema types."
26)]
27pub struct Cli {
28    #[command(subcommand)]
29    pub cmd: Option<commands::Commands>,
30}