mirror of
https://github.com/browseros-ai/BrowserOS.git
synced 2026-05-13 23:53:25 +00:00
* feat: add PostHog usage analytics to CLI Add anonymous command-level analytics to browseros-cli using the PostHog Go SDK. Tracks which commands are executed, their success/failure status, and duration — no PII or person profiles. - New analytics package with Init/Track/Close singleton - Distinct ID resolves from server's browseros_id (server.json), falls back to CLI-generated UUID (~/.config/browseros-cli/install_id) - API key injected at build time via ldflags (dev builds = silent no-op) - Server now writes browseros_id into server.json for cross-surface identity correlation * fix: address PR review feedback for #603 - Return "unknown" for unrecognized args in commandName to avoid sending arbitrary user input to PostHog - Revert goreleaser to {{ .Env.POSTHOG_API_KEY }} (intentional hard fail — release builds must have the key set) - go mod tidy to fix posthog-go direct/indirect marker - Add POSTHOG_API_KEY to .env.production.example
29 lines
537 B
Makefile
29 lines
537 B
Makefile
BINARY := browseros-cli
|
|
SOURCES := $(shell find . -name '*.go')
|
|
VERSION ?= dev
|
|
POSTHOG_API_KEY ?=
|
|
LDFLAGS := -X main.version=$(VERSION) -X browseros-cli/analytics.posthogAPIKey=$(POSTHOG_API_KEY)
|
|
|
|
$(BINARY): $(SOURCES)
|
|
go build -ldflags "$(LDFLAGS)" -o $(BINARY) .
|
|
|
|
.PHONY: install clean vet test
|
|
|
|
install:
|
|
go install -ldflags "$(LDFLAGS)" .
|
|
|
|
clean:
|
|
rm -f $(BINARY)
|
|
|
|
vet:
|
|
go vet ./...
|
|
|
|
test:
|
|
go test -tags integration -v -timeout 120s ./...
|
|
|
|
release-dry:
|
|
goreleaser release --snapshot --clean
|
|
|
|
release:
|
|
goreleaser release --clean
|