{"id":"@lssm-tech/lib.analytics","slug":"lib.analytics","name":"@lssm-tech/lib.analytics","version":"5.0.5","path":"packages/domains/growth/analytics","manifestPath":"packages/domains/growth/analytics/package.json","manifestBlobSha":"a1ab526ef86577c3b56efcadb469b7767eacf73d","layer":"domains","physicalArea":"growth","primaryArea":"content-and-growth","classification":{"privateDeclared":null,"catalogFamily":"sharedLibs","catalogKind":"library","catalogStatus":"active","adoptionMode":"adoptable","stability":"stable"},"description":"Product analytics and growth metrics","descriptionOrigin":"package.json","catalog":{"family":"sharedLibs","kind":"library","status":"active","adoptionMode":"adoptable","stability":"stable","platforms":["server"],"runtimes":["node"],"entrypoints":[".","./analytics.feature","./churn","./churn/predictor","./cohort","./cohort/tracker","./funnel","./funnel/analyzer","./growth","./growth/hypothesis-generator","./lifecycle","./lifecycle/metric-collectors","./lifecycle/posthog-bridge","./lifecycle/posthog-metric-source","./ports","./posthog","./posthog/event-source","./types"],"documentation":[{"title":"Lib Analytics documentation","url":"https://www.npmjs.com/package/%40lssm-tech%2Flib.analytics","kind":"readme"}],"examples":[],"replacements":[],"capabilities":[{"id":"package.lssm.tech.lib.analytics","title":"Lib Analytics","description":"Product analytics and growth metrics","status":"active","useCases":["Adopt product analytics and growth metrics"],"aliases":["contractspec","analytics","metrics","funnel","cohort","typescript","lib"],"pythonEquivalents":[],"canonicalImports":[{"from":"@lssm-tech/lib.analytics","symbols":[]},{"from":"@lssm-tech/lib.analytics/analytics.feature","symbols":[]},{"from":"@lssm-tech/lib.analytics/churn","symbols":[]},{"from":"@lssm-tech/lib.analytics/churn/predictor","symbols":[]},{"from":"@lssm-tech/lib.analytics/cohort","symbols":[]},{"from":"@lssm-tech/lib.analytics/cohort/tracker","symbols":[]},{"from":"@lssm-tech/lib.analytics/funnel","symbols":[]},{"from":"@lssm-tech/lib.analytics/funnel/analyzer","symbols":[]},{"from":"@lssm-tech/lib.analytics/growth","symbols":[]},{"from":"@lssm-tech/lib.analytics/growth/hypothesis-generator","symbols":[]},{"from":"@lssm-tech/lib.analytics/lifecycle","symbols":[]},{"from":"@lssm-tech/lib.analytics/lifecycle/metric-collectors","symbols":[]}],"constraints":{"platforms":["server"],"runtimes":["node"],"avoidWhen":["The @lssm-tech/lib.analytics package constraints do not match the target runtime or platform."],"requires":["TypeScript"]},"alternatives":[],"relationships":[],"resolutionPriority":50}]},"canonicalImports":[{"capabilityId":"package.lssm.tech.lib.analytics","from":"@lssm-tech/lib.analytics","symbols":[]},{"capabilityId":"package.lssm.tech.lib.analytics","from":"@lssm-tech/lib.analytics/analytics.feature","symbols":[]},{"capabilityId":"package.lssm.tech.lib.analytics","from":"@lssm-tech/lib.analytics/churn","symbols":[]},{"capabilityId":"package.lssm.tech.lib.analytics","from":"@lssm-tech/lib.analytics/churn/predictor","symbols":[]},{"capabilityId":"package.lssm.tech.lib.analytics","from":"@lssm-tech/lib.analytics/cohort","symbols":[]},{"capabilityId":"package.lssm.tech.lib.analytics","from":"@lssm-tech/lib.analytics/cohort/tracker","symbols":[]},{"capabilityId":"package.lssm.tech.lib.analytics","from":"@lssm-tech/lib.analytics/funnel","symbols":[]},{"capabilityId":"package.lssm.tech.lib.analytics","from":"@lssm-tech/lib.analytics/funnel/analyzer","symbols":[]},{"capabilityId":"package.lssm.tech.lib.analytics","from":"@lssm-tech/lib.analytics/growth","symbols":[]},{"capabilityId":"package.lssm.tech.lib.analytics","from":"@lssm-tech/lib.analytics/growth/hypothesis-generator","symbols":[]},{"capabilityId":"package.lssm.tech.lib.analytics","from":"@lssm-tech/lib.analytics/lifecycle","symbols":[]},{"capabilityId":"package.lssm.tech.lib.analytics","from":"@lssm-tech/lib.analytics/lifecycle/metric-collectors","symbols":[]}],"scripts":{"publish:pkg":"bun publish --tolerate-republish --ignore-scripts --verbose","publish:pkg:canary":"bun publish:pkg --tag canary","build":"contractspec-bun-build build","build:bundle":"contractspec-bun-build transpile","build:types":"contractspec-bun-build types","dev":"contractspec-bun-build dev","clean":"rimraf dist .turbo","lint":"bun lint:fix","lint:fix":"node ../../../../scripts/biome.cjs check --write --unsafe --only=nursery/useSortedClasses . && node ../../../../scripts/biome.cjs check --write .","lint:check":"node ../../../../scripts/biome.cjs check .","test":"bun test --pass-with-no-tests","prebuild":"contractspec-bun-build prebuild","typecheck":"tsgo --noEmit"},"scriptStatus":"complete pinned manifest","dependencies":{"@lssm-tech/lib.contracts-spec-core":"workspace:^","@lssm-tech/lib.contracts-integrations":"workspace:^","@lssm-tech/lib.lifecycle":"workspace:^","dayjs":"^1.11.23"},"devDependencies":{"@lssm-tech/tool.typescript":"workspace:*","typescript":"catalog:","@lssm-tech/tool.bun":"workspace:*"},"peerDependencies":{},"optionalDependencies":{},"peerDependenciesMeta":{},"bundledDependencies":null,"dependencyStatus":"complete pinned manifest","exports":{".":"./src/index.ts","./analytics.feature":"./src/analytics.feature.ts","./churn":"./src/churn/index.ts","./churn/predictor":"./src/churn/predictor.ts","./cohort":"./src/cohort/index.ts","./cohort/tracker":"./src/cohort/tracker.ts","./funnel":"./src/funnel/index.ts","./funnel/analyzer":"./src/funnel/analyzer.ts","./growth":"./src/growth/index.ts","./growth/hypothesis-generator":"./src/growth/hypothesis-generator.ts","./lifecycle":"./src/lifecycle/index.ts","./lifecycle/metric-collectors":"./src/lifecycle/metric-collectors.ts","./lifecycle/posthog-bridge":"./src/lifecycle/posthog-bridge.ts","./lifecycle/posthog-metric-source":"./src/lifecycle/posthog-metric-source.ts","./ports":"./src/ports.ts","./posthog":"./src/posthog/index.ts","./posthog/event-source":"./src/posthog/event-source.ts","./types":"./src/types.ts"},"publishExports":{".":{"types":"./dist/index.d.ts","browser":"./dist/browser/index.js","bun":"./dist/index.js","node":"./dist/node/index.js","default":"./dist/index.js"},"./analytics.feature":{"types":"./dist/analytics.feature.d.ts","browser":"./dist/browser/analytics.feature.js","bun":"./dist/analytics.feature.js","node":"./dist/node/analytics.feature.js","default":"./dist/analytics.feature.js"},"./churn":{"types":"./dist/churn/index.d.ts","browser":"./dist/browser/churn/index.js","bun":"./dist/churn/index.js","node":"./dist/node/churn/index.js","default":"./dist/churn/index.js"},"./churn/predictor":{"types":"./dist/churn/predictor.d.ts","browser":"./dist/browser/churn/predictor.js","bun":"./dist/churn/predictor.js","node":"./dist/node/churn/predictor.js","default":"./dist/churn/predictor.js"},"./cohort":{"types":"./dist/cohort/index.d.ts","browser":"./dist/browser/cohort/index.js","bun":"./dist/cohort/index.js","node":"./dist/node/cohort/index.js","default":"./dist/cohort/index.js"},"./cohort/tracker":{"types":"./dist/cohort/tracker.d.ts","browser":"./dist/browser/cohort/tracker.js","bun":"./dist/cohort/tracker.js","node":"./dist/node/cohort/tracker.js","default":"./dist/cohort/tracker.js"},"./funnel":{"types":"./dist/funnel/index.d.ts","browser":"./dist/browser/funnel/index.js","bun":"./dist/funnel/index.js","node":"./dist/node/funnel/index.js","default":"./dist/funnel/index.js"},"./funnel/analyzer":{"types":"./dist/funnel/analyzer.d.ts","browser":"./dist/browser/funnel/analyzer.js","bun":"./dist/funnel/analyzer.js","node":"./dist/node/funnel/analyzer.js","default":"./dist/funnel/analyzer.js"},"./growth":{"types":"./dist/growth/index.d.ts","browser":"./dist/browser/growth/index.js","bun":"./dist/growth/index.js","node":"./dist/node/growth/index.js","default":"./dist/growth/index.js"},"./growth/hypothesis-generator":{"types":"./dist/growth/hypothesis-generator.d.ts","browser":"./dist/browser/growth/hypothesis-generator.js","bun":"./dist/growth/hypothesis-generator.js","node":"./dist/node/growth/hypothesis-generator.js","default":"./dist/growth/hypothesis-generator.js"},"./lifecycle":{"types":"./dist/lifecycle/index.d.ts","browser":"./dist/browser/lifecycle/index.js","bun":"./dist/lifecycle/index.js","node":"./dist/node/lifecycle/index.js","default":"./dist/lifecycle/index.js"},"./lifecycle/metric-collectors":{"types":"./dist/lifecycle/metric-collectors.d.ts","browser":"./dist/browser/lifecycle/metric-collectors.js","bun":"./dist/lifecycle/metric-collectors.js","node":"./dist/node/lifecycle/metric-collectors.js","default":"./dist/lifecycle/metric-collectors.js"},"./lifecycle/posthog-bridge":{"types":"./dist/lifecycle/posthog-bridge.d.ts","browser":"./dist/browser/lifecycle/posthog-bridge.js","bun":"./dist/lifecycle/posthog-bridge.js","node":"./dist/node/lifecycle/posthog-bridge.js","default":"./dist/lifecycle/posthog-bridge.js"},"./lifecycle/posthog-metric-source":{"types":"./dist/lifecycle/posthog-metric-source.d.ts","browser":"./dist/browser/lifecycle/posthog-metric-source.js","bun":"./dist/lifecycle/posthog-metric-source.js","node":"./dist/node/lifecycle/posthog-metric-source.js","default":"./dist/lifecycle/posthog-metric-source.js"},"./ports":{"types":"./dist/ports.d.ts","browser":"./dist/browser/ports.js","bun":"./dist/ports.js","node":"./dist/node/ports.js","default":"./dist/ports.js"},"./posthog":{"types":"./dist/posthog/index.d.ts","browser":"./dist/browser/posthog/index.js","bun":"./dist/posthog/index.js","node":"./dist/node/posthog/index.js","default":"./dist/posthog/index.js"},"./posthog/event-source":{"types":"./dist/posthog/event-source.d.ts","browser":"./dist/browser/posthog/event-source.js","bun":"./dist/posthog/event-source.js","node":"./dist/node/posthog/event-source.js","default":"./dist/posthog/event-source.js"},"./types":{"types":"./dist/types.d.ts","browser":"./dist/browser/types.js","bun":"./dist/types.js","node":"./dist/node/types.js","default":"./dist/types.js"}},"types":"./dist/index.d.ts","files":["dist","README.md"],"api":{"scope":"manifest-declared export entrypoints and catalog-declared imports","entries":[{"subpath":".","importPath":"@lssm-tech/lib.analytics","target":"./src/index.ts","targets":[{"conditions":[],"target":"./src/index.ts","sourcePath":"packages/domains/growth/analytics/src/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/analytics/src/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./analytics.feature","importPath":"@lssm-tech/lib.analytics/analytics.feature","target":"./src/analytics.feature.ts","targets":[{"conditions":[],"target":"./src/analytics.feature.ts","sourcePath":"packages/domains/growth/analytics/src/analytics.feature.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/analytics/src/analytics.feature.ts","sourceStatus":"verified source file"}]},{"subpath":"./churn","importPath":"@lssm-tech/lib.analytics/churn","target":"./src/churn/index.ts","targets":[{"conditions":[],"target":"./src/churn/index.ts","sourcePath":"packages/domains/growth/analytics/src/churn/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/analytics/src/churn/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./churn/predictor","importPath":"@lssm-tech/lib.analytics/churn/predictor","target":"./src/churn/predictor.ts","targets":[{"conditions":[],"target":"./src/churn/predictor.ts","sourcePath":"packages/domains/growth/analytics/src/churn/predictor.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/analytics/src/churn/predictor.ts","sourceStatus":"verified source file"}]},{"subpath":"./cohort","importPath":"@lssm-tech/lib.analytics/cohort","target":"./src/cohort/index.ts","targets":[{"conditions":[],"target":"./src/cohort/index.ts","sourcePath":"packages/domains/growth/analytics/src/cohort/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/analytics/src/cohort/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./cohort/tracker","importPath":"@lssm-tech/lib.analytics/cohort/tracker","target":"./src/cohort/tracker.ts","targets":[{"conditions":[],"target":"./src/cohort/tracker.ts","sourcePath":"packages/domains/growth/analytics/src/cohort/tracker.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/analytics/src/cohort/tracker.ts","sourceStatus":"verified source file"}]},{"subpath":"./funnel","importPath":"@lssm-tech/lib.analytics/funnel","target":"./src/funnel/index.ts","targets":[{"conditions":[],"target":"./src/funnel/index.ts","sourcePath":"packages/domains/growth/analytics/src/funnel/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/analytics/src/funnel/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./funnel/analyzer","importPath":"@lssm-tech/lib.analytics/funnel/analyzer","target":"./src/funnel/analyzer.ts","targets":[{"conditions":[],"target":"./src/funnel/analyzer.ts","sourcePath":"packages/domains/growth/analytics/src/funnel/analyzer.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/analytics/src/funnel/analyzer.ts","sourceStatus":"verified source file"}]},{"subpath":"./growth","importPath":"@lssm-tech/lib.analytics/growth","target":"./src/growth/index.ts","targets":[{"conditions":[],"target":"./src/growth/index.ts","sourcePath":"packages/domains/growth/analytics/src/growth/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/analytics/src/growth/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./growth/hypothesis-generator","importPath":"@lssm-tech/lib.analytics/growth/hypothesis-generator","target":"./src/growth/hypothesis-generator.ts","targets":[{"conditions":[],"target":"./src/growth/hypothesis-generator.ts","sourcePath":"packages/domains/growth/analytics/src/growth/hypothesis-generator.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/analytics/src/growth/hypothesis-generator.ts","sourceStatus":"verified source file"}]},{"subpath":"./lifecycle","importPath":"@lssm-tech/lib.analytics/lifecycle","target":"./src/lifecycle/index.ts","targets":[{"conditions":[],"target":"./src/lifecycle/index.ts","sourcePath":"packages/domains/growth/analytics/src/lifecycle/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/analytics/src/lifecycle/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./lifecycle/metric-collectors","importPath":"@lssm-tech/lib.analytics/lifecycle/metric-collectors","target":"./src/lifecycle/metric-collectors.ts","targets":[{"conditions":[],"target":"./src/lifecycle/metric-collectors.ts","sourcePath":"packages/domains/growth/analytics/src/lifecycle/metric-collectors.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/analytics/src/lifecycle/metric-collectors.ts","sourceStatus":"verified source file"}]},{"subpath":"./lifecycle/posthog-bridge","importPath":"@lssm-tech/lib.analytics/lifecycle/posthog-bridge","target":"./src/lifecycle/posthog-bridge.ts","targets":[{"conditions":[],"target":"./src/lifecycle/posthog-bridge.ts","sourcePath":"packages/domains/growth/analytics/src/lifecycle/posthog-bridge.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/analytics/src/lifecycle/posthog-bridge.ts","sourceStatus":"verified source file"}]},{"subpath":"./lifecycle/posthog-metric-source","importPath":"@lssm-tech/lib.analytics/lifecycle/posthog-metric-source","target":"./src/lifecycle/posthog-metric-source.ts","targets":[{"conditions":[],"target":"./src/lifecycle/posthog-metric-source.ts","sourcePath":"packages/domains/growth/analytics/src/lifecycle/posthog-metric-source.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/analytics/src/lifecycle/posthog-metric-source.ts","sourceStatus":"verified source file"}]},{"subpath":"./ports","importPath":"@lssm-tech/lib.analytics/ports","target":"./src/ports.ts","targets":[{"conditions":[],"target":"./src/ports.ts","sourcePath":"packages/domains/growth/analytics/src/ports.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/analytics/src/ports.ts","sourceStatus":"verified source file"}]},{"subpath":"./posthog","importPath":"@lssm-tech/lib.analytics/posthog","target":"./src/posthog/index.ts","targets":[{"conditions":[],"target":"./src/posthog/index.ts","sourcePath":"packages/domains/growth/analytics/src/posthog/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/analytics/src/posthog/index.ts","sourceStatus":"verified source file"}]},{"subpath":"./posthog/event-source","importPath":"@lssm-tech/lib.analytics/posthog/event-source","target":"./src/posthog/event-source.ts","targets":[{"conditions":[],"target":"./src/posthog/event-source.ts","sourcePath":"packages/domains/growth/analytics/src/posthog/event-source.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/analytics/src/posthog/event-source.ts","sourceStatus":"verified source file"}]},{"subpath":"./types","importPath":"@lssm-tech/lib.analytics/types","target":"./src/types.ts","targets":[{"conditions":[],"target":"./src/types.ts","sourcePath":"packages/domains/growth/analytics/src/types.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/analytics/src/types.ts","sourceStatus":"verified source file"}]}],"entryCount":18,"namedSymbolCoverage":"catalog declarations only; exhaustive TypeScript symbols not extracted","installationStatus":"not verified"},"docsLinks":[{"title":"Lib Analytics documentation","url":"https://www.npmjs.com/package/%40lssm-tech%2Flib.analytics","kind":"readme","pinnedUrl":null,"sourceStatus":"declared link; destination not verified"}],"sourceUrls":{"package":"https://github.com/lssm-tech/contractspec/tree/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/analytics","manifest":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/analytics/package.json","readme":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/analytics/README.md","guide":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/web-landing/public/llms-packages/lib.analytics.txt"},"readme":{"status":"available","body":"# @lssm-tech/lib.analytics\n\nWebsite: https://contractspec.io\n\n**Product analytics and growth metrics.**\n\n## What It Provides\n\n- **Layer**: lib.\n- **Consumers**: bundles, apps.\n- Related ContractSpec packages include `@lssm-tech/lib.contracts-integrations`, `@lssm-tech/lib.contracts-spec`, `@lssm-tech/lib.lifecycle`, `@lssm-tech/tool.bun`, `@lssm-tech/tool.typescript`.\n- Related ContractSpec packages include `@lssm-tech/lib.contracts-integrations`, `@lssm-tech/lib.contracts-spec`, `@lssm-tech/lib.lifecycle`, `@lssm-tech/tool.bun`, `@lssm-tech/tool.typescript`.\n\n## Installation\n\n`npm install @lssm-tech/lib.analytics`\n\nor\n\n`bun add @lssm-tech/lib.analytics`\n\n## Usage\n\nImport the root entrypoint from `@lssm-tech/lib.analytics`, or choose a documented subpath when you only need one part of the package surface.\n\n`AnalyticsPort` is the vendor-neutral write boundary for events and tenant or\nworkspace groups. `AnalyticsBackendProfileV1` binds exactly one analytics\nproject to each environment. The default profile is EU-hosted with tenant and\nworkspace grouping; US and explicitly hosted profiles are supported. Profiles\ncarry credential references, retention, sampling, and residency intent rather\nthan provider SDK types or secret values.\n\n## Architecture\n\n- `src/churn` is part of the package's public or composition surface.\n- `src/cohort` is part of the package's public or composition surface.\n- `src/funnel` is part of the package's public or composition surface.\n- `src/growth` is part of the package's public or composition surface.\n- `src/index.ts` is the root public barrel and package entrypoint.\n- `src/lifecycle` is part of the package's public or composition surface.\n- `src/posthog` is part of the package's public or composition surface.\n- `src/types.ts` is shared public type definitions.\n\n## Public Entry Points\n\n- Export `.` resolves through `./src/index.ts`.\n- Export `./churn` resolves through `./src/churn/index.ts`.\n- Export `./churn/predictor` resolves through `./src/churn/predictor.ts`.\n- Export `./cohort` resolves through `./src/cohort/index.ts`.\n- Export `./cohort/tracker` resolves through `./src/cohort/tracker.ts`.\n- Export `./funnel` resolves through `./src/funnel/index.ts`.\n- Export `./funnel/analyzer` resolves through `./src/funnel/analyzer.ts`.\n- Export `./growth` resolves through `./src/growth/index.ts`.\n- Export `./growth/hypothesis-generator` resolves through `./src/growth/hypothesis-generator.ts`.\n- Export `./lifecycle` resolves through `./src/lifecycle/index.ts`.\n- The package publishes 16 total export subpaths; keep docs aligned with `package.json`.\n\n## Local Commands\n\n- `bun run dev` — contractspec-bun-build dev\n- `bun run build` — contractspec-bun-build build\n- `bun run test` — bun test --pass-with-no-tests\n- `bun run lint` — bun lint:fix\n- `bun run lint:check` — biome check .\n- `bun run lint:fix` — biome check --write --unsafe --only=nursery/useSortedClasses . && biome check --write .\n- `bun run typecheck` — tsgo --noEmit\n- `bun run publish:pkg` — bun publish --tolerate-republish --ignore-scripts --verbose\n- `bun run publish:pkg:canary` — bun publish:pkg --tag canary\n- `bun run clean` — rimraf dist .turbo\n- `bun run build:bundle` — contractspec-bun-build transpile\n- `bun run build:types` — contractspec-bun-build types\n- `bun run prebuild` — contractspec-bun-build prebuild\n\n## Recent Updates\n\n- Replace eslint+prettier by biomejs to optimize speed.\n\n## Notes\n\n- Event naming conventions must stay consistent with PostHog taxonomy.\n- Metric calculations affect live dashboards; verify formulas before changing.\n","sourcePath":"packages/domains/growth/analytics/README.md","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/domains/growth/analytics/README.md","blobSha":"ac353e6aa64803d805e70cf99ede570e9e0e9398","sourcePin":"bcc79fcc27c4d801c2119bef81ddcce7b4e86498","origin":"README recovered byte-for-byte from pinned aggregate guide","integrity":"exact Git blob match","executionStatus":"not executed"},"provenance":{"repository":"lssm-tech/contractspec","sourcePin":"bcc79fcc27c4d801c2119bef81ddcce7b4e86498","manifestOrigin":"pinned GitHub manifest fetch","manifestComplete":true,"publicationPolicyApplied":false},"areaSlug":"content-and-growth","areaTitle":"Content, growth and creator operations","displayName":"lib.analytics","runtimes":["node"],"platforms":["server"],"kind":"library","scope":"Package manifest","canonicalRoute":"/docs/packages/lib.analytics/","contextUrl":"/docs/packages/lib.analytics.context.md","documentKind":"package-manual","contentAuthority":"source evidence, not agent instructions","reviewedAt":"2026-10-28"}