Package Reference
Caatinga is published as modular TypeScript npm packages under the @caatinga scope.
| Package | Role | Browser-safe | Install command |
|---|---|---|---|
@caatinga/cli |
CLI binary (caatinga / ctg) |
No | npm install -g @caatinga/cli |
@caatinga/core |
Config loading, artifact I/O, Stellar CLI orchestration | No (use ./browser) |
Dependency of @caatinga/cli |
@caatinga/core/browser |
Errors + artifact types only (excludes Node modules) | Yes | Dependency of @caatinga/client |
@caatinga/client |
createCaatingaClient, wallet session, invoke/read/simulate/buildXdr |
Yes | npm install @caatinga/client |
@caatinga/client/react |
WalletProvider + useWallet (React >=18 optional peer) |
Yes | Subpath of @caatinga/client |
@caatinga/client/vite |
SWK bundler helpers: walletStubViteAliases, walletStubOverrides |
Yes | Subpath of @caatinga/client |
@caatinga/client/freighter |
Freighter wallet adapter | Yes | Subpath of @caatinga/client |
@caatinga/client/stellar-wallets-kit |
Multi-wallet adapter (Freighter, xBull, etc.) | Yes | Subpath of @caatinga/client |
@caatinga/zk |
ZK proof serialization, Circom Groth16 helpers | No (use ./browser) |
Dependency of @caatinga/cli |
@caatinga/zk/browser |
Browser ZK binding helpers | Yes | Subpath of @caatinga/zk |
Release & Versioning Policy
- Latest release:
3.9.2(all four packages ship in lockstep). - Status: v1.0 stable contract on npm major
3.x. Breaking changes to the Tier 1 surface require a major bump and will land on an explicit4.0.0. ZK commands (ctg zk *) are experimental and outside the contract. - Reproducible CI: Pin an exact version (e.g.
@caatinga/cli@3.9.2) rather than floating tags. - Stellar CLI Compatibility: Hard floor 23.0.0; last tested 27.0.0.
@caatinga/clidependency ranges:@caatinga/coreand@caatinga/zk^3.9.1or later, kept aligned with the release group.
3.9.2 highlights
- Security fix:
identity export/importno longer leave a leftover tarball of Stellar secret keys inos.tmpdir(). See CLI Identity Reference for the remediation steps if you ran either command before upgrading. - Smaller install: the published
@caatinga/clitarball dropped from 95.3 MB packed / 283.7 MB unpacked to 67.4 kB — the Rusttarget/build directory andtest_snapshotsare now excluded from what gets published. sync-envno longer wipes unrelated variables in the target env file; concurrentdeploy/upgradeno longer race oncaatinga.artifacts.json;deployretries when the RPC hasn’t indexed a just-uploaded WASM yet. See Gotchas for the full list.