A Zig library for Bluesky activity and feed analytics, built on Zat.
tend docs cli.md
2.4 kB
Markdown
at main

using the CLI #

Build with zig build -Doptimize=ReleaseSafe, then run zig-out/bin/tend --help for commands. Reports read local evidence without fetching. No command changes follows, mutes, or lists.

public account activity #

Public activity collection needs no login. Hubble is a repository mirror from which Tend can download an account's retained records. Replace YOUR_DID with the account's AT Protocol DID:

zig-out/bin/tend mirror-fetch https://hubble.microcosm.blue YOUR_DID

The result includes directory and result.checkpoint.path. Join those to get the archive's full path, used as ARCHIVE_PATH below. Extract the account's followed DIDs, then collect their activity for a 90-day window with three workers:

zig-out/bin/tend archive-follows car ARCHIVE_PATH YOUR_DID > follows.json
zig-out/bin/tend survey https://hubble.microcosm.blue follows.json 90 3

The survey prints a manifest path and per-account outcomes. Resume that run with survey-resume MANIFEST_PATH. To report on saved evidence, use the window end printed at result.window.until in the survey output as UNTIL_MICROS:

zig-out/bin/tend survey-report https://hubble.microcosm.blue follows.json UNTIL_MICROS 90

See collection and publication for source checks, concurrency, checkpoint reuse, and the meaning of a completed attempt.

timeline and private relationships #

Supply ATPROTO_HANDLE and ATPROTO_PASSWORD through your secret manager's process environment; use an app password. Select the AppView explicitly with TEND_APPVIEW, for example did:web:api.bsky.app#bsky_appview.

zig-out/bin/tend whoami
zig-out/bin/tend timeline 2

whoami verifies the account identity. timeline saves a sample and prints its path. Use that path to rank both the authors and the accounts introducing entries:

zig-out/bin/tend feed-report SAMPLE_PATH

follows and mutes read the selected AppView's relationships independently. The data-source guide explains how those observations differ from repository records.

local evidence #

Evidence defaults to $XDG_CACHE_HOME/tend or ~/.cache/tend. tend paths prints the resolved storage locations. Credentials are not saved in evidence files. The library guide describes archive formats, retained records, and coverage when choosing another analysis window.