Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Curating External Activity

The activity feature showcases pull requests and issues you have landed on other people’s repositories across GitHub and Codeberg, ranked by impact and recency. It is distinct from the portfolio, which is for your own projects.

Each entry is fetched from the forge once, at add time, by the CLI. The CLI also computes the search embedding locally; the server never runs fastembed for activity publishing. The server keeps forge metadata fresh in the background according to the [forge] settings in plinth.toml.

Adding a contribution

plinth activity add \
  --forge github \
  --repo owner/name \
  --pr 1234 \
  --impact 7 \
  --featured

For an issue, use --issue <n> instead of --pr <n>.

FlagRequiredDescription
--forgeyesgithub or codeberg
--repoyesRepository in owner/name form
--pr <n>one ofPull-request number
--issue <n>one ofIssue number, mutually exclusive with --pr
--impact <1-10>yesCurated impact score
--featurednoShow in the home-page strip

On add, the CLI fetches the PR or issue metadata from the forge, embeds the title and body with fastembed (AllMiniLML6V2, 384 dimensions), and posts the result to /api/admin/activity.

<id> is the numeric entry id shown by plinth activity list.

plinth activity update <id> --impact 9 --featured true

At least one of --impact or --featured is required.

Removing

plinth activity remove <id>

Listing

plinth activity list

The list is read from the public /api/activity endpoint and is already ranked by the server.

Authentication and rate limits

The CLI uses PLINTH_API_URL and PLINTH_API_KEY to publish, update, and remove entries from your Plinth instance.

Public forge data works without forge tokens, but unauthenticated requests are rate-limited. Set GITHUB_TOKEN or CODEBERG_TOKEN when fetching activity to raise GitHub’s limit and reduce throttling. See Environment Variables.