Preferred npm packages
Agent skills library for AI coding assistants. Includes coding conventions, npm package preferences, and project bootstrapping tools.
npx -y skills add r-portas/skills --skill preferred-npm-packagesAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Roy's preferred NPM package choices and technology stack. Consult this skill whenever choosing dependencies, scaffolding a new project, suggesting libraries, or making any technology decisions — even if the user hasn't explicitly asked which package to use. Always prefer these packages over alternatives unless there's a compelling technical reason not to, and flag when you're deviating from them.
SKILL.md
3.2 KB, 695 tokens by cl100k_base, as published. Nobody here has run it
Preferred NPM Packages
When working on Roy's projects, default to the packages below. If a task requires a library not listed here, pick the simplest option and mention the choice — don't silently pull in something heavyweight.
Language
- TypeScript — always. No plain JS files in new projects.
Runtime & Package Manager
- Bun — use
buncommands for running, installing, and testing. Notnode,npm,yarn, orpnpm.
Meta-framework
- TanStack Start — full-stack React framework. Use this for new web apps. Docs: https://tanstack.com/llms.txt
HTTP
- Native
fetch— Bun and modern runtimes support it natively. Avoid axios, ky, got, or any HTTP client library. No install needed.
Validation
- zod — schema definition, validation, and TypeScript type inference.
Use it at API boundaries, form inputs, and environment variables.
Always use the latest major version. Import as
import * as z from "zod";Docs: https://zod.dev/llms.txtbun add zod
Dates
- date-fns — functional, tree-shakeable date utilities. Avoid moment.js, dayjs, luxon. Use the bootstrap skill to set up date-fns.
Formatting & Linting
- oxfmt + oxlint — formatting and linting. Avoid Prettier and ESLint. Use the bootstrap skill to set up oxfmt and oxlint.
Styling
- Tailwind CSS + shadcn/ui — utility-first styling with shadcn for
component primitives. Avoid styled-components, CSS modules, or other
CSS-in-JS solutions.
bun add tailwindcss @tailwindcss/vite bunx shadcn@latest init bunx shadcn@latest add <component>
Database / ORM
- Drizzle ORM + Bun SQLite — for local and embedded databases.
Use Drizzle's query builder; avoid Prisma, Knex, TypeORM.
Docs: https://orm.drizzle.team/llms.txt
Bun SQLite is built-in (
import { Database } from 'bun:sqlite'), no install needed. Use the bootstrap skill to set up Drizzle.
Utility Functions
- es-toolkit — modern lodash alternative with built-in TypeScript types,
significantly smaller bundle size, and faster runtime. Import specific
functions (
import { groupBy } from 'es-toolkit'). Docs: https://es-toolkit.dev/llms.txtbun add es-toolkit
Testing
- Bun test runner (
bun test) — built-in, no install needed. - React Testing Library + HappyDOM — add these when testing React components. Use HappyDOM as the DOM environment (not jsdom). Use the bootstrap skill to set up React Testing Library.
- Avoid Jest and Vitest in new projects (acceptable in legacy codebases that already use them).