~ruther/guix-local

d0144544ff38c62ee92b6f3b6ee3e6aa6aede812 — Roman Scherer 4 months ago 5f2d626
gnu: Add beads.

* gnu/packages/golang-apps.scm (beads): New variable.

Change-Id: I0dac902afa2c8937594d99907db311fe42e0d587

Change-Id: I820f455a5c0e3e6980839481d196fe55f0c7fee9
Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
1 files changed, 47 insertions(+), 0 deletions(-)

M gnu/packages/task-management.scm
M gnu/packages/task-management.scm => gnu/packages/task-management.scm +47 -0
@@ 76,6 76,53 @@
  #:use-module (guix build-system python)
  #:use-module (guix build-system qt))

(define-public beads
  (package
    (name "beads")
    (version "0.17.7")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
             (url "https://github.com/steveyegge/beads")
             (commit (string-append "v" version))))
       (file-name (git-file-name name version))
       (sha256
        (base32
         "0adg00mqgl70fxynciswkzka5hyia86h92b1pnqd8achk6c5szbr"))))
    (build-system go-build-system)
    (arguments
     (list
      #:install-source? #f
      #:import-path "github.com/steveyegge/beads/cmd/bd"
      #:unpack-path "github.com/steveyegge/beads"
      #:phases
      #~(modify-phases %standard-phases
          (add-before 'build 'set-home
            (lambda _
              (setenv "HOME" "/tmp"))))))
    (native-inputs
     (list git))
    (propagated-inputs
     (list go-github-com-anthropics-anthropic-sdk-go
           go-github-com-fatih-color
           go-github-com-spf13-cobra
           go-github-com-spf13-viper
           go-gopkg-in-natefinch-lumberjack-v2
           go-modernc-org-sqlite
           go-rsc-io-script))
    (home-page "https://github.com/steveyegge/beads")
    (synopsis "Graph-based issue tracker for AI coding agents")
    (description
     "@command{bd} (Beads) is a lightweight memory system for coding
agents, using a graph-based issue tracker.  Four kinds of dependencies
work to chain issues together like beads, making them easy for agents
to follow for long distances and reliably perform complex task streams
in the right order.  It uses SQLite for fast local operations and
JSONL files stored in git for distributed synchronization across
machines.")
    (license license:expat)))

(define-public clikan
  (let ((commit "55ab29e68263c6fed2844aef96fbebacda3eba9b")
        (revision "1"))