summaryrefslogtreecommitdiffhomepage
path: root/packages/web/src/content/docs/cli.mdx
diff options
context:
space:
mode:
authorDax Raad <[email protected]>2025-09-02 23:30:26 -0400
committerDax Raad <[email protected]>2025-09-02 23:30:48 -0400
commit1c31c2dd977d6e1c3a8e2e33cb6d4717b7897e7a (patch)
tree0fef7df3b9b5d540acde4a2c3b2f031972b846a9 /packages/web/src/content/docs/cli.mdx
parentc1d754bec9f54836f66181dd37d279f0ffe2e6e5 (diff)
downloadopencode-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.mdx238
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 |