Hyper PM
CLI reference

repo, sync & audit

Repository helpers, GitHub sync, and the audit log — full CLI reference.

repo (read-only)

Helpers run against the checked-out repository, not the hyper-pm data worktree.

repo commit-authors

JSON { "items": [{ "name", "email", "loginGuess?" }] } — unique authors by email (most recent first), with optional GitHub login guess.

No required flags.

repo suggest-assignee-login

JSON { "loginGuess": string | null }.

FlagRequiredDescription
--email <e>yesEmail to match
--name <n>noExtra hint when email alone is ambiguous

sync

By default, sync reconciles the hyper-pm-data branch over git (fetch / merge / push) with no GitHub Issues API and no GITHUB_TOKEN. JSON includes gitDataOnly, dataBranchFetch, dataBranchMerge, dataBranchPush, optional dataBranchPushDetail, and pushAttempts.

FlagDefaultDescription
--with-githuboffFull GitHub mirror: push issues, inbound updates, PR timeline (auth; sync not off)
--skip-networkoffSkip all sync network work (git and GitHub); legacy --no-github is accepted
--git-dataoffLegacy no-op (default is already git-only)

With --with-github, requires GITHUB_TOKEN or gh (gh auth token must succeed). JSON then includes githubSync and the usual dataBranchPush fields after GitHub work.

Outbound sets issue labels (hyper-pm, ticket, plus ticket labels — GitHub’s 50-character label limit applies) and embeds planning fields in a fenced JSON block after the description.

Inbound compares issue labels and that fence to the projection and records inbound updates. PR timeline activity (for tickets that are not done / cancelled and have Refs / Closes / Fixes references) may append GithubPrActivity events (extra API calls per linked PR). A GithubPrActivity with kind: "opened" moves the ticket to in_progress when replayed. Config values outbound and full both run this full pipeline when you pass --with-github.

Detailed behavior: GitHub sync.

sync honors persisted config; global --sync can override the effective mode for the invocation — see Global options.

audit

Lists durable events from the JSONL log with optional filters.

FlagDescription
--limit <n>Keep only the most recent n matching events
--type <t>Filter by event type (exact string; see table below)
--entity-id <id>Rows whose payload id, entityId, or ticketId matches
--text-style <s>With --format text: tsv (default), plain, or plain-links

Valid --type values

EpicCreated · EpicUpdated · EpicDeleted · StoryCreated · StoryUpdated · StoryDeleted · TicketCreated · TicketUpdated · TicketDeleted · TicketCommentAdded · SyncCursor · GithubInboundUpdate · GithubIssueLinked · GithubPrActivity

GithubPrActivity payloads include ticketId, prNumber, kind (opened | updated | commented | reviewed | merged | closed | ready_for_review), sourceId, occurredAt, and optionally reviewState / url.

Text output styles

With --format text, --text-style selects:

StyleOutput
tsvTab-separated: ts, type, actor, id (extra columns for GithubPrActivity)
plainOne English sentence per event
plain-linksLike plain plus a tab and compact JSON (ids and URLs; no ticket body/title). When githubRepo resolves, includes issueHtmlUrl / pullHtmlUrl when applicable

With --format json, the result includes events and any invalidLines skipped during parse; --text-style is ignored.

Background: Event log.