Clone this repo:
  1. 1d1e78e hkml_patch: remove no more used functions by SeongJae Park · 17 hours ago master
  2. 26f520c hkml_view_mails: use hkml_patch.check_apply_or_export_item() by SeongJae Park · 17 hours ago
  3. 431bff7 hkml_view_mails: pass mail item to patch handling subroutines by SeongJae Park · 17 hours ago
  4. 0e6e014 hkml_view_mails: change handle_patches_of_mail() to receive mail item by SeongJae Park · 17 hours ago
  5. 921a3e2 hkml_view_text: implement get_showing_mail_item() by SeongJae Park · 17 hours ago

HacKerMaiL

CI

HacKerMaiL (hkml) is a mails management tool for hackers who collaborate using mailing lists. It requires no complicated setup but just git. Using it, you can fetch mailing list archives, read mails in those, and post replies or new mails.

For now, hackermail supports public-inbox managed mailing list archives and manually exported mbox file contents. Linux Kernel Mailing Lists (LKML) are good examples of the public-inbox managed mailing list archives. Specifically, it is being used for, and aimed to support development of DAMON and general parts of Linux kernel.

Demo

interactive list

OSSummit JP'25 Demo Video

(Note that the above demos are recorded on an old version of hkml. Latest version may have different features/interface.)

Getting Started

List recent mails in Linux kernel DAMON subsystem mailing list (https://lore.kernel.org/damon):

$ ./hkml list damon

For the first time, the command will ask you if you want to initialize the setup and fetch the mails from the internet, with some questions. For this specific case (listing mails of a Linux kernel subsystem mailing list), you can simply select default options and ‘yes’. Then, it will open an interactive list of the mails. From it, users can do actions for mails including below.

  • Opening a mail
  • Listing complete thread of a mail
  • Replying to a mail
  • Forwarding a mail
  • Continue writing a draft mail
  • Managing tags of a mail
  • Checking/applying patch mails
  • Exporting mails

Press ‘?’ for help, or read “Interactive Viewer” section of USAGE.md.

For more detail and complete list of features,

$ ./hkml -h
$ ./hkml list -h

or refer to USAGE.md file. For daily use of hkml, particularly, you may want to know how to manage tags of mails (useful for managing ‘sent’ and ‘drafts’ mails) and how you can backup/syncronize those.

Additional Resources

  • SeongJae Park, hkml: Mailing Tool for Simple Linux Kernel Development. In Open Source Summit Japan, Dec 2025. Slides, Video, Link