hackmd-cli
v0.1.0
Published
A CLI tool for interacting with HackMD API
Maintainers
Readme
hackmd-cli
A command-line interface for interacting with the HackMD API.
Installation
npm install -g hackmd-cliOr run directly with npx:
npx hackmd-cli <command>Setup
- 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_tokenUsage
User Commands
# Get current user profile
hackmd me
# Get note history
hackmd history
hackmd history --limit 10Notes Commands
# 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>Teams Commands
# 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>Options
Permission Values
owner- Only the owner can accesssigned_in- Any signed-in user can accessguest- Anyone can access (including anonymous users)
API Coverage
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 |
Development
# 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 lintLicense
MIT
