databuddy-internal

Guides implementation, debugging, and refactoring across the Databuddy Bun and Turborepo monorepo.

1.1k|210|Updated Mar 11, 2025
One-click install
npx skills add https://github.com/databuddy-analytics/Databuddy --skill databuddy-internal
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: databuddy-internal
Source: https://github.com/databuddy-analytics/Databuddy/tree/main/.agents/skills/databuddy-internal
Command: npx skills add https://github.com/databuddy-analytics/Databuddy --skill databuddy-internal

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Working in a large TypeScript monorepo with many apps and shared packages makes it hard to know where a change belongs, which commands to run, and which conventions to follow. This Skill routes internal code changes to the correct app or package in the Databuddy repository and encodes hard-won repo-specific pitfalls so they are not repeated.

Core Features & Use Cases

  • Change routing: Maps tasks to the right surface (dashboard, API, basket ingest, links, docs, uptime, Slack, insights) and shared packages (db, rpc, auth, env, sdk, tracker), including cross-boundary traces like dashboard -> orpc -> packages/rpc -> apps/api.
  • Repo conventions and pitfalls: Captures Bun/Turbo commands, port assignments, testing patterns, billing (Autumn), ClickHouse/Postgres rules, and dozens of recorded mistakes to avoid.
  • Self-maintaining guidance: Instructs the agent to update SKILL.md or references/codebase-map.md whenever a mistake reveals missing repo context.
  • Use Case: When asked to fix a dashboard feature flag bug, the Skill directs you to apps/dashboard, traces the data flow through packages/rpc, and reminds you of DS component rules and relevant test commands.

Quick Start

Ask the agent to implement or debug a change inside the Databuddy repository, for example fixing an API endpoint or updating a dashboard page, and it will use this Skill to locate the right package and follow repo conventions.

Frequently Asked Questions about databuddy-internal

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I know where to make a code change in the Databuddy monorepo?

Identify the runtime surface first: dashboard UI in apps/dashboard, API routes in apps/api, ingestion in apps/basket, and shared logic in packages/rpc, packages/db, or packages/auth. The Skill's codebase map and change routing sections trace cross-boundary flows like dashboard to orpc to packages/rpc to apps/api.

What commands run tests and type checks in this Turborepo?

Use bun run test at the root for apps, bun run check-types with a --filter flag from the workspace root, and package-level commands like cd apps/api && bun run test. Basket uses Vitest via bun run test inside apps/basket, and tracker uses bun run test:unit.

When should I use the databuddy-internal skill versus the databuddy skill?

Use databuddy-internal only for code changes inside the Databuddy repository itself. For external integrations such as the SDK, CDN, public APIs, feature flags, or LLM observability setup for customers, use the separate databuddy skill instead.

How does the skill handle database changes in Postgres and ClickHouse?

Postgres schema lives in packages/db/src/drizzle/schema.ts with the client in client.ts, and ClickHouse helpers are under packages/db/src/clickhouse. After schema changes, use the repo db scripts like bun run db:push rather than ad hoc commands.

Why does the skill instruct updating SKILL.md after mistakes?

The skill is self-maintaining: when an error could have been avoided with better repo context, the agent adds a minimal note to SKILL.md or references/codebase-map.md in the same turn. This keeps repo guidance versioned with the project so future sessions do not repeat the mistake.