| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
 |  | |||
Native Agora CLI for authentication, project management, quickstart setup, and developer onboarding. Use it to go from an Agora account to a runnable app with one command.
curl -fsSL https://dl.agora.io/cli/install.sh | shRun the CLI:
agora --helpThe script is served from the Agora CDN (dl.agora.io, CloudFront). Binaries download from GitHub by default and automatically fall back to the CDN mirror if GitHub is unreachable; downloads are verified against checksums.txt regardless of source.
Windows PowerShell:
irm https://dl.agora.io/cli/install.ps1 | iexIf your PowerShell execution policy blocks inline scripts (the default on most Windows clients), download the installer to disk and run it with -ExecutionPolicy Bypass. The Invoke-WebRequest form works on both Windows PowerShell 5.1 and PowerShell 7+:
Invoke-WebRequest -Uri https://dl.agora.io/cli/install.ps1 -OutFile .\install.ps1
powershell -ExecutionPolicy Bypass -File .\install.ps1Alternative install paths (GitHub-hosted; use install.ps1 for PowerShell):
# GitHub Pages
curl -fsSL https://agoraio.github.io/cli/install.sh | sh
# raw GitHub
curl -fsSL https://raw.githubusercontent.com/AgoraIO/cli/main/install.sh | shLocked-down environments that block curl | sh can download a release archive from GitHub or mirror the binary internally. Every release includes checksums.txt, a Cosign keyless signature, and an SBOM; see docs/install.md for manual tarball, checksum, and Cosign verification steps. The npm distribution is currently paused; the package on npm may be stale and should not be used.
Notes:
The default command already fetches the install script from the Agora CDN (dl.agora.io), so it works even where GitHub is blocked. Binaries still download from GitHub first (with automatic fallback to the mirror); in a fully-blocked region, add AGORA_INSTALL_SOURCE=s3 to skip GitHub entirely and avoid the failover delay:
# macOS, Linux, and Windows POSIX shells
curl -fsSL https://dl.agora.io/cli/install.sh | AGORA_INSTALL_SOURCE=s3 sh
# Windows PowerShell
$env:AGORA_INSTALL_SOURCE = 's3'; irm https://dl.agora.io/cli/install.ps1 | iexDownloads are still SHA-256 verified against checksums.txt regardless of source. AGORA_INSTALL_SOURCE accepts auto (default; GitHub then mirror), github, or s3. See docs/install.md for details.
go build -o agora .
./agora --helpRequires the Go toolchain pinned in go.mod. For direct installer options and source install notes, see docs/install.md.
agora login
agora init my-nextjs-demo --template nextjs
agora project doctor --jsonCommand examples use agora for the installed CLI. Local source builds use ./agora from the repo root.
| Goal | Command | What You Get |
|---|---|---|
| Next.js video app | agora init my-nextjs-demo --template nextjs | A cloned Next.js quickstart, project binding, and .env.local |
| Python voice agent | agora init my-python-demo --template python | A Python quickstart with Agora credentials written for the backend |
| Go voice agent | agora init my-go-demo --template go | A Go quickstart with Agora credentials written for the backend |
| Android voice AI app | agora init my-android-demo --template android | An Android client with credentials written only to the included Python server |
Android follows the same project binding and env-writing flow as the web quickstarts. Its nextSteps additionally cover starting the Python server, opening a temporary HTTPS tunnel, writing that public URL to local.properties, and assembling the Android client. The App Certificate remains only in server/.env.local.
Run agora quickstart list to see all available templates.
The command model is intentionally layered:
| Goal | Command |
|---|---|
| New user, one shot | agora init <name> --template <id> |
| List available templates | agora quickstart list |
| Clone a starter only | agora quickstart create ... |
| Re-sync env in a cloned quickstart | agora quickstart env write [dir] |
| Write env to an arbitrary path / non-quickstart repo | agora project env write <path> |
| Install self-test | agora doctor --json |
| Project/workspace readiness | agora project doctor --json |
| Manage feature webhooks | agora project webhook ... --json |
agora init <name> # recommended: project + clone + env
├── project
│ ├── env Print project env values (no file write)
│ └── env write <path> Generic dotenv block (AGORA_* or NEXT_*)
└── quickstart
└── env write [dir] Template-specific env file and key names
Discover the full command tree:
agora --help
agora --help --all
agora introspect --jsonRecommended onboarding command. It creates or binds a project, clones a quickstart, writes env, persists context, and prints next steps.
Manages standalone official starter repos and their runtime-specific env files.
Use this when you want to:
Manages remote Agora project resources.
Use this when you want to:
Handles login, logout, and current session inspection.
Reads and updates local CLI defaults such as output mode, log level, and browser behavior.
Reads and updates telemetry preferences. DO_NOT_TRACK=1 disables telemetry at runtime.
Opens curated URLs: Console (--target console), human CLI docs on GitHub Pages (docs), raw Markdown tree for agents (docs-md), and Agora product docs (product-docs). Use --no-browser to print the resolved URL.
Runs the CLI as a local MCP server so MCP-capable clients can call Agora workflows as tools. Authenticate with agora login on the host first; OAuth is not exposed through MCP.
Prints build metadata. Release binaries include version, commit, and build date.
quickstart env write and project env write both keep dotenv files limited to runtime credentials, but they target different workflows:
| Command | Env path | Key names |
|---|---|---|
| agora init / quickstart env write | Template-defined (.env.local, server/.env.local, etc.) | Template-specific (NEXT_PUBLIC_*, AGORA_*, …) |
| agora project env write <path> | User-supplied path | AGORA_* or NEXT_* only |
Quickstart template behavior:
project env write auto-detects Next.js workspaces (or accepts --template nextjs|standard) and writes AGORA_APP_ID / AGORA_APP_CERTIFICATE or the Next.js equivalents. Use quickstart env write when you want the CLI to choose the official quickstart's env path.
Existing .env and .env.local files are preserved: the CLI appends missing credentials, updates existing credential keys, and comments out duplicate or stale Agora credential aliases for the selected runtime.
See docs/automation.md for JSON fields and the full credential matrix.
The CLI writes repo-local project metadata to .agora/project.json so it can detect which Agora project a cloned demo is bound to even when you work inside the repo later.
Project resolution precedence is consistent across commands:
The .agora/project.json file is created or updated by:
It stores durable non-secret metadata:
Examples:
# Inside a bound quickstart repo
agora project show --json
# From any directory, target a repo path directly
agora quickstart env write /abs/path/to/my-go-demo --json
# Rebind a repo to a different project
agora quickstart env write /abs/path/to/my-go-demo --project my-other-project --jsonagora quickstart create my-go-demo --template go --project my-existing-project
agora quickstart env write my-go-demo --project my-existing-projectagora project use my-agent-demo
agora quickstart env write my-go-demoagora project create my-agent-demo --feature rtc --feature convoai
agora quickstart create my-go-demo --template go --project my-agent-demo
agora quickstart env write my-go-demo --project my-agent-demoFor scripts, CI, and agentic workflows:
Example:
export AGORA_HOME="$(mktemp -d)"
agora init my-nextjs-demo --template nextjs --json
agora quickstart create my-python-demo --template python --project my-project --json
agora quickstart env write my-python-demo --json
agora project doctor --json
agora auth status --jsonauth status --json exits 3 with error.code set to AUTH_UNAUTHENTICATED when no local session exists.
The CLI stores config, session, context, and logs under the Agora CLI config directory for the current machine.
Useful commands:
agora config path
agora config getBuilt-in default config values are documented in config.example.json.
For a full troubleshooting guide with diagnostic commands, see docs/troubleshooting.md.
Start with the right doctor command:
The most common issues:
Full guide with debug logging, CI tips, completion troubleshooting, and the --debug flag: docs/troubleshooting.md.
| Back | FazBrowse Home | New Git URL |