Requirements before you start:
- Node.js 20 or newer — check with
node --version - npm — bundled with Node.js
- A Git repository — the CLI must be run from inside a repository with at least one commit
- Freighter wallet — configured for Stellar testnet (freighter.app)
- An Aven stream — where your wallet address is the designated recipient
Option 1: Run with npx (Recommended)
No installation required.npx downloads and runs aven-stellar automatically, always resolving the latest published version:
Option 2: Global Install
Installaven-stellar once and use it across all your projects:
aven and aven-stellar command aliases are available on your PATH:
Force the Latest Version
When testing a newly published release, tellnpx to bypass its cache and resolve the current package from the registry:
First-Time Authorization
The first time you runaven start in a repository, the CLI guides you through a one-time setup to connect to your Aven stream and authorize your wallet.
1
Open a terminal inside your Git repository
Navigate to the project directory where your work will happen. The CLI requires at least one existing commit.
2
Run aven start
3
Enter the Aven dashboard URL
When prompted, provide the Aven dashboard URL. For the hosted instance:For local development, use
http://localhost:3000.4
Enter your stream ID
Enter the stream ID provided by your employer (digits only). This identifies the payment agreement you are working against.
5
Authorize in the browser
The CLI opens
/cli/authorize in your default browser. The Aven dashboard will prompt you to sign an authorization message with your Freighter wallet.The CLI never receives your wallet secret key. It only receives a scoped, short-lived authorization token after you sign the request in your browser.
6
Authorization complete
After signing, the browser confirms success and the CLI continues. The authorization token is saved to
.aven/config.json for all future sessions in this repository.The .aven/ Directory
After first-time setup, the CLI creates a .aven/ directory in your repository root. This directory holds local session state and should not be committed.
The
.aven/ directory itself is created with mode 0700 (owner access only), and each file inside is created with mode 0600 (owner read/write only).
The CLI also creates .avenignore in your repository root on first aven start. This file works like .gitignore and controls which paths are excluded from work reports. See the Privacy & Safety page for details.
Re-Authorization
If your dashboard URL or stream ID changes, you need to re-authorize: Option A — Delete and re-run:--non-interactive alongside a changed --dashboard or --stream flag, the CLI exits with an error instead of prompting. Delete .aven/config.json manually before running the automated workflow.