anchor.diff:  (defun get-github-repo (&optional (system (string-downcase (package-name *package*))))
     (check-type system (or string keyword))
     (with-system-path (path system)
  -    (if path
  -        (multiple-value-bind (out err status)
  -            (asdf/run-program:run-program "git config --get remote.origin.url"
  -                                          :output '(:string :stripped t)
  -                                          :error-output '(:string :stripped t)
  -                                          :ignore-error-status t)
  -          (if (zerop status)
  -              (let ((repo (ppcre:register-groups-bind (match) (":(.+).git$" out :sharedp t)
  -                            match)))
  -                (if repo
  -                    (values repo nil)
  -                    (values nil (format nil "repo not found in ~a" out))))
  -              (values nil err)))
  -        (values nil (format nil "~a system path not found" system)))))
  +    (let* ((out (run-program (format nil "cd ~a && git config --get remote.origin.url" path)))
  +           (repo (ppcre:register-groups-bind (match) (":(.+).git$" out :sharedp t)
  +                   match)))
  +      (if repo repo (error (format nil "repo not found in ~a" out))))))
  
positive.code: 
  (defmacro with-system-path ((var system) &body body)
    `(let ((,var (ql:where-is-system ,system)))
       ,@body))
  
  (defun git-version ()
    (with-system-path (system "lbot")
      (if system
          (multiple-value-bind (out err status)
              (asdf/run-program:run-program
               (format nil "cd ~a && git log -1 --format='%cD (%cr)'" system)
               :output '(:string :stripped t)
               :error-output '(:string :stripped t)
               :ignore-error-status t)
            (if (zerop status) out err))
          "lbot system path not found")))
  
  (defun reload ()
    (with-system-path (system "lbot")
      (when system
        (multiple-value-bind (out err status)
            (asdf/run-program:run-program
             (format nil "cd ~a && git pull" system)
             :output '(:string :stripped t)
             :error-output '(:string :stripped t)
             :ignore-error-status t)
          (if (zerop status)
              (ignore-errors
                (ql:quickload "lbot")
                (values t out))
              (values nil err))))))
  
  (defparameter *connection* nil)
  
  
negative.code:   (optima:match (xmpp:body message)
      ((equal "v")
       (reply-chat connection (xmpp:from message)
                   (handler-case (git-version) (t (e) e)) (xmpp::type- message)))
      ((equal "errors")
       (reply-chat connection (xmpp:from message)
                   (format-errors) (xmpp::type- message)))
  