AtlatestRepositoryfjo

fjo / treepackage.sgl

1;;; fjo - Forgejo/Codeberg management CLI and MCP server
2;;;
3;;; A dual-mode tool for managing repositories, issues, pull requests,
4;;; and releases on Forgejo/Codeberg instances. Usable as a CLI by humans
5;;; and as an MCP server by AI agents.
6
7(package
8 name: "fjo"
9 version: "0.2.3"
10 sigil: "0.20"
11 description: "Forgejo/Codeberg management CLI and MCP server"
12 url: "https://codeberg.org/sigil/fjo"
13 license: "BSD-3-Clause"
14 authors: (list "David Wilson <[email protected]>")
16 entry: '(fjo main)
17 bundle-name: "fjo"
19 configs: (list
20 (config
21 name: 'dev
22 output-dir: "build/dev"
23 debug?: #t
24 optimize: 0
25 bundle?: #t)
26 (config
27 name: 'release
28 output-dir: "build/release"
29 debug?: #f
30 optimize: 2
31 bundle?: #t
32 backend: 'native))
34 provides: (list
35 mcp-server: #{ name: "fjo"
36 args: #["serve"]
37 env: #{ FORGEJO_URL: "https://codeberg.org" }
38 secret-env: #{ FORGEJO_TOKEN: #t } })
40 dependencies: (list
41 ;; Explicit sigil-lib pin. Two independent reasons, both measured:
42 ;; 1. Without it, sigil-lib is derived transitively and does not track
43 ;; the `sigil:` field, so a relock can silently leave the C runtime
44 ;; behind while `sigil deps install` exits 0.
45 ;; 2. sigil-lib's resolution does NOT respect its declared range: with
46 ;; no explicit pin, a fresh resolve records `ref: "^0.17"` alongside
47 ;; `version: "0.18.2"` in the same lock entry, on any toolchain,
48 ;; while sigil-stdlib in that same resolve correctly stays at 0.17.20.
49 ;; Verify in sigil.lock (the `version:`/`sha:` fields, not `ref:`).
50 (from-git url: "codeberg:sigil/sigil"
51 package: "sigil-lib" version: ">=0.21")
52 (from-git url: "codeberg:sigil/sigil" package: "sigil-run" version: ">=0.21")
53 ;; sigil-mcp ^0.17, NOT ^0.16. The 0.16 line now contains BOTH a release
54 ;; requiring the 0.18 runtime (v0.16.5) and one requiring 0.17 (v0.16.6, a
55 ;; deliberate compatibility revert), so ^0.16 no longer determines which
56 ;; runtime you need. The 0.17 line is the unambiguous 0.18-runtime line.
57 (from-git url: "codeberg:sigil/sigil-mcp" version: "^0.17")
58 (from-git url: "codeberg:sigil/sigil-forgejo" version: "^0.10.0"))
60 dev-dependencies: (list
61 (from-git url: "codeberg:sigil/sigil" package: "sigil-test" version: ">=0.21")
62 (from-git url: "codeberg:sigil/sigil" package: "sigil-test-runner" version: ">=0.21"))
64 tasks: (list
65 (task
66 name: 'build
67 description: "Compile fjo modules"
68 steps: (list
69 (compile-sigil-modules sources: "src/**/*.sgl"
70 output-dir: (config-output-subdir "lib"))))))