diff options
| author | Dax Raad <[email protected]> | 2025-09-02 23:30:26 -0400 |
|---|---|---|
| committer | Dax Raad <[email protected]> | 2025-09-02 23:30:48 -0400 |
| commit | 1c31c2dd977d6e1c3a8e2e33cb6d4717b7897e7a (patch) | |
| tree | 0fef7df3b9b5d540acde4a2c3b2f031972b846a9 /packages/web/src/content/docs/cli.mdx | |
| parent | c1d754bec9f54836f66181dd37d279f0ffe2e6e5 (diff) | |
| download | opencode-1c31c2dd977d6e1c3a8e2e33cb6d4717b7897e7a.tar.gz opencode-1c31c2dd977d6e1c3a8e2e33cb6d4717b7897e7a.zip | |
wip: zen
Diffstat (limited to 'packages/web/src/content/docs/cli.mdx')
| -rw-r--r-- | packages/web/src/content/docs/cli.mdx | 238 |
1 files changed, 238 insertions, 0 deletions
diff --git a/packages/web/src/content/docs/cli.mdx b/packages/web/src/content/docs/cli.mdx new file mode 100644 index 000000000..903c3638d --- /dev/null +++ b/packages/web/src/content/docs/cli.mdx @@ -0,0 +1,238 @@ +--- +title: CLI +description: opencode CLI options and commands. +--- + +import { Tabs, TabItem } from "@astrojs/starlight/components" + +The opencode CLI by default starts the [TUI](/docs/tui) when run without any arguments. + +```bash +opencode +``` + +But it also accepts commands as documented on this page. This allows you to interact with opencode programmatically. + +```bash +opencode run "Explain how closures work in JavaScript" +``` + + + +--- + +## Commands + +The opencode CLI also has the following commands. + +--- + +### agent + +Manage agents for opencode. + +```bash +opencode agent [command] +``` + +--- + +#### create + +Create a new agent with custom configuration. + +```bash +opencode agent create +``` + +This command will guide you through creating a new agent with a custom system prompt and tool configuration. + +--- + +### auth + +Command to manage credentials and login for providers. + +```bash +opencode auth [command] +``` + +--- + +#### login + +opencode is powered by the provider list at [Models.dev](https://models.dev), so you can use `opencode auth login` to configure API keys for any provider you'd like to use. This is stored in `~/.local/share/opencode/auth.json`. + +```bash +opencode auth login +``` + +When opencode starts up it loads the providers from the credentials file. And if there are any keys defined in your environments or a `.env` file in your project. + +--- + +#### list + +Lists all the authenticated providers as stored in the credentials file. + +```bash +opencode auth list +``` + +Or the short version. + +```bash +opencode auth ls +``` + +--- + +#### logout + +Logs you out of a provider by clearing it from the credentials file. + +```bash +opencode auth logout +``` + +--- + +### github + +Manage the GitHub agent for repository automation. + +```bash +opencode github [command] +``` + +--- + +#### install + +Install the GitHub agent in your repository. + +```bash +opencode github install +``` + +This sets up the necessary GitHub Actions workflow and guides you through the configuration process. [Learn more](/docs/github). + +--- + +#### run + +Run the GitHub agent. This is typically used in GitHub Actions. + +```bash +opencode github run +``` + +##### Flags + +| Flag | Description | +| --------- | -------------------------------------- | +| `--event` | GitHub mock event to run the agent for | +| `--token` | GitHub personal access token | + +--- + +### models + +List all available models from configured providers. + +```bash +opencode models +``` + +This command displays all models available across your configured providers in the format `provider/model`. + +--- + +### run + +Run opencode in non-interactive mode by passing a prompt directly. + +```bash +opencode run [message..] +``` + +This is useful for scripting, automation, or when you want a quick answer without launching the full TUI. For example. + +```bash "opencode run" +opencode run Explain the use of context in Go +``` + +#### Flags + +| Flag | Short | Description | +| ------------ | ----- | ------------------------------------------ | +| `--continue` | `-c` | Continue the last session | +| `--session` | `-s` | Session ID to continue | +| `--share` | | Share the session | +| `--model` | `-m` | Model to use in the form of provider/model | +| `--agent` | | Agent to use | + +--- + +### serve + +Start a headless opencode server for API access. Check out the [server docs](/docs/server) for the full HTTP interface. + +```bash +opencode serve +``` + +This starts an HTTP server that provides API access to opencode functionality without the TUI interface. + +#### Flags + +| Flag | Short | Description | +| ------------ | ----- | --------------------- | +| `--port` | `-p` | Port to listen on | +| `--hostname` | `-h` | Hostname to listen on | + +--- + +### upgrade + +Updates opencode to the latest version or a specific version. + +```bash +opencode upgrade [target] +``` + +To upgrade to the latest version. + +```bash +opencode upgrade +``` + +To upgrade to a specific version. + +```bash +opencode upgrade v0.1.48 +``` + +#### Flags + +| Flag | Short | Description | +| ---------- | ----- | ----------------------------------------------------------------- | +| `--method` | `-m` | The installation method that was used; curl, npm, pnpm, bun, brew | + +--- + +## Flags + +The opencode CLI takes the following global flags. + +| Flag | Short | Description | +| -------------- | ----- | ------------------------------------------ | +| `--help` | `-h` | Display help | +| `--version` | | Print version number | +| `--print-logs` | | Print logs to stderr | +| `--log-level` | | Log level (DEBUG, INFO, WARN, ERROR) | +| `--prompt` | `-p` | Prompt to use | +| `--model` | `-m` | Model to use in the form of provider/model | +| `--agent` | | Agent to use | +| `--port` | | Port to listen on | +| `--hostname` | | Hostname to listen on | |
