id = "core-lightning" name = "Core Lightning" homepage = "https://github.com/ElementsProject/lightning" description = "Lightning Network implementation focusing on spec compliance and performance" executables = ["lightningd", "lightning-cli", "lightning-hsmtool"] [dotfiles] # Core Lightning's upstream README documents ~/.lightning/config and a # network-specific ~/.lightning//config. Its backup guide identifies # hsm_secret in those same directories as the node's confidential secret. # https://github.com/ElementsProject/lightning # https://github.com/ElementsProject/lightning/blob/master/doc/beginners-guide/backup.md paths = [ "~/.lightning/config", "~/.lightning/*/config", ] secret = [ "~/.lightning/hsm_secret", "~/.lightning/*/hsm_secret", ] side_effect = false [commands] format = 1 label = "Call lightning-cli" description = "Send one RPC command to a running lightningd, such as getinfo or listpeers. Only lightning-cli is covered; lightningd and lightning-hsmtool are not." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = false, short_bundles = false } [[commands.source]] id = "man" kind = "manual" url = "https://github.com/ElementsProject/lightning/blob/master/doc/lightning-cli.1.md" revision = "2026-10-27" evidence = """ lightning-cli [OPTIONS] command * --lightning-dir=DIR Set the directory for the lightning daemon we're talking to; defaults to $HOME/.lightning. * --network=network * --mainnet * --testnet * --signet * --regtest Sets network explicitly. * --rpc-file=FILE * --keywords/-k Use format key=value for parameters in any order * --json/-J * --raw/-R * --human-readable/-H Return result in human-readable output. """ [[commands.field]] id = "command" label = "RPC command" description = "For example getinfo, listpeers, listfunds or help." type = "string" position = 0 min = 1 suggestions = [{ value = "getinfo", label = "getinfo" }, { value = "listpeers", label = "listpeers" }, { value = "listfunds", label = "listfunds" }, { value = "help", label = "help" }] sources = ["man"] [[commands.field]] id = "args" label = "Command arguments" description = "Positional values, or key=value pairs when Keyword parameters is on." type = "string" position = 1 multiple = true min = 0 sources = ["man"] [[commands.field]] id = "lightning_dir" label = "Lightning directory" type = "path" option = ["--lightning-dir"] path = { kind = "directory", role = "input", must_exist = true } sources = ["man"] [[commands.field]] id = "network" label = "Network" type = "string" option = ["--network"] suggestions = [{ value = "bitcoin", label = "Mainnet" }, { value = "testnet", label = "Testnet" }, { value = "signet", label = "Signet" }, { value = "regtest", label = "Regtest" }] sources = ["man"] [[commands.field]] id = "rpc_file" label = "RPC socket file" type = "path" option = ["--rpc-file"] path = { kind = "file", role = "input", must_exist = true } sources = ["man"] [[commands.field]] id = "keywords" label = "Keyword parameters" description = "Pass arguments as key=value in any order." type = "boolean" option = ["--keywords", "-k"] sources = ["man"] [[commands.field]] id = "human_readable" label = "Human-readable output" type = "boolean" option = ["--human-readable", "-H"] sources = ["man"] [[commands.field]] id = "raw" label = "Raw JSON output" type = "boolean" option = ["--raw", "-R"] sources = ["man"] [[commands.task]] id = "getinfo" label = "Node info" fields = ["command", "lightning_dir", "network", "human_readable"] required = [] set = { command = ["getinfo"] } lock = ["command"] [[commands.task]] id = "call" label = "Call any command" fields = ["command", "args", "keywords", "lightning_dir", "network"] required = ["command"] [[commands.group]] id = "basic" label = "Basic" fields = ["command", "args", "keywords", "network"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["lightning_dir", "rpc_file", "human_readable", "raw"]