Interactive CLI to set up Ethora SDK projects. Register an account, create apps, obtain credentials, and generate config files — all without leaving the terminal.
Part of the Ethora SDK ecosystem — see all SDKs, tools, and sample apps. Follow cross-SDK updates in the Release Notes.
| Repository | Description |
|---|---|
| ethora | SDK monorepo — all SDKs, tools, and samples |
| ethora-chat-component | React.js chat SDK |
| ethora-chat-component-rn | React Native chat SDK |
| ethora-sdk-android | Native Android SDK (Kotlin) |
| ethora-sdk-swift | Native iOS SDK (Swift) |
| ethora-wp-plugin | WordPress plugin |
| ethora-setup | This repo — CLI setup tool |
| ethora-mcp-server | MCP server for AI/IDE integration |
npx @ethora/setupOr install globally:
npm install -g @ethora/setup
ethora-setup- Creates an Ethora Cloud account (or uses your existing one)
- Creates an app and obtains API credentials automatically
- Generates config files for your target SDK (Android, iOS, React, React Native, WordPress)
- Manages profiles so you can switch between Cloud and self-hosted servers
$ npx @ethora/setup
◇ Server type: Cloud (app.ethora.com)
◇ Do you have an account? No, create one for me
◇ Email: developer@company.com
◇ First name: Jane
◇ Last name: Developer
◆ Check developer@company.com for a verification email...
◇ Password: ********
✔ Logged in as Jane Developer
◇ App name: My Chat App
✔ App created! ID: 64abc123...
◇ Web app: https://mychatapp.ethora.com
◇ Profile saved: cloud-mychatapp
◇ Generate SDK config files now? Yes
◇ Which SDK? Android (Kotlin/Compose)
✔ Written: ethora.properties (Gradle)
✔ Written: EthoraConfig.kt (Kotlin)
$ npx @ethora/setup
◇ Server type: Self-hosted
◇ API endpoint: https://api.myserver.com/v1
◇ XMPP WebSocket: wss://xmpp.myserver.com:5443/ws
◇ XMPP host: xmpp.myserver.com
◇ XMPP conference: conference.xmpp.myserver.com
◇ App ID: 64abc123...
◇ App Token: JWT eyJ...
✔ Profile saved: self-hosted-prod
$ npx @ethora/setup
◇ Switch active profile
◇ Switch to: self-hosted-prod
✔ Active profile: self-hosted-prod
$ npx @ethora/setup
◇ Generate config files for current profile
◇ Which SDK? React.js (Web)
✔ Written: .env.ethora
| SDK | Files |
|---|---|
| Android | ethora.properties, EthoraConfig.kt |
| iOS (Swift) | EthoraConfig.swift |
| React.js | .env.ethora |
| React Native | .env.ethora |
| WordPress | ethora-config.php |
Profiles are stored in ~/.ethora/profiles.json. Each profile contains:
- Server endpoints (API, XMPP)
- App ID and token
- Server type (cloud or self-hosted)
You can have multiple profiles and switch between them.
git clone https://github.com/dappros/ethora-setup.git
cd ethora-setup
npm install
npm run dev # Run with tsx (no build needed)
npm run build # Compile TypeScriptMIT