Files
cal.diy/agents/rules/quality-avoid-barrel-imports.md
Eunjae LeeandDevin AI f691258a5c refactor(agents): move prescriptive content from knowledge-base to rules (#26925)
* refactor(agents): move prescriptive content from knowledge-base to rules

- Create architecture-page-level-auth.md for Next.js auth checks
- Create data-prefer-select-over-include.md for Prisma query optimization
- Create performance-dayjs-usage.md for Day.js performance guidelines
- Create quality-avoid-barrel-imports.md for import best practices
- Update knowledge-base.md to reference rules directory
- Remove duplicated prescriptive content from knowledge-base.md

Co-Authored-By: eunjae@cal.com <hey@eunjae.dev>

* chore(agents): remove redundant rules reference from knowledge-base

Co-Authored-By: eunjae@cal.com <hey@eunjae.dev>

* docs: add agents/rules reference to AGENTS.md extended documentation

Co-Authored-By: eunjae@cal.com <hey@eunjae.dev>

---------

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-01-16 10:43:36 -03:00

1.0 KiB

title, impact, impactDescription, tags
title impact impactDescription tags
Avoid Barrel Imports MEDIUM Improves tree-shaking and reduces bundle size imports, performance, bundling

Avoid Barrel Imports

Impact: MEDIUM (Improves tree-shaking and reduces bundle size)

Barrel files (index.ts that re-export from multiple modules) can hurt tree-shaking and increase bundle sizes. Import directly from source files instead.

Incorrect (importing from barrel files):

// Importing from index.ts barrel files
import { BookingService, UserService } from "./services";

// Importing from @calcom/ui barrel
import { Button } from "@calcom/ui";

Correct (importing directly from source):

// Import directly from source files
import { BookingService } from "./services/BookingService";
import { UserService } from "./services/UserService";

// Import directly from component path
import { Button } from "@calcom/ui/components/button";

Reference: Cal.com Engineering Standards