id = "radicle" name = "Radicle" homepage = "https://radicle.xyz" description = "Peer-to-peer code collaboration stack." executables = ["rad"] [dotfiles] # Radicle's upstream Heartwood manual documents ~/.radicle/config.json as its # default config and ~/.radicle/keys/ as the OpenSSH-encoded Ed25519 identity # key directory. Keep keys secret while retaining the non-secret config. # https://github.com/radicle-dev/heartwood/blob/master/rad.1.adoc # https://github.com/radicle-dev/heartwood/blob/master/HACKING.md paths = ["~/.radicle/config.json"] secret = ["~/.radicle/keys/"] side_effect = false [commands] format = 1 label = "Use Radicle repositories" description = "Clone a repository by ID, list replicated repositories, or start the local node. Auth, issues, patches and identity commands are not covered." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = false, short_attached = false, short_bundles = false } [[commands.subcommand]] path = ["clone"] label = "Clone a repository" description = "Clone a Radicle repository by its rad: ID." [[commands.subcommand.source]] id = "man" kind = "manual" url = "https://github.com/radicle-dev/heartwood/blob/master/rad.1.adoc" revision = "master 2026-10-27" evidence = ''' $ rad clone rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5 behavior can be changed by passing *--scope followed* when cloning. ''' [[commands.subcommand.field]] id = "rid" label = "Repository ID" description = "A rad:z… identifier." type = "string" position = 0 min = 1 sources = ["man"] [[commands.subcommand.field]] id = "scope" label = "Seeding scope" description = "followed limits updates to peers you follow; the default subscribes to all peers." type = "string" option = ["--scope"] suggestions = [{ value = "followed", label = "followed" }] sources = ["man"] [[commands.subcommand.task]] id = "clone" label = "Clone a repository" fields = ["rid", "scope"] required = ["rid"] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["rid", "scope"] [[commands.subcommand]] path = ["ls"] label = "List repositories" description = "List repositories replicated on this node." [[commands.subcommand.source]] id = "man" kind = "manual" url = "https://github.com/radicle-dev/heartwood/blob/master/rad.1.adoc" revision = "master 2026-10-27" evidence = ''' You can see all replicated and locally-available repositories using: $ rad ls --all ''' [[commands.subcommand.field]] id = "all" label = "Include all locally available repositories" type = "boolean" option = ["--all"] sources = ["man"] [[commands.subcommand.task]] id = "ls" label = "List everything" fields = ["all"] required = [] set = { all = [true] } [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["all"] [[commands.subcommand]] path = ["node", "start"] label = "Start the node" description = "Start the local Radicle node; it runs in the foreground unless daemonized." [[commands.subcommand.source]] id = "man" kind = "manual" url = "https://github.com/radicle-dev/heartwood/blob/master/rad.1.adoc" revision = "master 2026-10-27" evidence = ''' $ rad node start This will start the node in the foreground. Simply add *--daemon* to run the node in the background. ''' [[commands.subcommand.field]] id = "daemon" label = "Run in the background" type = "boolean" option = ["--daemon"] sources = ["man"] [[commands.subcommand.task]] id = "start" label = "Start in the background" fields = ["daemon"] required = [] set = { daemon = [true] } [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["daemon"]