@sachinkesiraju/wrklog
v0.1.0
Published
Command-line client for Wrklog.
Downloads
23
Readme
wrklog
Command-line client for Wrklog. Write, push, and publish entries from the terminal.
Install
curl -fsSL https://wrklog.dev/install.sh | shRequires Node 20+. The installer is a thin wrapper around npm i -g @sachinkesiraju/wrklog (the binary is still called wrklog).
Quick start
wrklog login # GitHub device flow
wrklog new "morning notes" # creates a draft, opens $EDITOR
# (write in Markdown, save, quit)
wrklog publish <id> # push + publish in one step
wrklog list # see your entriesCommands
| | |
|---|---|
| wrklog login | Authenticate with GitHub via device flow. Token stored at ~/.config/wrklog/config.json (mode 0600). |
| wrklog logout | Revoke the token on the server and delete the local config. |
| wrklog whoami | Print the signed-in account. |
| wrklog new [title] | Create a draft and open it in $EDITOR (or $VISUAL). The draft Markdown is stored at ~/.wrklog/drafts/<id>.md. |
| wrklog push <id\|slug\|file.md> | Convert the local Markdown to TipTap JSON and save the draft on the server. |
| wrklog publish <id\|slug\|file.md> | Push the latest local body, then publish. |
| wrklog list [--drafts\|--published] | List your entries. |
Flags
--json— treat the file as raw TipTap JSON (skip Markdown conversion). Useful for power users embedding nodes the CLI's Markdown converter doesn't support yet (commit/PR/issue/repo cards — coming in v0.2 viawrklog:*fenced directives).--no-edit— don't open$EDITORafterwrklog new.
Environment
WRKLOG_HOST— point the CLI at a different host. Default:https://wrklog.dev. Useful for local dev:WRKLOG_HOST=http://localhost:3000 wrklog list.EDITOR/VISUAL— editor used bywrklog new. Default:vion POSIX,notepadon Windows.
What v0.1 supports
| Markdown | TipTap node | Status |
|---|---|---|
| # Title (first H1) | heading level 1 — used as the entry title | ✓ |
| ## … ### … | heading 2 / 3 | ✓ |
| Paragraphs | paragraph | ✓ |
| **bold** *italic* code [link](url) | marks | ✓ |
| ``` fences with lang | codeBlock with language | ✓ |
| - item / 1. item | bulletList / orderedList + listItem | ✓ |
| - [ ] task / - [x] done | taskList + taskItem | ✓ |
| > quote | blockquote | ✓ |
| --- | horizontalRule | ✓ |
|  | image | ✓ |
| commit / PR / issue / repo cards | commitCard etc. | v0.2 — use --json for now |
Files written
~/.config/wrklog/config.json— host + bearer token (chmod 0600)~/.wrklog/drafts/<id>.md— local working copy of each draft
Auth model
The bearer token is opaque (wrk_<base64url>) and tied to your GitHub login. The
server stores only the SHA-256 hash, so a database leak cannot reveal active
tokens. wrklog logout deletes the row, immediately invalidating the token.
