Files
claude-mnemonic/.goreleaser.yaml

318 lines
6.5 KiB
YAML

# yaml-language-server: $schema=https://goreleaser.com/static/schema.json
# vim: set ts=2 sw=2 tw=0 fo=cnqoj
version: 2
project_name: claude-mnemonic
before:
hooks:
- go mod tidy
# Download ONNX runtime library (workflow-prepare.sh already handles CI, this is fallback for local builds)
- bash ./scripts/download-onnx-libs.sh auto
# Generate versioned package.json from template and build Vue dashboard
- bash -c "sed 's/{{ .Version }}/{{ .Version }}/g' ui/package.json.tpl > ui/package.json"
- bash -c "cd ui && npm ci --silent && npm run build"
- bash -c "rm -rf internal/worker/static && mkdir -p internal/worker/static && cp -r ui/dist/* internal/worker/static/"
# Generate plugin config files for archives (in .claude-plugin/)
- bash scripts/generate-plugin-config.sh
builds:
# Worker service
- id: worker
main: ./cmd/worker
binary: worker
env:
- CGO_ENABLED=1
tags:
- fts5
flags:
- -trimpath
ldflags:
- -s -w
- -X main.Version={{.Version}}
- -X github.com/lukaszraczylo/claude-mnemonic/pkg/hooks.Version={{.Version}}
goos:
- darwin
- linux
- windows
goarch:
- amd64
- arm64
ignore:
- goos: darwin
goarch: amd64
- goos: linux
goarch: arm64
- goos: windows
goarch: arm64
# MCP server
- id: mcp-server
main: ./cmd/mcp
binary: mcp-server
env:
- CGO_ENABLED=1
tags:
- fts5
flags:
- -trimpath
ldflags:
- -s -w
- -X main.Version={{.Version}}
- -X github.com/lukaszraczylo/claude-mnemonic/pkg/hooks.Version={{.Version}}
goos:
- darwin
- linux
- windows
goarch:
- amd64
- arm64
ignore:
- goos: darwin
goarch: amd64
- goos: linux
goarch: arm64
- goos: windows
goarch: arm64
# Hook: session-start
- id: hook-session-start
main: ./cmd/hooks/session-start
binary: hooks/session-start
env:
- CGO_ENABLED=1
tags:
- fts5
flags:
- -trimpath
ldflags:
- -s -w
- -X main.Version={{.Version}}
- -X github.com/lukaszraczylo/claude-mnemonic/pkg/hooks.Version={{.Version}}
goos:
- darwin
- linux
- windows
goarch:
- amd64
- arm64
ignore:
- goos: darwin
goarch: amd64
- goos: linux
goarch: arm64
- goos: windows
goarch: arm64
# Hook: user-prompt
- id: hook-user-prompt
main: ./cmd/hooks/user-prompt
binary: hooks/user-prompt
env:
- CGO_ENABLED=1
tags:
- fts5
flags:
- -trimpath
ldflags:
- -s -w
- -X main.Version={{.Version}}
- -X github.com/lukaszraczylo/claude-mnemonic/pkg/hooks.Version={{.Version}}
goos:
- darwin
- linux
- windows
goarch:
- amd64
- arm64
ignore:
- goos: darwin
goarch: amd64
- goos: linux
goarch: arm64
- goos: windows
goarch: arm64
# Hook: post-tool-use
- id: hook-post-tool-use
main: ./cmd/hooks/post-tool-use
binary: hooks/post-tool-use
env:
- CGO_ENABLED=1
tags:
- fts5
flags:
- -trimpath
ldflags:
- -s -w
- -X main.Version={{.Version}}
- -X github.com/lukaszraczylo/claude-mnemonic/pkg/hooks.Version={{.Version}}
goos:
- darwin
- linux
- windows
goarch:
- amd64
- arm64
ignore:
- goos: darwin
goarch: amd64
- goos: linux
goarch: arm64
- goos: windows
goarch: arm64
# Hook: subagent-stop
- id: hook-subagent-stop
main: ./cmd/hooks/subagent-stop
binary: hooks/subagent-stop
env:
- CGO_ENABLED=1
tags:
- fts5
flags:
- -trimpath
ldflags:
- -s -w
- -X main.Version={{.Version}}
- -X github.com/lukaszraczylo/claude-mnemonic/pkg/hooks.Version={{.Version}}
goos:
- darwin
- linux
- windows
goarch:
- amd64
- arm64
ignore:
- goos: darwin
goarch: amd64
- goos: linux
goarch: arm64
- goos: windows
goarch: arm64
# Hook: stop
- id: hook-stop
main: ./cmd/hooks/stop
binary: hooks/stop
env:
- CGO_ENABLED=1
tags:
- fts5
flags:
- -trimpath
ldflags:
- -s -w
- -X main.Version={{.Version}}
- -X github.com/lukaszraczylo/claude-mnemonic/pkg/hooks.Version={{.Version}}
goos:
- darwin
- linux
- windows
goarch:
- amd64
- arm64
ignore:
- goos: darwin
goarch: amd64
- goos: linux
goarch: arm64
- goos: windows
goarch: arm64
# Hook: statusline
- id: hook-statusline
main: ./cmd/hooks/statusline
binary: hooks/statusline
env:
- CGO_ENABLED=1
tags:
- fts5
flags:
- -trimpath
ldflags:
- -s -w
- -X main.Version={{.Version}}
- -X github.com/lukaszraczylo/claude-mnemonic/pkg/hooks.Version={{.Version}}
goos:
- darwin
- linux
- windows
goarch:
- amd64
- arm64
ignore:
- goos: darwin
goarch: amd64
- goos: linux
goarch: arm64
- goos: windows
goarch: arm64
archives:
- id: default
formats:
- tar.gz
name_template: >-
{{ .ProjectName }}_
{{- .Version }}_
{{- .Os }}_
{{- .Arch }}
files:
- src: .claude-plugin/*
dst: .claude-plugin
strip_parent: true
- src: plugin/hooks/hooks.json
dst: hooks
strip_parent: true
- src: plugin/commands/*
dst: commands
strip_parent: true
format_overrides:
- goos: windows
formats:
- zip
checksum:
name_template: 'checksums.txt'
changelog:
sort: asc
filters:
exclude:
- '^docs:'
- '^test:'
- '^chore:'
- Merge pull request
- Merge branch
release:
github:
owner: lukaszraczylo
name: claude-mnemonic
draft: false
prerelease: auto
name_template: "v{{.Version}}"
header: |
## Claude Mnemonic v{{.Version}}
Persistent memory system for Claude Code.
### Installation
```bash
curl -sSL https://raw.githubusercontent.com/lukaszraczylo/claude-mnemonic/main/scripts/install.sh | bash
```
signs:
- cmd: cosign
signature: "${artifact}.sigstore.json"
args:
- sign-blob
- "--bundle=${signature}"
- "${artifact}"
- "--yes"
artifacts: checksum
output: true