The Sourcegraph src
CLI provides access to Sourcegraph via a command-line interface.
It currently provides the ability to:
- Execute search queries from the command line and get nice colorized output back (or JSON, optionally).
- Execute GraphQL queries against a Sourcegraph instance, and get JSON results back (
src api
).- You can provide your API access token via an environment variable or file on disk.
- You can easily convert a
src api
command into a curl command withsrc api -get-curl
.
- Manage repositories, users, and organizations using the
src repos
,src users
, andsrc orgs
commands.
If there is something you'd like to see Sourcegraph be able to do from the CLI, let us know! :)
curl -L https://github.com/sourcegraph/src-cli/releases/download/latest/src_darwin_amd64 -o /usr/local/bin/src
chmod +x /usr/local/bin/src
curl -L https://github.com/sourcegraph/src-cli/releases/download/latest/src_linux_amd64 -o /usr/local/bin/src
chmod +x /usr/local/bin/src
Note: Windows support is still rough around the edges, but is available. If you encounter issues, please let us know by filing an issue :)
Run in PowerShell as administrator:
New-Item -ItemType Directory 'C:\Program Files\Sourcegraph'
Invoke-WebRequest https://github.com/sourcegraph/src-cli/releases/download/latest/src_windows_amd64.exe -OutFile 'C:\Program Files\Sourcegraph\src.exe'
[Environment]::SetEnvironmentVariable('Path', [Environment]::GetEnvironmentVariable('Path', [EnvironmentVariableTarget]::Machine) + ';C:\Program Files\Sourcegraph', [EnvironmentVariableTarget]::Machine)
$env:Path += ';C:\Program Files\Sourcegraph'
Or manually:
- Download the latest src_windows_amd64.exe and rename to
src.exe
. - Place the file under e.g.
C:\Program Files\Sourcegraph\src.exe
- Add that directory to your system path to access it from any command prompt
Consult src -h
and src api -h
for usage information.
Some Sourcegraph instances will be configured to require authentication. You can do so via the environment:
SRC_ACCESS_TOKEN="secret" src ...
Or via the configuration file (~/src-config.json
):
{"accessToken": "secret"}
See src -h
for more information on specifying access tokens.
To acquire the access token, visit your Sourcegraph instance (or https://sourcegraph.com), click your profile picture, and select access tokens in the left hand menu.
If you want to develop the CLI, you can install it with go get
:
go get -u github.com/sourcegraph/src-cli/cmd/src
- Find the latest version (either via the releases tab on GitHub or via git tags) to determine which version you are releasing.
VERSION=9.9.9 ./release.sh
(replace9.9.9
with the version you are releasing)- Travis will automatically perform the release. Once it has finished, confirm that the curl commands fetch the latest version above.