> For the complete documentation index, see [llms.txt](https://docs.flatredball.com/flatredball/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.flatredball.com/flatredball/contributing/builds/gum.md).

# Gum

### Gum Runtimes (NuGet Packages)

Gum's repository includes a GitHub Action yaml file which builds and uploads NuGet packages. This DOES NOT currently upload a new Gum tool - this is a separate process (see below).

To upload a new NuGet packages, follow these steps:

1. Go to GitHub Gum actions: <https://github.com/vchelaru/Gum/actions/workflows/dotnet-nuget.yaml>
2. Click Run workflow.
3. Select the branch (probably main), check both options for publishing
4. Enter the new version name such as 2026.5.2.1. The format is `year.month.day.build` where build only increments if multiple builds happened in the same day. Note that if you are releasing a preview build, then append -preview\.1. See <https://www.nuget.org/packages/Gum.MonoGame/#versions-body-tab> for examples

### Gum Tool

1. **Generate release notes.** In Claude Code, from the Gum repo, run `/gum-monthly-release`. It will ask three things up front:&#x20;
   1. **New release tag** — the tag you'll cut, using the convention `Release_<Month>_<DD>_<YYYY>` based on the day you run the release Action (e.g. `Release_May_31_2026`). The release does **not** need to exist yet; this name only titles the draft and the changelog link.&#x20;
   2. **Previous-release boundary** — paste the URL (or tag) of the most recent published release. That's what gets diffed against `main`. It already has a tag, which is all the diff needs.&#x20;
   3. **Breaking-changes migration doc URL** — link the GitBook migration doc if there are breaking changes this month; otherwise say there are none and the Breaking Changes section is omitted.
2. Create screenshots for anything that is decided as being important (in the top items)
3. Run the **Build and Release Gum Tool** action using a full release
4. Copy the release notes and screenshots to the release
5. Create/update migration doc on gitbook, or update what's already there
6. Announce on FRB discord
7. Announce on MonoGame discord
8. Announce on MGE discord
9. Announce on Kni discord
10. Announce on twitter
11. Announce on Blue Sky
12. Post on <https://community.monogame.net/>

This file is used when creating FlatRedBall builds, so Gum must first be built and uploaded to the FlatRedBall FTP prior to running the FlatRedBall Github Actions. Otherwise, an old Gum will be included in FRBDK. This may be okay depending on if Gum has important new features.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.flatredball.com/flatredball/contributing/builds/gum.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
