Initial commit

This commit is contained in:
2025-12-14 21:59:59 +00:00
commit d7c20cea54
126 changed files with 21728 additions and 0 deletions
+20
View File
@@ -0,0 +1,20 @@
name: Autoupdate go.mod and go.sum
on:
workflow_dispatch:
schedule:
- cron: "0 3 * * *"
permissions:
contents: write
actions: write
pull-requests: write
security-events: write
jobs:
autoupdate:
uses: lukaszraczylo/shared-actions/.github/workflows/go-autoupdate.yaml@main
with:
go-version: ">=1.24"
release-workflow: "release.yaml"
secrets: inherit
+23
View File
@@ -0,0 +1,23 @@
name: Pull Request
on:
pull_request:
branches:
- main
push:
branches:
- "**"
- "!main"
permissions:
contents: write
actions: write
pull-requests: write
security-events: write
jobs:
pr-checks:
uses: lukaszraczylo/shared-actions/.github/workflows/go-pr.yaml@main
with:
go-version: ">=1.24"
secrets: inherit
+124
View File
@@ -0,0 +1,124 @@
name: Release
on:
push:
branches:
- main
paths-ignore:
- "**.md"
- "docs/**"
workflow_dispatch:
permissions:
contents: write
jobs:
release:
uses: lukaszraczylo/shared-actions/.github/workflows/go-release-cgo.yaml@main
with:
go-version: ">=1.24"
node-enabled: true
node-version: "20"
node-build-script: "cd ui && npm ci && npm run build"
node-cache-dependency-path: "ui/package-lock.json"
node-output-path: "ui/dist"
node-embed-path: "internal/worker/static"
secrets: inherit
commit-marketplace:
needs: release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
ref: main
- name: Download checksums
run: |
VERSION="${{ needs.release.outputs.version_tag }}"
curl -sSL -o checksums.txt \
"https://github.com/lukaszraczylo/claude-mnemonic/releases/download/${VERSION}/checksums.txt"
- name: Generate marketplace.json with checksums
run: |
VERSION="${{ needs.release.outputs.version }}"
VERSION_TAG="${{ needs.release.outputs.version_tag }}"
TODAY=$(date -u +%Y-%m-%d)
# Extract checksums from checksums.txt
SHA_DARWIN_AMD64=$(grep "darwin_amd64" checksums.txt | awk '{print $1}')
SHA_DARWIN_ARM64=$(grep "darwin_arm64" checksums.txt | awk '{print $1}')
SHA_LINUX_AMD64=$(grep "linux_amd64" checksums.txt | awk '{print $1}')
SHA_WINDOWS_AMD64=$(grep "windows_amd64" checksums.txt | awk '{print $1}')
# Generate marketplace.json
cat > marketplace.json << EOF
{
"\$schema": "https://anthropic.com/claude-code/marketplace.schema.json",
"name": "claude-mnemonic",
"version": "1.0.0",
"description": "Persistent memory system for Claude Code - stores observations, session summaries, and user prompts with semantic search",
"owner": {
"name": "lukaszraczylo",
"email": "lukaszraczylo@users.noreply.github.com",
"url": "https://github.com/lukaszraczylo"
},
"repository": "https://github.com/lukaszraczylo/claude-mnemonic",
"plugins": [
{
"name": "claude-mnemonic",
"description": "Persistent memory system for Claude Code - Go implementation with SQLite and ChromaDB vector search",
"version": "${VERSION}",
"author": {
"name": "lukaszraczylo",
"url": "https://github.com/lukaszraczylo"
},
"category": "productivity",
"tags": ["memory", "persistence", "search", "context"],
"license": "MIT",
"homepage": "https://github.com/lukaszraczylo/claude-mnemonic",
"releases": {
"latest": "${VERSION}",
"versions": {
"${VERSION}": {
"releaseDate": "${TODAY}",
"downloads": {
"darwin-amd64": {
"url": "https://github.com/lukaszraczylo/claude-mnemonic/releases/download/${VERSION_TAG}/claude-mnemonic_${VERSION}_darwin_amd64.tar.gz",
"format": "tar.gz",
"sha256": "${SHA_DARWIN_AMD64}"
},
"darwin-arm64": {
"url": "https://github.com/lukaszraczylo/claude-mnemonic/releases/download/${VERSION_TAG}/claude-mnemonic_${VERSION}_darwin_arm64.tar.gz",
"format": "tar.gz",
"sha256": "${SHA_DARWIN_ARM64}"
},
"linux-amd64": {
"url": "https://github.com/lukaszraczylo/claude-mnemonic/releases/download/${VERSION_TAG}/claude-mnemonic_${VERSION}_linux_amd64.tar.gz",
"format": "tar.gz",
"sha256": "${SHA_LINUX_AMD64}"
},
"windows-amd64": {
"url": "https://github.com/lukaszraczylo/claude-mnemonic/releases/download/${VERSION_TAG}/claude-mnemonic_${VERSION}_windows_amd64.zip",
"format": "zip",
"sha256": "${SHA_WINDOWS_AMD64}"
}
}
}
}
}
}
]
}
EOF
echo "Generated marketplace.json:"
cat marketplace.json
- name: Commit and push
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add marketplace.json
git diff --staged --quiet || git commit -m "chore: update marketplace for ${{ needs.release.outputs.version_tag }}"
git push
+57
View File
@@ -0,0 +1,57 @@
name: Deploy Website to GitHub Pages
on:
push:
branches: ["main"]
paths:
- "docs/**"
workflow_dispatch:
permissions:
contents: read
pages: write
id-token: write
concurrency:
group: "pages"
cancel-in-progress: false
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
cache-dependency-path: 'docs/package-lock.json'
- name: Install dependencies
run: cd docs && npm ci
- name: Build
run: cd docs && npm run build
- name: Setup Pages
uses: actions/configure-pages@v5
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: "docs/dist"
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4