Compare commits

...
4 Commits
5 changed files with 73 additions and 12 deletions
+3
View File
@@ -14,6 +14,7 @@ import (
"github.com/lukaszraczylo/claude-mnemonic/internal/config"
"github.com/lukaszraczylo/claude-mnemonic/internal/mcp"
"github.com/lukaszraczylo/claude-mnemonic/internal/watcher"
"github.com/lukaszraczylo/oss-telemetry"
"github.com/rs/zerolog"
"github.com/rs/zerolog/log"
)
@@ -60,6 +61,8 @@ func main() {
// Start file watchers for config changes
startWatchers()
telemetry.Send("claude-mnemonic", Version)
// Create and run MCP server
server := mcp.NewServer(client, workerURL, *project, Version)
log.Info().Str("project", *project).Str("version", Version).Str("worker", workerURL).Msg("Starting MCP server")
+1
View File
@@ -26,6 +26,7 @@ require (
github.com/emirpasic/gods v1.18.1 // indirect
github.com/jinzhu/inflection v1.0.0 // indirect
github.com/jinzhu/now v1.1.5 // indirect
github.com/lukaszraczylo/oss-telemetry v0.2.1 // indirect
github.com/mattn/go-colorable v0.1.14 // indirect
github.com/mattn/go-isatty v0.0.22 // indirect
github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db // indirect
+2
View File
@@ -19,6 +19,8 @@ github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD
github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc=
github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ=
github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8=
github.com/lukaszraczylo/oss-telemetry v0.2.1 h1:6ULyfzXplpdmIY/i01OPM1jeod9+L1RAhI0jtbVnJI0=
github.com/lukaszraczylo/oss-telemetry v0.2.1/go.mod h1:+Cn78qZo8rc3T9eZt0v3oICYRdd75wORtSidc8lNjDQ=
github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE=
github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8=
github.com/mattn/go-isatty v0.0.22 h1:j8l17JJ9i6VGPUFUYoTUKPSgKe/83EYU2zBC7YNKMw4=
+55
View File
@@ -0,0 +1,55 @@
// Package telemetry sends anonymous OSS usage pings.
package telemetry
import (
"bytes"
"context"
"encoding/json"
"net/http"
"strings"
"time"
"github.com/rs/zerolog/log"
)
const endpoint = "https://oss.raczylo.com/v1/ping"
type pingPayload struct {
Project string `json:"project"`
Version string `json:"version"`
Ts int64 `json:"ts"`
}
// Ping fires an anonymous analytics ping asynchronously. Never blocks the caller.
// Silently skips dev/dirty builds; all errors are logged at debug level only.
func Ping(project, version string) {
if version == "dev" || strings.Contains(version, "dirty") {
return
}
go func() {
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
defer cancel()
body, err := json.Marshal(pingPayload{
Project: project,
Version: strings.TrimPrefix(version, "v"),
Ts: time.Now().Unix(),
})
if err != nil {
return
}
req, err := http.NewRequestWithContext(ctx, http.MethodPost, endpoint, bytes.NewReader(body))
if err != nil {
return
}
req.Header.Set("Content-Type", "application/json")
resp, err := http.DefaultClient.Do(req)
if err != nil {
log.Debug().Err(err).Msg("telemetry ping failed")
return
}
resp.Body.Close()
}()
}
+12 -12
View File
@@ -1,7 +1,7 @@
{
"$schema": "https://anthropic.com/claude-code/marketplace.schema.json",
"name": "claude-mnemonic",
"version": "v0.11.57-dirty",
"version": "1.0.0",
"description": "Persistent memory system for Claude Code - stores observations, session summaries, and user prompts with semantic search",
"owner": {
"name": "lukaszraczylo",
@@ -12,8 +12,8 @@
"plugins": [
{
"name": "claude-mnemonic",
"description": "Persistent memory system for Claude Code - Go implementation with SQLite and sqlite-vec vector search",
"version": "0.11.105",
"description": "Persistent memory system for Claude Code - Go implementation with SQLite and ChromaDB vector search",
"version": "0.11.113",
"author": {
"name": "lukaszraczylo",
"url": "https://github.com/lukaszraczylo"
@@ -23,25 +23,25 @@
"license": "MIT",
"homepage": "https://github.com/lukaszraczylo/claude-mnemonic",
"releases": {
"latest": "0.11.105",
"latest": "0.11.113",
"versions": {
"0.11.105": {
"releaseDate": "2026-04-21",
"0.11.113": {
"releaseDate": "2026-05-24",
"downloads": {
"darwin-arm64": {
"url": "https://github.com/lukaszraczylo/claude-mnemonic/releases/download/v0.11.105/claude-mnemonic_0.11.105_darwin_arm64.tar.gz",
"url": "https://github.com/lukaszraczylo/claude-mnemonic/releases/download/v0.11.113/claude-mnemonic_0.11.113_darwin_arm64.tar.gz",
"format": "tar.gz",
"sha256": "435694aa5775156c2cfb43020d63411acbfe47cb2815c55c667117a86783dbda"
"sha256": "2f57716b2570d91cc2eb71ec0cb682d354aacaf0371f38a20a66f30105ec0b6b"
},
"linux-amd64": {
"url": "https://github.com/lukaszraczylo/claude-mnemonic/releases/download/v0.11.105/claude-mnemonic_0.11.105_linux_amd64.tar.gz",
"url": "https://github.com/lukaszraczylo/claude-mnemonic/releases/download/v0.11.113/claude-mnemonic_0.11.113_linux_amd64.tar.gz",
"format": "tar.gz",
"sha256": "38d1e23d3d850837718918179cc791901d05a658da3a170b6a298587df9ad2ba"
"sha256": "6f10bcdfc811b78c05ab09f14757933f3c5e10b238a8f4047b9796075124b0a0"
},
"windows-amd64": {
"url": "https://github.com/lukaszraczylo/claude-mnemonic/releases/download/v0.11.105/claude-mnemonic_0.11.105_windows_amd64.zip",
"url": "https://github.com/lukaszraczylo/claude-mnemonic/releases/download/v0.11.113/claude-mnemonic_0.11.113_windows_amd64.zip",
"format": "zip",
"sha256": "b1cb63c60fba8dd3ad4908ac2db1691f94854cd3f5bd402e7f8c104007ccf34d"
"sha256": "ce05d7ea33d6e68ed11d834203454c7490bd825a21c2ed0be253b77ff0936939"
}
}
}