Skip to content
PidocsCLI & tooling15 files · +133 −60

Set up per-extension changelogs and versioned releases for a Pi extensions monorepo

Session from pi-extensions-sessions on Hugging Face by thomasmustier · MIT · condensed by Coders Talk

32msession
0interventions
GOAL

Decide how to handle changelogs and releases across a multi-extension repo, then implement per-extension changelogs, versioning, and GitHub releases.

  1. Prompt · +0
    I have separate readmes per extension and a changelog only for usage-extension. How should I handle changelogs and releases now that I have contributors/users?
  2. Prompt · +0m
    Ok can you review the codebase and help me figure out how to proceed here?
  3. Agent did · +1m
    Explored the repo structure, read all extension READMEs, checked for existing CHANGELOG.md and package.json files, and inspected usage-extension's code and changelog history.
  4. Agent did · +3m
    Recommended starting per-extension SemVer releases now, skipping WIP ones like relaunch, moving usage-extension's inline changelog into its own CHANGELOG.md.
  5. Prompt · +21m
    Let's do that. Version everything except relaunch, mostly at 0.1.0, with /usage at 0.1.2 since it has more history. Does that make sense?
  6. Agent did · +21m
    Edited README changelog sections for six extensions, created CHANGELOG.md files for each (initial 0.1.0 releases) and usage-extension/CHANGELOG.md (0.1.2), and added a RELEASING.md documenting the per-extension tag format and release workflow.
  7. Break · 37m away, not counted
  8. Prompt · +25m
    Let's commit/push. Agree with dropping current versions section; then tag, ensure release notes exist, commit and push.
  9. Agent did · +25m
    Trimmed the version list from RELEASING.md, staged and committed all changelog/README changes as one commit, tagged each extension with its version, and pushed the commit and tags to origin/main.
  10. Prompt · +31m
    Yeah let's do that. Commit/push when done, be sure to give recognition.
  11. Outcome · +32m
    Published GitHub releases for all 7 tagged extension versions (6 at 0.1.0, usage-extension at 0.1.2) with release notes and contributor thanks; single commit de6145a (15 files changed) pushed to main alongside all tags.
VERDICT

Next time I'd start the first prompt by naming the versioning scheme I want (per-extension SemVer, initial 0.1.0 baseline) so the agent doesn't have to propose and I don't have to confirm it separately. Having it first survey the whole repo before proposing a plan worked well — the recommendation to skip relaunch and split usage-extension's changelog out was exactly what I wanted, so I just said 'do that' and it executed cleanly through commit, tag, push, and GitHub release creation.

I tried this · 0

Discussion · 0

How Builds work