A command-line interface for interacting with the HackMD API.
npm install -g hackmd-cliOr run directly with npx:
npx hackmd-cli <command>- Get your API token from HackMD Settings
- Set the environment variable:
export HACKMD_TOKEN=your_api_tokenOr create a .env file in your project directory:
HACKMD_TOKEN=your_api_token
# Get current user profile
hackmd me
# Get note history
hackmd history
hackmd history --limit 10# List all notes
hackmd notes list
# Get a specific note
hackmd notes get <noteId>
# Create a new note
hackmd notes create
hackmd notes create --title "My Note" --content "# Hello"
hackmd notes create --read-permission guest --write-permission signed_in
# Update a note
hackmd notes update <noteId> --content "# Updated content"
hackmd notes update <noteId> --read-permission owner --permalink my-note
# Delete a note
hackmd notes delete <noteId># List all teams
hackmd teams list
# List team notes
hackmd teams notes <teamPath>
# Get a team note
hackmd teams note <teamPath> <noteId>
# Create a team note
hackmd teams create-note <teamPath>
hackmd teams create-note <teamPath> --title "Team Note" --content "# Hello"
# Update a team note
hackmd teams update-note <teamPath> <noteId> --content "# Updated"
# Delete a team note
hackmd teams delete-note <teamPath> <noteId>owner- Only the owner can accesssigned_in- Any signed-in user can accessguest- Anyone can access (including anonymous users)
This CLI covers all HackMD API v1 endpoints:
| Endpoint | Command |
|---|---|
| GET /me | hackmd me |
| GET /history | hackmd history |
| GET /notes | hackmd notes list |
| GET /notes/:noteId | hackmd notes get |
| POST /notes | hackmd notes create |
| PATCH /notes/:noteId | hackmd notes update |
| DELETE /notes/:noteId | hackmd notes delete |
| GET /teams | hackmd teams list |
| GET /teams/:teamPath/notes | hackmd teams notes |
| GET /teams/:teamPath/notes/:noteId | hackmd teams note |
| POST /teams/:teamPath/notes | hackmd teams create-note |
| PATCH /teams/:teamPath/notes/:noteId | hackmd teams update-note |
| DELETE /teams/:teamPath/notes/:noteId | hackmd teams delete-note |
# Install dependencies
npm install
# Build
npm run build
# Run tests
npm test
# Run tests in watch mode
npm run test:watch
# Type check
npm run lintMIT