Configuration
The config file
Section titled “The config file”neo auth login writes ~/.config/neosource/config.json — more precisely, a
neosource/config.json under the platform config directory
($XDG_CONFIG_HOME or ~/.config on Linux, ~/Library/Application Support
on macOS, %APPDATA% on Windows). neo doctor prints the resolved path.
The file holds one stored login: the forge base URL, your account id and
handle, the bearer token, this machine’s name, and the paths of the SSH key
pair enrolled by neo auth login or neo ssh setup. It is written 0600 on Unix, and the mode is
re-applied even if the file already existed world-readable — it is a
credential store, not a preferences file.
neo auth logout removes the stored login; neo auth status prints who you
are signed in as and whether neo is registered as git’s credential helper.
How the host is resolved
Section titled “How the host is resolved”In order, first match wins:
--hoston the command line.NEOSOURCE_APIin the environment (the same clap value as--host, so an explicit flag beats it).- The stored login’s
base_url. - The compiled-in default.
The compiled-in default depends on how the binary was built: a debug build
(cargo run, just neo) targets http://neosource.localhost, the local
just dev stack; a release build (cargo install, just install) targets
https://neosource.dev.
A stored login is bound to the host it was minted for. Pointing --host at a
different host is treated as a conflict rather than a silent retarget: neo
uses the host you named and does not send that host the other one’s token.
neo run is the documented exception to step 2 — see
Environment variables.