用途
codebase-context 是一个面向 Homarr monorepo 的代码库上下文技能,帮助开发者在修改代码前快速定位相关代码、理解包边界,并复用已有的共享包。其核心原则是:以当前检出内容为准;当包清单、导出和源码与技能快照不一致时,以仓库中的实际文件为权威依据。
主要能力
该技能提供一套导航与协作规范,包括:
- 确认当前分支,检查就近的 package.json、同级模块和包导出。
- 在创建通用辅助函数前先搜索 @homarr/common,并阅读 references/common.md 了解所有公共入口与导出。
- 当任务跨包、涉及运行时、路由、数据、组件、集成、定时任务、Custom Widgets 或 Workshop 时,阅读 references/architecture.md。
- 将改动保持在拥有该行为的最深层包内,复用公共入口而非深层导入实现文件。
- 在记录计数、使用方或依赖边之前重新执行针对性搜索,因为这些信息比架构接缝变化更快。
当前工具链
资料给出的工具链约束如下:
- 应用运行时使用 Node 24.22.2,包管理使用 Bun 1.4.4,二者固定在 mise.toml 与 package.json 中。
- 使用 Bun workspaces、Turborepo 和共享提升安装;工作区包使用 @homarr/ 作用域与目录管理依赖。
- 技术栈包括 Next.js App Router、TypeScript、tRPC、Drizzle、Mantine v9、Tabler 图标、Jotai、TanStack Query、next-intl、Vitest 和 Playwright。
- 使用 oxlint 与 oxfmt。Mantine 是应用 UI 系统,Tailwind 仅限文档应用使用。
bun run dev只启动 @homarr/nextjs;任务需要独立运行时须显式启动。
关键代码接缝
资料列出的高价值接缝包括:服务端/RSC tRPC 位于 @homarr/api/server;客户端 tRPC hooks 位于 @homarr/api/client;主路由位于 packages/api/src/root.ts;MCP 预先挂载路由位于 packages/api/src/mcp.ts;数据库 schema 位于 packages/db/schema/{sqlite,postgresql}.ts;组件注册表位于 packages/widgets/src/registry.ts;组件加载清单位于 packages/widgets/src/manifest.ts;集成定义位于 packages/definitions/src/integration.ts;集成工厂位于 packages/integrations/src/base/creator.ts;定时任务位于 packages/cron-jobs/src/jobs/;应用路由位于 apps/nextjs/src/app/[locale]/。
使用方式与适用场景
该技能适用于在 Homarr 仓库中新增或修改功能、跨包重构、选择包边界、理解运行时服务与 tRPC 结构等开发任务。它本身不是安装型工具,资料未提供独立安装命令,使用时应结合当前检出的仓库文件执行上述工作流。当用户需要新的或更正的信息来安装、使用或排查 Homarr 时,才调用 documentation-sync;通过 MCP 暴露 tRPC 时调用 mcp-integration。
限制
技能内容基于快照,实际以当前检出的包清单、导出和源码为准。资料未提供独立安装方式、收费信息或运行效果的具体指标。