Requirements
Before installing, make sure your environment meets the following requirements:- Node.js 22 or later — the project’s
.nvmrcpins Node.js version 22 - npm — included with Node.js; used to install dependencies
- A GitHub Personal Access Token with the
reposcope - A HackMD API Token from your HackMD account
Installation options
Clone from GitHub (recommended)
Cloning the repository gives you access to the full project, including templates for existing meeting groups.Run with npx
If you only need to run the tool without keeping a local copy, you can invoke it directly with npx from inside the repository directory:The
npx approach still requires the repository to be cloned locally, because the tool reads meeting configuration from the templates/ directory.Node.js version management
The repository includes a.nvmrc file that specifies Node.js 22. If you use nvm to manage Node.js versions, you can switch to the correct version automatically:
.nvmrc and installs or activates Node.js 22. If you use a different version manager such as fnm or volta, check their documentation for .nvmrc compatibility.
Token setup
GitHub Personal Access Token
Open GitHub token settings
Go to github.com/settings/tokens and click Generate new token.
Select scopes
Enable the
repo scope. This grants the tool permission to create issues and read issues in the target repositories.HackMD API Token
Open HackMD account settings
Sign in to hackmd.io and navigate to Account Settings > API Tokens.
Create a new token
Click New API Token, give it a descriptive name such as
meeting-artifacts, and confirm.Optional: set a team workspace
If you want meeting notes created in a shared team space rather than your personal HackMD account, note your team’s slug. You configure it per meeting group via the
HACKMD_TEAM_NAME property in each meeting_base_<shortname> template file — not as a global environment variable.Environment variables setup
Copy the example environment file:.env.example file documents every supported variable:
.env and uncomment each line, replacing the placeholder values with your real tokens:
| Variable | Required | Description |
|---|---|---|
GITHUB_TOKEN | Yes | GitHub Personal Access Token with repo scope |
HACKMD_API_TOKEN | Yes | HackMD API token for creating and updating notes |
--env-file flag — no additional dotenv configuration is required.
HACKMD_TEAM_NAME is configured per meeting group inside the meeting_base_<shortname> template file, not as a global environment variable. See Meeting base configuration for details.Verify installation
Confirm everything is set up correctly by running a dry run for thetsc meeting group:
.env and that the GITHUB_TOKEN has the repo scope.