aven-stellar command and flag. All commands can be run with npx aven-stellar <command> or, after a global install, with aven <command>. See the Installation page for setup instructions.
aven start
Start recording project activity for the configured Aven stream.
Flags
string
The Aven stream ID (digits only). When provided, this value is compared against the saved configuration in
.aven/config.json. If it differs from the saved stream ID, the CLI prompts you to reset and re-authorize. In --non-interactive mode, a mismatch exits with an error instead of prompting.string
The full URL of the Aven dashboard (e.g.
https://aven-chi.vercel.app). When provided and different from the saved URL, the CLI prompts you to reset and re-authorize. In --non-interactive mode, a mismatch exits with an error.boolean
Skips the data collection confirmation prompt. Required for automated or CI environments. Fails immediately if the saved config is missing, needs re-authorization, or if
--stream/--dashboard differ from the saved values.Behavior
First run: The CLI prompts for the dashboard URL and stream ID, then opens your browser to/cli/authorize for Freighter wallet authorization. After authorization it saves the token to .aven/config.json and launches the background activity watcher.
Subsequent runs: Reads .aven/config.json, re-validates the stream against the dashboard (confirming the stream is active and your wallet is still the recipient), refreshes the rate if it has changed, and immediately starts the background watcher.
The activity watcher is a lightweight background process that monitors file change events. It records active vs. idle time without reading file contents and updates .aven/session.json with a periodic heartbeat.
Before starting, the CLI prints a summary of what will be collected and asks for confirmation (skipped with --non-interactive):
Error Cases
aven stop
Stop the session, generate a work report, and optionally submit it to the Aven dashboard.
Flags
string
A worker-written summary of what was accomplished during this session. Included in the submitted report and visible to the employer on the stream page. If omitted, the CLI prompts you to enter a summary interactively.
boolean
Submits the previewed report immediately without displaying an additional confirmation prompt. When this flag is omitted, the CLI prints the full report and asks before sending it to the dashboard.
boolean
Marks this as the final project session. Triggers delivery branch selection, verifies each selected branch’s head commit against the connected GitHub repository, and requests settlement of the remaining unreserved escrow. See The —ended flag in detail below.
Behavior
- Sends
SIGTERMto the background watcher process and waits up to 3 seconds for it to exit - Reads the final session state from
.aven/session.json(the watcher writes its last heartbeat before exiting) - Captures the current Git state — branch, commits since session start, diff statistics, and changed file paths
- Calculates the payment amount:
active seconds × stream rate, capped by the unreserved escrow on the stream - Writes the full report to
.aven/report.jsonlocally - Displays the report for review
- If
--submitis not passed: prompts before submitting to the dashboard - On successful submission: deletes
.aven/session.jsonand prints the submitted session ID and a link to review it
The --ended Flag in Detail
Use --ended only for the project’s final work session. It activates a separate delivery flow on top of the normal stop:
- The CLI lists all local branches and prompts you to select the delivery branches (or choose all)
- For each selected branch, it resolves the head commit hash from your local Git history
- It verifies each branch’s head commit against the connected GitHub repository via the Aven dashboard API
- Branches that are missing from the remote or that don’t match the expected head commit are flagged with a warning — push them before requesting final payment
- The delivery branch list, head commits, and verification results are included in the submitted report
- The server calculates the remaining unreserved escrow and converts it to a contract-compatible duration for the
verify_workentrypoint - The real npm-tracked active seconds are preserved in the report separately from this compatibility duration
- Pending or reserved payments must be resolved before a final session can be submitted
- Final sessions require explicit employer approval in the dashboard — they are not automatically released
aven status
Show the current session status and estimated payment amount.
.aven/session.json and .aven/config.json and prints a live summary:
aven sessions
List work sessions submitted to the configured stream.
SUBMITTED, PENDING, APPROVED, DISPUTED, and RESPONSE_SUBMITTED. Disputed sessions show an excerpt of the dispute reason; sessions with a submitted worker response show the response excerpt.
