Commit7fe828c8Recorded25 Mar 2026Repositorysigil-lemonsqueezy
Rename (sigil lemonsqueezy) namespace to (lemonsqueezy)
Message
External service wrappers use their service name as the top-level namespace. Core (sigil ...) is reserved for Sigil infrastructure.
- Move src/sigil/lemonsqueezy.sgl → src/lemonsqueezy.sgl
- Move src/sigil/lemonsqueezy/.sgl → src/lemonsqueezy/.sgl
- Update all define-library and import forms
- Update tests and README
Changed
.gitignore | 2 +-
README.md | 26 +++++++++++++-------------
src/{sigil => }/lemonsqueezy.sgl | 4 ++--
src/{sigil => }/lemonsqueezy/checkout.sgl | 6 +++---
src/{sigil => }/lemonsqueezy/license.sgl | 6 +++---
src/{sigil => }/lemonsqueezy/order.sgl | 6 +++---
src/{sigil => }/lemonsqueezy/product.sgl | 6 +++---
src/{sigil => }/lemonsqueezy/webhook.sgl | 6 +++---
test/lemonsqueezy-test.sgl | 12 ++++++------
9 files changed, 37 insertions(+), 37 deletions(-)Diff
.gitignoremodified
@@ -1 +1 @@
−1
.mcp.json+1
build/\nlibREADME.mdmodified
@@ -22,20 +22,20 @@ the [Lemon Squeezy API](https://docs.lemonsqueezy.com/api).
22
23
| Module | Description | 24
|--------|-------------|−25
| `(sigil lemonsqueezy)` | Core client, auth, JSON:API helpers, pagination |−26
| `(sigil lemonsqueezy product)` | Products and variants |−27
| `(sigil lemonsqueezy checkout)` | Checkout creation and retrieval |−28
| `(sigil lemonsqueezy order)` | Orders, order items, subscriptions |−29
| `(sigil lemonsqueezy webhook)` | Webhook CRUD and signature verification |−30
| `(sigil lemonsqueezy license)` | License key management and validation |+25
| `(lemonsqueezy)` | Core client, auth, JSON:API helpers, pagination |+26
| `(lemonsqueezy product)` | Products and variants |+27
| `(lemonsqueezy checkout)` | Checkout creation and retrieval |+28
| `(lemonsqueezy order)` | Orders, order items, subscriptions |+29
| `(lemonsqueezy webhook)` | Webhook CRUD and signature verification |+30
| `(lemonsqueezy license)` | License key management and validation | 31
32
## Quick Start 33
34
```scheme−35
(import (sigil lemonsqueezy)−36
(sigil lemonsqueezy product)−37
(sigil lemonsqueezy order)−38
(sigil lemonsqueezy checkout))+35
(import (lemonsqueezy)+36
(lemonsqueezy product)+37
(lemonsqueezy order)+38
(lemonsqueezy checkout)) 39
40
;; Create a client with your API key 41
(define client (ls-client api-key: "your-api-key"))@@ -69,8 +69,8 @@ the [Lemon Squeezy API](https://docs.lemonsqueezy.com/api).
69
Verify incoming webhook signatures and parse event payloads: 70
71
```scheme−72
(import (sigil lemonsqueezy)−73
(sigil lemonsqueezy webhook))+72
(import (lemonsqueezy)+73
(lemonsqueezy webhook)) 74
75
;; Verify the X-Signature header 76
(if (ls-verify-webhook signing-secret raw-request-body x-signature-header)@@ -94,7 +94,7 @@ The License API endpoints (validate, activate, deactivate) do not require
94
an API key and are designed for use in client applications: 95
96
```scheme−97
(import (sigil lemonsqueezy license))+97
(import (lemonsqueezy license)) 98
99
;; Validate a license key (no auth needed) 100
(define result (ls-validate-license "38b1460a-5104-4067-a91d-77b872934d51"))src/sigil/lemonsqueezy.sgl → src/lemonsqueezy.sglrenamed
@@ -1,4 +1,4 @@
−1
;;; (sigil lemonsqueezy) - Lemon Squeezy API client library.+1
;;; (lemonsqueezy) - Lemon Squeezy API client library. 2
;;; 3
;;; Core module providing authentication, HTTP helpers, JSON:API parsing 4
;;; utilities, pagination, and record types for the Lemon Squeezy API.@@ -6,7 +6,7 @@
6
;;; Lemon Squeezy uses JSON:API format (jsonapi.org) for all responses. 7
;;; This module provides helpers to extract data from that structure. 8
−9
(define-library (sigil lemonsqueezy)+9
(define-library (lemonsqueezy) 10
(import (sigil core) 11
(sigil dict) 12
(sigil string)src/sigil/lemonsqueezy/checkout.sgl → src/lemonsqueezy/checkout.sglrenamed
@@ -1,16 +1,16 @@
−1
;;; (sigil lemonsqueezy checkout) - Checkout creation and retrieval.+1
;;; (lemonsqueezy checkout) - Checkout creation and retrieval. 2
;;; 3
;;; Checkouts create purchasable links for specific variants. This is the 4
;;; primary way to initiate purchases programmatically. Custom data passed 5
;;; through checkouts flows to webhooks via meta.custom_data. 6
−7
(define-library (sigil lemonsqueezy checkout)+7
(define-library (lemonsqueezy checkout) 8
(import (sigil core) 9
(sigil dict) 10
(sigil string) 11
(sigil struct) 12
(sigil json)−13
(sigil lemonsqueezy))+13
(lemonsqueezy)) 14
15
(export ;; Records 16
ls-checkoutsrc/sigil/lemonsqueezy/license.sgl → src/lemonsqueezy/license.sglrenamed
@@ -1,4 +1,4 @@
−1
;;; (sigil lemonsqueezy license) - License key management.+1
;;; (lemonsqueezy license) - License key management. 2
;;; 3
;;; Two separate APIs: 4
;;; 1. Main API (requires Bearer auth) — list/retrieve/update license keys@@ -7,14 +7,14 @@
7
;;; The License API is designed for client applications and uses different 8
;;; headers (application/json, application/x-www-form-urlencoded). 9
−10
(define-library (sigil lemonsqueezy license)+10
(define-library (lemonsqueezy license) 11
(import (sigil core) 12
(sigil dict) 13
(sigil string) 14
(sigil struct) 15
(sigil json) 16
(sigil http client)−17
(sigil lemonsqueezy))+17
(lemonsqueezy)) 18
19
(export ;; Records 20
ls-license-keysrc/sigil/lemonsqueezy/order.sgl → src/lemonsqueezy/order.sglrenamed
@@ -1,15 +1,15 @@
−1
;;; (sigil lemonsqueezy order) - Orders, order items, and subscriptions.+1
;;; (lemonsqueezy order) - Orders, order items, and subscriptions. 2
;;; 3
;;; Orders are created when a customer completes a purchase. 4
;;; Subscriptions represent recurring billing relationships. 5
−6
(define-library (sigil lemonsqueezy order)+6
(define-library (lemonsqueezy order) 7
(import (sigil core) 8
(sigil dict) 9
(sigil string) 10
(sigil struct) 11
(sigil json)−12
(sigil lemonsqueezy))+12
(lemonsqueezy)) 13
14
(export ;; Order records 15
ls-ordersrc/sigil/lemonsqueezy/product.sgl → src/lemonsqueezy/product.sglrenamed
@@ -1,15 +1,15 @@
−1
;;; (sigil lemonsqueezy product) - Product and Variant management.+1
;;; (lemonsqueezy product) - Product and Variant management. 2
;;; 3
;;; Products and variants are read-only via the API (created in dashboard). 4
;;; Products describe digital goods; variants represent purchasable 5
;;; configurations (tiers, plans). 6
−7
(define-library (sigil lemonsqueezy product)+7
(define-library (lemonsqueezy product) 8
(import (sigil core) 9
(sigil dict) 10
(sigil string) 11
(sigil struct)−12
(sigil lemonsqueezy))+12
(lemonsqueezy)) 13
14
(export ;; Records 15
ls-productsrc/sigil/lemonsqueezy/webhook.sgl → src/lemonsqueezy/webhook.sglrenamed
@@ -1,4 +1,4 @@
−1
;;; (sigil lemonsqueezy webhook) - Webhook management and verification.+1
;;; (lemonsqueezy webhook) - Webhook management and verification. 2
;;; 3
;;; Handles HMAC-SHA256 signature verification of incoming webhooks, 4
;;; parsing of webhook payloads, and CRUD operations for webhook endpoints.@@ -6,14 +6,14 @@
6
;;; Webhook payloads use a modified JSON:API format with a top-level 7
;;; meta field containing event_name and custom_data. 8
−9
(define-library (sigil lemonsqueezy webhook)+9
(define-library (lemonsqueezy webhook) 10
(import (sigil core) 11
(sigil dict) 12
(sigil string) 13
(sigil struct) 14
(sigil json) 15
(sigil crypto)−16
(sigil lemonsqueezy))+16
(lemonsqueezy)) 17
18
(export ;; Records 19
ls-webhooktest/lemonsqueezy-test.sglmodified
@@ -10,12 +10,12 @@
10
(sigil json) 11
(sigil crypto) 12
(sigil test)−13
(sigil lemonsqueezy)−14
(sigil lemonsqueezy product)−15
(sigil lemonsqueezy checkout)−16
(sigil lemonsqueezy order)−17
(sigil lemonsqueezy webhook)−18
(sigil lemonsqueezy license))+13
(lemonsqueezy)+14
(lemonsqueezy product)+15
(lemonsqueezy checkout)+16
(lemonsqueezy order)+17
(lemonsqueezy webhook)+18
(lemonsqueezy license)) 19
20
;; --------------------------------------------------------------- 21
;; Test fixtures — JSON:API response samples