pnpm build- Build the projectpnpm test:unit- Run unit testspnpm test:unit:w- Watch mode for unit testspnpm test:integration- Run integration testspnpm test:unit -- path/to/test.ts- Run a single test filepnpm lint- Run ESLintpnpm typecheck- TypeScript type checkingpnpm check- Run Publint for package.json linting
- Imports: Use
typeimports for types, Node.js imports withnode:prefix - Formatting: 2 spaces, single quotes, no semicolons (@antfu/eslint-config)
- Arrays: Use generic syntax
Array<T>instead ofT[] - Objects: Use
Record<string, unknown>instead of{}orobject - Exports: Named exports preferred, organize by type/function/const
- Async: Use async/await, handle errors with try-catch
- Logging: Use
loggerfromutils/logger.ts, avoid console.log - Tests: Use Vitest with describe/it blocks, place in
__tests__folders - TypeScript: Strict mode enabled, use explicit types for parameters
- File structure: Group related utilities in
utils/, commands incommands/