id = "nullclaw"
name = "NullClaw"
homepage = "https://github.com/nullclaw/nullclaw"
description = "Fastest, smallest, and fully autonomous AI assistant infrastructure written in Zig"
executables = ["nullclaw"]
[dotfiles]
paths = ["~/.nullclaw/config.json"]
secret = []
[[dotfiles.secret_paths]]
file = "~/.nullclaw/config.json"
format = "json"
match = { key_path = ["models.providers.*.api_key", "channels.*.accounts.*.bot_token", "channels.*.accounts.*.webhook_secret"] }
[commands]
format = 1
label = "nullclaw"
description = "Chat with the agent or start the gateway. Onboarding, channels, services and migration are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = false, short_bundles = false }
[[commands.subcommand]]
path = ["agent"]
label = "Talk to the agent"
description = "Send a single message, or leave the message empty for interactive chat."
[[commands.subcommand.source]]
id = "readme"
kind = "help"
url = "https://raw.githubusercontent.com/nullclaw/nullclaw/HEAD/README.md"
revision = "HEAD 2026-10-27"
evidence = """nullclaw agent -m "Hello, nullclaw!"
nullclaw agent
nullclaw agent --agent <name>
| `agent -m "..."` | Single message mode |
| `agent` | Interactive chat mode |"""
[[commands.subcommand.field]]
id = "message"
label = "Message"
description = "Leave empty for interactive chat."
type = "string"
option = ["-m"]
sources = ["readme"]
[[commands.subcommand.field]]
id = "agent"
label = "Agent profile"
description = "Named agent profile from agents.list."
type = "string"
option = ["--agent"]
sources = ["readme"]
[[commands.subcommand.task]]
id = "chat"
label = "Interactive chat"
fields = ["agent"]
required = []
[[commands.subcommand.task]]
id = "single"
label = "Single message"
fields = ["message", "agent"]
required = ["message"]
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["message", "agent"]
[[commands.subcommand]]
path = ["gateway"]
label = "Start the gateway"
description = "Run the gateway (default 127.0.0.1:3000)."
[[commands.subcommand.source]]
id = "readme"
kind = "help"
url = "https://raw.githubusercontent.com/nullclaw/nullclaw/HEAD/README.md"
revision = "HEAD 2026-10-27"
evidence = """nullclaw gateway # default: 127.0.0.1:3000
nullclaw gateway --port 8080 # custom port"""
[[commands.subcommand.field]]
id = "port"
label = "Port"
type = "integer"
option = ["--port"]
sources = ["readme"]
[[commands.subcommand.task]]
id = "serve"
label = "Start gateway"
fields = ["port"]
required = []
[[commands.subcommand.group]]
id = "basic"
label = "Basic"
fields = ["port"]