Running in dry run mode
tsc.
What dry run does
When--dry-run is passed, the tool executes Steps 1–5 of the normal flow and then performs a shortened path through the agenda-fetching and rendering logic before exiting. It skips Steps 6–16 entirely — meaning no calendar lookup, no HackMD document creation, and no GitHub issue creation.
Specifically, with --dry-run the tool:
- Loads application config — parses CLI flags and environment variables
- Reads meeting config from templates — loads
invited_<group>,observers_<group>, andmeeting_base_<group>from thetemplates/directory - Fetches open GitHub issues with the agenda label — queries the GitHub API for issues tagged with the group’s
AGENDA_TAG - Generates the meeting agenda — formats the fetched issues into a Markdown list grouped by repository
- Generates the full issue content — substitutes all template variables into the meeting issue template using the current date as the meeting date
- Prints to console and exits — outputs the rendered issue body and calls
process.exit(0)
Dry run still requires a valid
GITHUB_TOKEN in your environment. The tool fetches live agenda issues from GitHub even in dry run mode — it only skips the write operations.Sample output
When to use dry run
| Use case | Why dry run helps |
|---|---|
| Testing a new meeting group template | Verify template files parse correctly and variables substitute as expected before the first real run |
| Previewing what the issue will look like | Review formatting and agenda content before creating the issue in GitHub |
| Debugging template variable substitution | Check that $AGENDA_CONTENT$, $INVITED$, and other variables are replaced with the right values |
| CI/CD validation | Confirm the tool runs without errors in a pipeline without producing side effects |