id = "kubo"
name = "Kubo (IPFS)"
homepage = "https://github.com/ipfs/kubo"
description = "The reference IPFS implementation and node daemon."
executables = ["ipfs"]
[dotfiles]
paths = []
secret = ["~/.ipfs/config", "~/.ipfs/swarm.key"]
side_effect = false
[commands]
format = 1
label = "Kubo (IPFS)"
description = "Add files or directories to IPFS with ipfs add. Experimental chunking, inline and filestore options are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = false }
[[commands.subcommand]]
path = ["add"]
label = "Add files"
description = "Add one or more paths to the local node and pin them. Experimental options are left out."
[[commands.subcommand.source]]
id = "cli"
kind = "help"
url = "https://docs.ipfs.tech/reference/kubo/cli/"
revision = "kubo 0.43.1"
evidence = """
ipfs add <path>... - Add a file or directory to IPFS.
<path>... - The path to a file to be added to IPFS.
-r, --recursive bool - Add directory paths recursively.
-H, --hidden bool - Include files that are hidden. Only takes
-q, --quiet bool - Write minimal output.
-Q, --quieter bool - Write only final hash.
-n, --only-hash bool - Only chunk and hash - do not write to
-w, --wrap-with-directory bool - Wrap files with a directory object.
--pin bool - Pin locally to protect added files from
--cid-version int - CID version (0 or 1). CIDv1 automatically
--to-files string - Add reference to Files API (MFS) at the
--stdin-name string - Assign a name if the file source is stdin.
"""
[[commands.subcommand.field]]
id = "paths"
label = "Files or directories"
type = "path"
position = 0
multiple = true
path = { kind = "any", role = "input" }
sources = ["cli"]
[[commands.subcommand.field]]
id = "recursive"
label = "Add directories recursively"
type = "boolean"
option = ["--recursive", "-r"]
sources = ["cli"]
[[commands.subcommand.field]]
id = "hidden"
label = "Include hidden files"
type = "boolean"
option = ["--hidden", "-H"]
sources = ["cli"]
[[commands.subcommand.field]]
id = "wrap"
label = "Wrap in a directory"
type = "boolean"
option = ["--wrap-with-directory", "-w"]
sources = ["cli"]
[[commands.subcommand.field]]
id = "only_hash"
label = "Only hash, do not store"
type = "boolean"
option = ["--only-hash", "-n"]
sources = ["cli"]
[[commands.subcommand.field]]
id = "quieter"
label = "Print only the final hash"
type = "boolean"
option = ["--quieter", "-Q"]
sources = ["cli"]
[[commands.subcommand.field]]
id = "cid_version"
label = "CID version"
type = "integer"
option = ["--cid-version"]
sources = ["cli"]
[[commands.subcommand.field]]
id = "to_files"
label = "Also add to MFS path"
type = "string"
option = ["--to-files"]
sources = ["cli"]
[[commands.subcommand.task]]
id = "add-dir"
label = "Add a directory"
set = { recursive = [true] }
fields = ["paths", "recursive"]
required = ["paths"]
[[commands.subcommand.task]]
id = "hash-only"
label = "Compute the CID only"
set = { only_hash = [true], quieter = [true] }
fields = ["paths", "only_hash", "quieter"]
required = ["paths"]
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["paths", "recursive", "hidden", "wrap", "only_hash", "quieter"]
[[commands.subcommand.group]]
id = "advanced"
label = "Advanced"
fields = ["cid_version", "to_files"]