CLI
Install the CLI
Install the sankofa CLI from npm, meet the platform prerequisites for iOS and Android builds, verify the install with sankofa doctor, and keep it up to date.
The Sankofa CLI is published to npm as sankofa-cli and installs a single binary named sankofa. It is the one tool you use to scaffold SDK integrations, ship OTA releases and patches (Flutter + React Native), manage feature flags and remote config, upload crash symbols, and seed demo data.
Install from npm
npm install -g sankofa-cliThis puts a sankofa executable on your PATH. Confirm it:
sankofa --version
sankofa --helpYou can also run it without a global install using npx:
npx sankofa-cli@latest doctorPrerequisites
Node.jsruntimeRequireddefault 18+Xcode + macOSiOS buildsAndroid SDK + JDK 17Android buildsFlutter or React Native projectworkspaceSankofa Flutter runtimeFlutter Deploy onlyYou do not need to install or configure the runtime by hand for a Flutter Deploy project — sankofa init --deploy and sankofa engine install do it for you. See the engine reference.
Verify your toolchain
sankofa doctor reports on every moving part — Node, Xcode, Java/Gradle, the Flutter SDK, the Android SDK, server reachability, and (for Flutter Deploy projects) the full native wiring.
sankofa doctor # full toolchain + integration check
sankofa doctor --deploy # focus on Sankofa Deploy wiring onlyRun it before your first release; it flags a missing engine, an unsigned project, or a broken native patch long before a build fails.
Keeping the CLI up to date
There are two update commands with different scopes.
sankofa upgrade — just the CLI binary
sankofa upgrade # check npm and install if a newer version exists
sankofa upgrade --check # dry-run: report only, change nothing
sankofa upgrade --sudo # run the install under sudo (CI that plans for it)sankofa update — the whole stack
A developer machine has four moving parts: the CLI itself, the bundled Sankofa Flutter SDK, the engine cache, and the per-project pub.dev SDK. update checks all four in one sweep.
sankofa update # check + apply updates to all four surfaces
sankofa update --check # dry-run: report what would change
sankofa update --only cli # bump the CLI only
sankofa update --only flutter # refresh the bundled Sankofa Flutter SDK only
sankofa update --only engine # refresh the engine cache only
sankofa update --only sdk # flutter pub upgrade sankofa_flutter in this projectThe CLI also prints a one-line update notice after commands when a newer version is available. Silence it by setting SANKOFA_NO_UPDATE_CHECK=1 (the notice is already suppressed automatically when CI is set).