Skip to content

Command reference

phpbotscout --help lists sixteen commands. Five of them are this project's; the rest come from go-tool-base, the framework the tool is built on, and behave the same way in every phpboyscout tool.

phpbotscout's own commands

Command Description
serve Run the daemon: the Discord gateway, answering, and the scheduled index refresh
ask Answer a question from the indexed documentation
index Manage the knowledge index
index sources List discovered sources and why each was admitted or rejected
index build Build the index from scratch
index refresh Re-index only the sources that have changed
index status Report what is indexed and how stale it is
review Review the answers the bot composed in shadow mode
review status Report how many shadow answers have been reviewed
forget Disconnect a person from everything the bot holds about them, or list it

Commands inherited from the framework

These are not documented page by page here. They are the framework's surface rather than this tool's, and they are documented with it. What is worth knowing is that they exist, because --help lists them and nothing else in these docs mentions them.

Command What it does Notes for phpbotscout
init Create the configuration file and bootstrap subsystems Run this first: most commands refuse to start without a config file
config Get, set, list, validate and locate configuration config path prints which files are actually being read
doctor Run diagnostic checks and print a pass/warn/fail report doctor report produces a redacted, paste-ready support bundle
version Print version, commit and build date Also checks the release source for a newer version
update Replace the running binary with a newer release
changelog Show the embedded version history Embedded at build time
telemetry Enable, disable, inspect or reset usage telemetry Off unless you opt in
docs Browse the embedded documentation in the terminal Needs a build carrying the docs assets; a plain go install build omits them
mcp Run phpbotscout as an MCP server for an AI editor
completion Generate a shell completion script

Global flags

Declared on the root command, so every command above accepts them.

Flag Type Default Meaning
--config string array /etc/phpbotscout/config.yaml, $HOME/.phpbotscout/config.yaml Config files to read. Naming one replaces the defaults rather than adding to them, and suppresses the project-local .phpbotscout.yaml layer
--debug bool false Force debug-level logging, whatever log.level says
--ci bool false Declare a CI environment. A literal credential in config is refused when CI is signalled
--accessible bool false Run prompts as plain line prompts rather than a full-screen form. Also GTB_ACCESSIBLE=true
--output string text Output format: text or json
-h, --help bool false Help for the command

--config is the one most likely to surprise: it is a replacement, not an addition. See where configuration is read from.

What the commands cannot do

  • They post only where a server opts in, and cannot moderate. serve answers in every server it serves, but posts the answer, opens its thread and adds the reactions only in a server whose post_answers is set. Nothing in this binary moderates. See what phpbotscout does not do.
  • They cannot index a repository you name. The corpus is enumerated from the forge and filtered by a predicate; no flag or config key adds a source by hand. See what the bot is allowed to read.
  • They have no flag for the AI provider. ask reads ai.provider and ai.model from configuration only. There is no --provider on phpbotscout ask. The framework's docs ask has such a flag, but that is a different command answering from embedded documentation.