Ackee Agent Skills & AI Rules

GitHub

Self-hosted, Node.js based analytics tool for those who care about privacy.

4,719 stars JavaScript JavaScript 15 files ยท ~14,605 tokens #analytics#google-analytics#privacy#website-analytics
RAW Rules
2 Discovered Rules โ€ข ~2,300 Estimated Tokens
Quick:
Loading skill content...

AI Agent Protocol & Instructions

AGENTS.md root-instruction ~361 tokens
Raw
# Agent notes

- `npm run build` only generates environment-specific HTML/custom tracker. After UI or tracker changes, run `npm run build:pre`; JS/CSS/tracker bundles in `dist/` are tracked. Never edit bundles by hand.
- Tracker source lives in external `ackee-tracker` package, not this repo.
- UI uses React `createElement as h`, not JSX; build disables Babel. `src/types/` contains GraphQL schemas, not TypeScript.
- `src/utils/config.js` reads env variables lazily so tests can mock them. Don't replace it with import-time constants.
- Keep API behavior aligned between `src/server.js` (Express) and `src/serverless.js` (Netlify/Vercel), including CORS, headers, and request context.
- Compose protected resolvers with `pipe(requireAuth, ...)`; add `blockDemoMode` for domain/event/permanent-token writes. Tracking mutations stay public and work in demo mode. Use `KnownError` for expected user-facing failures.
- Preserve privacy: salted client IDs rotate daily; new records anonymize older records for that client. Never persist raw IPs/user agents or expose client IDs.
- Ignored visits/actions return success without writes; creation returns sentinel UUID `88888888-8888-8888-8888-888888888888`. Keep this tracker contract.
- `npm test` includes lint + AVA; `npx ava test/path.js` runs focused tests. Tests need Node 24.12+ or 26+ and start in-memory MongoDB; no separate DB needed.
- Reuse test helpers and serial tests for shared DB/env state. Teardown must stop MongoDB, close server, and cancel salt job to avoid hanging tests.