@tatweer-core/cli
v1.1.0
Published
Tatweer core CLI — publish app builds to the Tatweer core console from your terminal.
Readme
@tatweer/core
Command-line tool to publish app builds to the Tatweer core console — the same "Deploy App Version" flow you use in the browser, driven from your terminal or CI.
Install
npm install -g @tatweer-core/cliRequires Node.js 18+ (an LTS release such as 20 is recommended). Verify with
tatweer --version.
Authenticate
- Sign in to the console → API Tokens → Generate.
- Copy the token (shown once) and log in. The console URL is built in, so you only need the token — paste it at the hidden prompt (recommended: no quoting, stays out of shell history):
tatweer login
# API token: ••••••••••••Alternatives:
# pass it inline — QUOTE it, the "|" in id|hash is a shell pipe
tatweer login --token "12|xxxxxxxxxxxx"
# or via env var (ideal for CI)
export TATWEER_TOKEN="12|xxxxxxxxxxxx"
tatweer loginAdvanced:
--url <url>overrides the console host (for self-hosted or staging instances). You normally never need it.
Credentials are stored in ~/.tatweer/config.json (chmod 600).
Commands
| Command | Description |
|---|---|
| tatweer login -u <url> -t <token> | Verify and store a token |
| tatweer whoami | Show the account behind the stored token |
| tatweer projects | List projects you can publish to (with envs + sub-apps) |
| tatweer deploy … | Upload and publish a build |
| tatweer logout | Remove stored credentials |
Deploy
tatweer deploy \
--project basra-center \
--env production \
--file ./build/app.apk \
--name v2.1.0 \
--changelog "Bug fixes and performance improvements"Options:
| Flag | Required | Description |
|---|---|---|
| -p, --project <slug> | ✓ | Project slug (tatweer projects) |
| -e, --env <environment> | ✓ | staging or production |
| -f, --file <path> | ✓ | .apk, .ipa, or .zip package |
| -n, --name <version> | ✓ | Version name, e.g. v2.1.0 |
| -c, --changelog <text> | ✓* | Release notes |
| --changelog-file <path> | ✓* | Read changelog from a file |
| -s, --sub-app <identifier> | | Target sub-app identifier |
| --no-latest | | Don't mark this build as the latest |
* one of --changelog / --changelog-file is required.
The upload streams directly to object storage via a short-lived presigned URL, so large packages don't pass through the application server.
CI usage
Set the token via a secret and log in non-interactively:
tatweer login --url "$APPVERSIONS_URL" --token "$APPVERSIONS_TOKEN"
tatweer deploy -p my-app -e staging -f ./app.apk -n "v$CI_BUILD" --changelog-file ./CHANGELOG.md