How it works
When you run the tool for a meeting group, it executes the following sequence:- Reads the meeting configuration from a template file in the
templates/directory - Fetches the group’s public iCalendar feed to find the next scheduled meeting date
- Queries GitHub for open issues tagged with the group’s agenda label
- Creates a HackMD document for collaborative meeting minutes
- Creates (or updates) a GitHub issue with the meeting details, agenda items, and a link to the HackMD document
- Updates the HackMD document with a back-link to the GitHub issue
Architecture overview
The application is composed of six source modules undersrc/:
| Module | File | Responsibility |
|---|---|---|
| Config | src/config.mjs | Reads environment variables and resolves directory paths |
| Calendar | src/calendar.mjs | Fetches and parses iCalendar feeds, finds the next meeting date |
| Meeting | src/meeting.mjs | Generates issue content, minutes content, titles, and agendas |
| GitHub | src/github.mjs | Creates and updates GitHub issues, fetches agenda-tagged issues |
| HackMD | src/hackmd.mjs | Creates and updates HackMD notes via the HackMD API |
| Utils | src/utils/dates.mjs, src/utils/templates.mjs, src/utils/urls.mjs | Date formatting, template variable substitution, and timezone link generation |
create-node-meeting-artifacts.mjs, wires these modules together using the commander CLI framework.
Requirements
Before you can use the tool, you need:- Node.js 22 or later — the tool uses native ESM modules and requires Node.js 22+
- GitHub Personal Access Token — needs the
reposcope to create issues and read agenda-tagged issues - HackMD API Token — obtained from your HackMD account settings, used to create and update meeting notes documents
Next steps
Quickstart
Clone the repository, set up your tokens, and run the tool for the first time.
Installation
Detailed setup instructions including Node.js version management and token configuration.
Configuration
Learn about environment variables, meeting base files, and optional settings.
Templates
Understand the four template files each meeting group requires and how to create new ones.