Eliminates COMMON-LISP-USER::DEFSKILL and other package-related STYLE-WARNINGs during compilation. Files affected: - gateway-messaging, programming-repl, programming-standards, system-memory, system-archivist Remaining warnings are cross-skill references (vault functions) and minor same-file forward refs — category 2 per ROADMAP.
24 lines
875 B
Common Lisp
24 lines
875 B
Common Lisp
(in-package :passepartout)
|
|
|
|
(defun standards-git-clean-p (dir)
|
|
"Checks if a directory has uncommitted changes."
|
|
(let ((status (uiop:run-program (list "git" "-C" (namestring dir) "status" "--porcelain")
|
|
:output :string
|
|
:ignore-error-status t)))
|
|
(string= "" (string-trim '(#\Space #\Newline #\Tab) status))))
|
|
|
|
(defun standards-lisp-verify (code)
|
|
"Enforces Lisp structural and semantic standards using utils-lisp."
|
|
(let ((result (utils-lisp-validate code :strict t)))
|
|
(if (eq (getf result :status) :success)
|
|
t
|
|
(error (getf result :reason)))))
|
|
|
|
(defun standards-lisp-format (code)
|
|
"Ensures Lisp code adheres to formatting standards."
|
|
(utils-lisp-format code))
|
|
|
|
(defskill :passepartout-programming-standards
|
|
:priority 100
|
|
:trigger (lambda (ctx) (declare (ignore ctx)) nil))
|