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] # NullClaw's official configuration guide documents ~/.nullclaw/config.json # on macOS/Linux and %USERPROFILE%\\.nullclaw\\config.json on Windows. The # config is ordinary syncable content, while documented provider and channel # credentials are extracted below. # https://github.com/nullclaw/nullclaw/blob/main/docs/en/configuration.md#config-file-path 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 | `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"]