Skip to main content

oseda_cli/
lib.rs

1use clap::{Parser, Subcommand};
2
3pub mod cmd;
4pub mod color;
5pub mod config;
6pub mod github;
7pub mod net;
8pub mod tags;
9pub mod template;
10
11/// Oseda Project scafolding CLI
12#[derive(Parser)]
13#[command(name = "oseda")]
14#[command(version = "0.1.0")]
15#[command(about = "oseda project scafolding CLI", long_about = None)]
16#[command(author = "oseda.net")]
17pub struct Cli {
18    /// The subcommand to run
19    #[command(subcommand)]
20    pub command: Commands,
21}
22
23/// Oseda subcommand, represents an action to take on your Oseda project
24#[derive(Subcommand)]
25pub enum Commands {
26    /// Initialize a new Oseda project in the working directory
27    Init(cmd::init::InitOptions),
28    /// Run the Oseda project in the working directory
29    Run,
30    /// Check the Oseda project in the working directory for common errors
31    Check(cmd::check::CheckOptions),
32    /// Deploy your Oseda project to github to add to oseda.net
33    Deploy(cmd::deploy::DeployOptions),
34    /// Fork the library repository to submit your course
35    Fork,
36}