1use clap::{Parser, Subcommand};
2
3#[derive(Parser)]
4#[command(name = "chronicle", about = "Track and replay Claude Code agent sessions")]
5pub struct Cli {
6 #[command(subcommand)]
7 pub command: Option<Commands>,
8}
9
10#[derive(Subcommand)]
11pub enum Commands {
12 Init,
14 Tui,
16 Sessions,
18 Restore {
20 event_id: i64,
22 },
23 Hooks {
25 #[command(subcommand)]
26 command: HooksCommands,
27 },
28 Daemon {
30 #[command(subcommand)]
31 command: DaemonCommands,
32 },
33 HookRelay,
35}
36
37#[derive(Subcommand)]
38pub enum HooksCommands {
39 Show,
41 Remove,
43}
44
45#[derive(Subcommand)]
46pub enum DaemonCommands {
47 Start,
49 Stop,
51 Status,
53}