Skip to main content

codebase-context

Navigate Homarr's monorepo architecture and reuse shared packages. Use when locating code, choosing a package boundary, understanding runtime services, tRPC, databases, widgets, integrations, cron jobs, Custom Widgets, Workshop, or checking @homarr/common before creating a utility.

Source facts

Repository
homarr-labs/homarr
Last source activity
October 21, 2026 at 20:52
Detected SKILL.md language
English
Stars
5,271
Forks
353

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
4 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
codebase-context
description
Navigate Homarr's monorepo architecture and reuse shared packages. Use when locating code, choosing a package boundary, understanding runtime services, tRPC, databases, widgets, integrations, cron jobs, Custom Widgets, Workshop, or checking @homarr/common before creating a utility.
# Homarr Codebase Context Orient from the current checkout before editing. Treat package manifests, exports, and source as authoritative when they differ from this snapshot. ## Workflow 1. Confirm the branch and inspect the nearest `package.json`, existing sibling modules, and package exports. 2. Search `@homarr/common` before creating a general-purpose helper. Read [references/common.md](references/common.md) for every public entrypoint and export. 3. Read [references/architecture.md](references/architecture.md) when the task crosses packages, runtimes, routing, data, widgets, integrations, cron jobs, Custom Widgets, or Workshop. 4. Keep the change in the deepest package that owns the behavior. Reuse public entrypoints rather than deep-importing implementation files. 5. Re-run targeted searches before documenting counts, consumers, or dependency edges; these change faster than the architectural seams. ## Current toolchain - Use Node `24.22.1` for application runtimes and Bun `1.4.2` for package management, pinned in `mise.toml` and `package.json`. - Use Bun workspaces with Turborepo and a shared hoisted install. Workspace packages use the `@homarr/` scope and catalog-managed dependencies. - Use Next.js App Router, TypeScript, tRPC, Drizzle, Mantine v9, Tabler icons, Jotai, TanStack Query, next-intl, Vitest, and Playwright. - Use oxlint and oxfmt. Mantine is the application UI system; Tailwind is limited to the docs app. - `bun run dev` starts only `@homarr/nextjs`. Start a standalone runtime explicitly when the task needs it. ## High-value seams - Server/RSC tRPC: `@homarr/api/server` - Client tRPC hooks: `@homarr/api/client` - Main router: `packages/api/src/root.ts` - MCP eager router: `packages/api/src/mcp.ts` - Database schemas: `packages/db/schema/{sqlite,postgresql}.ts` - Widget registry: `packages/widgets/src/registry.ts` - Widget loading manifest: `packages/widgets/src/manifest.ts` - Integration definitions: `packages/definitions/src/integration.ts` - Integration factory: `packages/integrations/src/base/creator.ts` - Cron jobs: `packages/cron-jobs/src/jobs/` - App routes: `apps/nextjs/src/app/[locale]/` Invoke `documentation-sync` only when users need new or corrected information to set up, use, or troubleshoot Homarr; follow the Documentation Sync criteria in `AGENTS.md`. When exposing tRPC through MCP, invoke `mcp-integration`.
View on GitHub