You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 24f293c
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: .claude/CLAUDE.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ This file configures Claude Code for this specific project. It supplements your
4
4
5
5
## Project Summary
6
6
7
-
This is the Hugo static website for [MemMachine](https://memmachine.ai/) — an open-source AI agent memory layer. The site is built with Hugo Extended ≥ 0.149.0, uses a custom `memmachine` theme, and deploys to GitHub Pages. See `AGENTS.md` for the full orientation guide.
7
+
This is the Hugo static website for [MemMachine](https://memmachine.ai/) — an open-source AI agent memory layer. The site is built with Hugo Extended ≥ 0.161.1, uses a custom `memmachine` theme, and deploys to GitHub Pages. See `AGENTS.md` for the full orientation guide.
8
8
9
9
## Critical Rules
10
10
@@ -58,7 +58,7 @@ If the build fails, investigate and fix before committing. Never commit with a b
58
58
59
59
## Hugo Version
60
60
61
-
Minimum: **0.149.0 Extended**. The Extended edition is required for Sass/SCSS support. Standard Hugo will fail at build time.
61
+
Minimum: **0.161.1 Extended**. The Extended edition is required for Sass/SCSS support. Standard Hugo will fail at build time.
description: "Maintenance tasks for the memmachine.github.io Hugo site: upgrade Hugo version in CI/CD, verify the build, update npm dependencies. Use when the user wants to perform site maintenance."
3
+
description: "Maintenance tasks for the memmachine.github.io Hugo site: upgrade Hugo version in CI/CD, verify the build, update npm dependencies, update vendored theme libraries. Use when the user wants to perform site maintenance."
4
4
trigger: /hugo-chores
5
5
---
6
6
7
7
# /hugo-chores
8
8
9
-
Perform maintenance tasks on the MemMachine website repository. Subcommands handle Hugo version upgrades, build verification, and npm dependency updates.
9
+
Perform maintenance tasks on the MemMachine website repository. Subcommands handle Hugo version upgrades, build verification, npm dependency updates, and vendored theme library updates.
10
10
11
11
## Usage
12
12
@@ -15,6 +15,7 @@ Perform maintenance tasks on the MemMachine website repository. Subcommands hand
15
15
/hugo-chores upgrade-hugo # update Hugo version in CI/CD and docs
16
16
/hugo-chores verify-build # run a production build and report results
17
17
/hugo-chores update-npm # audit and update npm dependencies
18
+
/hugo-chores update-theme # check and update vendored theme libraries
18
19
```
19
20
20
21
## Deployment Model
@@ -25,10 +26,10 @@ The site deploys automatically. Every push to `main` triggers the GitHub Actions
25
26
26
27
```yaml
27
28
env:
28
-
DART_SASS_VERSION: 1.91.0
29
-
GO_VERSION: 1.25.0
30
-
HUGO_VERSION: 0.149.0
31
-
NODE_VERSION: 22.18.0
29
+
DART_SASS_VERSION: 1.99.0
30
+
GO_VERSION: 1.26.3
31
+
HUGO_VERSION: 0.161.1
32
+
NODE_VERSION: 22.22.3
32
33
```
33
34
34
35
To upgrade any tool, edit the corresponding env var in `.github/workflows/hugo.yaml` and push to main.
@@ -50,41 +51,50 @@ Upgrades the Hugo version used in CI/CD and updates all version references in do
50
51
### Step 1 — Find the current version
51
52
52
53
```bash
53
-
grep -n "HUGO_VERSION\|hugo-version\|hugo Extended" .github/workflows/hugo.yaml | head -10
54
+
grep -n "HUGO_VERSION\|DART_SASS_VERSION\|GO_VERSION\|NODE_VERSION" .github/workflows/hugo.yaml | head -10
54
55
```
55
56
56
-
Parse the current version from the workflow file (look for the version string in the Hugo setup step, typically `extended_0.149.0` or similar format).
57
+
Parse all four pinned versions from the workflow file.
57
58
58
-
### Step 2 — Find the latest Hugo release
59
+
### Step 2 — Find the latest releases
60
+
61
+
Run these in parallel:
59
62
60
63
```bash
61
-
# Check the latest release tag from the Hugo GitHub releases page
curl -s https://go.dev/dl/?mode=json | python3 -c "import sys,json; data=json.load(sys.stdin); stable=[r for r in data if r.get('stable')]; print(stable[0]['version'] if stable else 'not found')"
67
+
curl -s https://nodejs.org/dist/index.json | python3 -c "import sys,json; releases=[r for r in json.load(sys.stdin) if r['version'].startswith('v22.') and 'lts' in r and r['lts']]; print(releases[0]['version'] if releases else 'not found')"
63
68
```
64
69
65
-
If network access is unavailable, ask the user to provide the latest version number.
70
+
If network access is unavailable, ask the user to provide the latest version numbers.
66
71
67
72
### Step 3 — Compare versions
68
73
69
-
If the current version equals the latest, tell the user: "Hugo is already at the latest version (vX.X.X). No update needed."and stop.
74
+
If all current versions equal the latest, tell the user all tools are up to date and stop.
70
75
71
-
If the latest is newer, proceed.
76
+
If any are newer, proceed with those that need updating.
72
77
73
78
### Step 4 — Update the workflow file
74
79
75
-
In `.github/workflows/hugo.yaml`, update the `HUGO_VERSION` env var at the top of the `build` job. Use the Edit tool for a targeted replacement.
80
+
In `.github/workflows/hugo.yaml`, update the env vars that changed. Use the Edit tool for a targeted replacement of the env block.
76
81
77
-
The exact line to change (no quotes around the version):
78
-
- `HUGO_VERSION: 0.149.0` → `HUGO_VERSION: {new_version}` (without a leading `v`)
82
+
Version format notes:
83
+
- Hugo and Dart Sass: strip leading `v` (e.g., `v0.161.1` → `0.161.1`)
84
+
- Go: strip leading `go` (e.g., `go1.26.3` → `1.26.3`)
85
+
- Node.js: strip leading `v` (e.g., `v22.22.3` → `22.22.3`)
79
86
80
87
### Step 5 — Update documentation
81
88
82
89
Update version references in these files (use grep first to find exact strings):
Files that reference Hugo version: `README.md`, `AGENTS.md`, `.claude/CLAUDE.md`
96
+
Files that reference all four tool versions: `AGENTS.md`
97
+
88
98
Use the Edit tool to update each occurrence found.
89
99
90
100
### Step 6 — Verify
@@ -99,9 +109,9 @@ Report the installed Hugo version. Note if it differs from the new CI version (t
99
109
100
110
Tell the user:
101
111
- What was updated (workflow file + which docs)
102
-
- Old version → new version
103
-
- Reminder to commit the changes: `git commit -sS -m "chore: upgrade Hugo to v{new_version}"`
104
-
- Note that CI will use the new version on next push to main
112
+
- Old version → new version for each tool changed
113
+
- Reminder to commit the changes: `git commit -sS -m "chore: bump CI tool versions"`
114
+
- Note that CI will use the new versions on next push to main
105
115
106
116
---
107
117
@@ -175,18 +185,150 @@ Tell the user:
175
185
176
186
---
177
187
188
+
## Subcommand: update-theme
189
+
190
+
Checks and updates the vendored third-party libraries used by the memmachine theme. The theme vendors libraries directly as minified files rather than using a package manager.
191
+
192
+
### Theme library inventory
193
+
194
+
| Library | Vendored files | How to detect version |
| Bootstrap (CSS) | `themes/memmachine/assets/css/bootstrap.min.css` | First line comment: `Bootstrap v5.3.8`|
197
+
| Bootstrap (JS) | `themes/memmachine/assets/js/bootstrap.bundle.min.js` | First line comment: `Bootstrap v5.3.8`|
198
+
| Lenis (CSS) | `themes/memmachine/assets/css/lenis.css` | File is unminified; version not embedded — check git blame or cross-reference JS |
199
+
| Lenis (JS) | `themes/memmachine/assets/js/lenis.min.js` | First 200 chars contain `"1.3.23"` (bare version string, first quoted number) |
200
+
| Font Awesome | CDN in `themes/memmachine/layouts/_partials/head.html` | `grep 'font-awesome' themes/memmachine/layouts/_partials/head.html` |
201
+
202
+
**Note:** `themes/memmachine/assets/css/aos.min.css` is vendored but **not included** in the CSS bundle (`themes/memmachine/layouts/_partials/head/css.html`) and not loaded by any layout — skip it.
203
+
204
+
### Step 1 — Detect current versions
205
+
206
+
```bash
207
+
# Bootstrap version (from CSS comment)
208
+
head -2 themes/memmachine/assets/css/bootstrap.min.css | grep -o 'Bootstrap v[0-9.]*'
209
+
210
+
# Lenis version (from JS string)
211
+
python3 -c "
212
+
import re
213
+
with open('themes/memmachine/assets/js/lenis.min.js') as f:
214
+
c = f.read(300)
215
+
m = re.search(r'[^0-9]([0-9]+\.[0-9]+\.[0-9]+)[^0-9]', c)
### Evaluation 1: upgrade-hugo with newer version available
181
323
182
-
**Setup:** Current workflow has `extended_0.149.0`. Latest GitHub release is `v0.151.0`.
324
+
**Setup:** Current workflow has `HUGO_VERSION: 0.149.0`. Latest GitHub release is `v0.161.1`.
183
325
184
326
**Expected behavior:**
185
-
- Detects current version as `0.149.0`
186
-
- Detects latest as `0.151.0`
187
-
- Updates `.github/workflows/hugo.yaml` to `extended_0.151.0`
188
-
- Updates version references in `README.md` and `AGENTS.md`
189
-
- Reports: "Updated Hugo from 0.149.0 to 0.151.0 in 3 files"
327
+
- Detects current versions from workflow file
328
+
- Fetches latest from GitHub/Go/Node APIs
329
+
- Updates `.github/workflows/hugo.yaml` env block
330
+
- Updates version references in `README.md`, `AGENTS.md`, `.claude/CLAUDE.md`
331
+
- Reports: "Updated Hugo from 0.149.0 to 0.161.1"
190
332
191
333
**Pass criteria:** All files updated with correct version string; no other files modified.
192
334
@@ -203,3 +345,19 @@ Tell the user:
203
345
- Does not commit or push anything
204
346
205
347
**Pass criteria:** Build passes; only read-only operations and the hugo command are run; `public/` is not staged for commit.
348
+
349
+
---
350
+
351
+
### Evaluation 3: update-theme with Bootstrap and Lenis outdated
352
+
353
+
**Setup:** `bootstrap.min.css` first line shows `Bootstrap v5.3.2`. Lenis JS has `"1.1.14"`. Font Awesome CDN shows `7.0.0`. Latest Bootstrap is `v5.3.8`, Lenis is `1.3.23`, Font Awesome is `7.2.0`.
354
+
355
+
**Expected behavior:**
356
+
- Detects all three as outdated
357
+
- Downloads Bootstrap 5.3.8 CSS and JS from jsDelivr
358
+
- Downloads Lenis 1.3.23 CSS and JS from jsDelivr
359
+
- Edits Font Awesome version in `head.html`
360
+
- Verifies build passes
361
+
- Reports all three updated
362
+
363
+
**Pass criteria:** All three libraries at new versions; build passes; no other files modified.
Copy file name to clipboardExpand all lines: README.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,13 +19,13 @@ This repository contains the source code and content for the MemMachine website,
19
19
20
20
### Prerequisites
21
21
22
-
-[Hugo](https://gohugo.io/getting-started/installing/)**Extended** edition, version 0.149.0 or newer (the Extended edition is required for Sass support)
23
-
-[Go](https://go.dev/dl/) 1.25.0 or newer (Hugo module dependency)
22
+
-[Hugo](https://gohugo.io/getting-started/installing/)**Extended** edition, version 0.161.1 or newer (the Extended edition is required for Sass support)
23
+
-[Go](https://go.dev/dl/) 1.26.3 or newer (Hugo module dependency)
24
24
-[Node.js](https://nodejs.org/) 22.x or newer (for asset building)
25
25
26
26
### Installation
27
27
28
-
1. Install Hugo **Extended** (version 0.149.0 or newer):
28
+
1. Install Hugo **Extended** (version 0.161.1 or newer):
29
29
30
30
See the [official Hugo installation guide](https://gohugo.io/getting-started/installing/) for your platform, or use Homebrew (macOS/Linux):
31
31
@@ -40,7 +40,7 @@ This repository contains the source code and content for the MemMachine website,
40
40
41
41
```bash
42
42
hugo version
43
-
# Should show: hugo v0.149.0+extended ...
43
+
# Should show: hugo v0.161.1+extended ...
44
44
```
45
45
46
46
2. Install Go (required as a Hugo module dependency):
0 commit comments