For the complete documentation index, see llms.txt. This page is also available as Markdown.

Weekly changelog

Get a changelog draft every week without anyone remembering to write it. A scheduled changelog writer scans the week's merged PRs and opens a PR with the draft.

Goal: Get a changelog draft every Friday without anyone remembering to write it.

What it does

Every Friday, a schedule scans the pull requests merged since the last changelog entry (falling back to the last 7 days if no entry exists) and drafts the next one. The plugin reads the merged work and writes the entry in your changelog's style, then opens a PR with the draft. If a draft PR from a previous run is still open, it skips opening another one.

The plugin

tessl/changelog-writer scans the PRs merged since the last entry, drafts the next one, and opens a PR with it. Install it with:

$ tessl install tessl/changelog-writer

Define the schedule

Run it every Friday at 16:00 UTC. Add this entry to the schedules block in your project's tessl.json, and keep any other entries already in that block. Replace production with the name of your environment (see the Schedules overview for the prerequisites).

1

Add the schedule entry

{
  "schedules": {
    "weekly-changelog": {
      "skill": "tessl/changelog-writer",
      "schedule": "weekly on friday at 16:00",
      "environment": "production"
    }
  }
}
2

Validate and push

Validation always checks the local file. For an authenticated linked project that can reach Tessl, it also gives an advisory warning when current workspace capacity may not accommodate additional schedules. Commit and push the change, then confirm Tessl applied the schedule in your workspace before checking its run history.

$ tessl schedule validate
$ git add tessl.json
$ git commit -m "chore(docs): add weekly changelog schedule"
$ git push
3

Check the runs

Open the schedule in the web app, or run tessl schedule runs <id> to see its run history.

Customize with instructions

Match your changelog's house style by adding instructions to the same schedule entry. Keep all other entries in the schedules block:

{
  "schedules": {
    "weekly-changelog": {
      "skill": "tessl/changelog-writer",
      "schedule": "weekly on friday at 16:00",
      "environment": "production",
      "instructions": "Group entries under Added, Fixed, and Changed. Skip dependency bumps."
    }
  }
}

Create your own

Want a different format? Create your own plugin that reads the git log and writes an entry your way.

Last updated