diff --git a/config.el b/config.el index 5354abf..f466e4d 100644 --- a/config.el +++ b/config.el @@ -7,6 +7,7 @@ (load! "org") (load! "ai") (load! "inbox") +(load! "metrics") ;; Performance tweaks (setq gc-cons-threshold 100000000 ; Increase GC threshold to 100MB diff --git a/metrics.el b/metrics.el new file mode 100644 index 0000000..d37395c --- /dev/null +++ b/metrics.el @@ -0,0 +1,30 @@ +;;; metrics.el -*- lexical-binding: t; -*- + +;;; Keyfreq - Track command usage statistics +(use-package! keyfreq + :config + (keyfreq-mode 1) + (keyfreq-autosave-mode 1) + (setq keyfreq-file (concat doom-cache-dir "keyfreq") + keyfreq-file-lock (concat doom-cache-dir "keyfreq.lock")) + + ;; Optional: Exclude commands you don't want to track (uncomment to use) + ;; (setq keyfreq-excluded-commands + ;; '(self-insert-command + ;; forward-char + ;; backward-char + ;; previous-line + ;; next-line)) + ) + +;;; Command Log Mode - visual log of keystrokes and commands +(use-package! command-log-mode + :config + ;; Global mode to track everywhere + ;; (global-command-log-mode 1) ; Uncomment if you want it always on (can be noisy) + + (map! :leader + (:prefix ("t" . "toggle") + :desc "Toggle command log" "L" #'clm/toggle-command-log-buffer)) + ) + diff --git a/packages.el b/packages.el index 4761189..3832928 100644 --- a/packages.el +++ b/packages.el @@ -50,3 +50,7 @@ (package! claude-code :recipe (:host github :repo "stevemolitor/claude-code.el" :branch "main" :depth 1 :files ("*.el" (:exclude "images/*")))) + +;; Usage metrics and key tracking +(package! keyfreq) +(package! command-log-mode)