Roo-Code/packages/telemetry/src/PostHogTelemetryClient.ts
davincidreams 2fc7798424 feat: make fork standalone as Moo Code
- Strip all telemetry (PostHog, cloud telemetry) - no data leaves the machine

- Disable all cloud features (auth, settings sync, sharing, Roo provider)

- Rebrand extension: roo-cline -> moo-code, RooVeterinaryInc -> moo-code

- Update all commands, settings, views to moo-code.* prefix

- Remove upstream CI/CD workflows (marketplace publish, nightly, website)

- Rewrite README, PRIVACY, CONTRIBUTING, SECURITY docs

- Build verified: bin/moo-code-3.52.1.vsix (31.44 MB)
2026-04-23 08:20:11 -04:00

53 lines
1.5 KiB
TypeScript

import { type TelemetryEvent, TelemetryEventName } from "@roo-code/types"
import { BaseTelemetryClient } from "./BaseTelemetryClient"
/**
* PostHogTelemetryClient handles telemetry event tracking for the Roo Code extension.
* All methods are no-ops — telemetry has been disabled in this fork.
*/
export class PostHogTelemetryClient extends BaseTelemetryClient {
// Git repository properties that should be filtered out
private readonly gitPropertyNames = ["repositoryUrl", "repositoryName", "defaultBranch"]
constructor(_debug = false) {
super(
{
type: "exclude",
events: [TelemetryEventName.TASK_MESSAGE, TelemetryEventName.LLM_COMPLETION],
},
_debug,
)
}
/**
* Filter out git repository properties for PostHog telemetry
* @param propertyName The property name to check
* @returns Whether the property should be included in telemetry events
*/
protected override isPropertyCapturable(propertyName: string): boolean {
if (this.gitPropertyNames.includes(propertyName)) {
return false
}
return true
}
public override async capture(_event: TelemetryEvent): Promise<void> {
// No-op: telemetry disabled
}
public override async captureException(
_error: Error,
_additionalProperties?: Record<string, unknown>,
): Promise<void> {
// No-op: telemetry disabled
}
public override updateTelemetryState(_didUserOptIn: boolean): void {
// No-op: telemetry disabled
}
public override async shutdown(): Promise<void> {
// No-op: telemetry disabled
}
}