64 lines
1.7 KiB
Org Mode
64 lines
1.7 KiB
Org Mode
#+TITLE: SKILL: Git Steward (Universal Literate Note)
|
|
#+ID: skill-git-steward
|
|
#+STARTUP: content
|
|
#+FILETAGS: :git:vcs:system:psf:
|
|
|
|
* Overview
|
|
The *Git Steward* maintains the integrity of the workspace by automating version control operations.
|
|
|
|
* Phase A: Demand (PRD)
|
|
:PROPERTIES:
|
|
:STATUS: FROZEN
|
|
:END:
|
|
|
|
** 1. Purpose
|
|
Automate Git operations for the Memex.
|
|
|
|
** 2. User Needs
|
|
- *Status:* Retrieve the current state of the repository.
|
|
- *Commit:* Automate staging and committing changes.
|
|
- *Push:* Synchronize with remote repositories.
|
|
|
|
* Phase B: Blueprint (PROTOCOL)
|
|
:PROPERTIES:
|
|
:STATUS: SIGNED
|
|
:END:
|
|
|
|
** 1. Architectural Intent
|
|
Workspace version control management.
|
|
|
|
** 2. Semantic Interfaces
|
|
#+begin_src lisp
|
|
(defun git-status () "Return status of current repository.")
|
|
(defun git-commit (message) "Stage and commit changes with MESSAGE.")
|
|
(defun git-push () "Push changes to origin.")
|
|
#+end_src
|
|
|
|
* Phase D: Build (Implementation)
|
|
|
|
#+begin_src lisp :tangle ../projects/org-skill-git-steward/src/git-steward.lisp
|
|
(defun git-status ()
|
|
"Executes git status and returns the output."
|
|
(uiop:run-program '("git" "status" "--short") :output :string))
|
|
|
|
(defun git-commit (message)
|
|
"Stages all tracked changes and commits them."
|
|
(kernel-log "GIT - Committing: ~a" message)
|
|
(uiop:run-program '("git" "add" "-u"))
|
|
(uiop:run-program `("git" "commit" "-m" ,message)))
|
|
|
|
(defun git-push ()
|
|
"Pushes to the current branch origin."
|
|
(kernel-log "GIT - Pushing to origin...")
|
|
(uiop:run-program '("git" "push")))
|
|
#+end_src
|
|
|
|
* Registration
|
|
#+begin_src lisp
|
|
(defskill :skill-git-steward
|
|
:priority 40
|
|
:trigger (lambda (context) nil)
|
|
:neuro (lambda (context) nil)
|
|
:symbolic (lambda (action context) action))
|
|
#+end_src
|