core-utils core-utils
Clipboard's core libraries and utilities. See individual package `README`s for specific library details.
Table of contents
Libraries
ai-rules : Pre-built AI agent rules for consistent coding standards.
analytics : Type-safe analytics wrapper around our third-party analytics provider for user identification and event tracking.
background-jobs-adapter : Minimal adapter interface for background jobs operations supporting Mongo and Postgres implementations.
config : Type-safe static configuration management: a pure function to resolve, validate against a Zod schema, and freeze configuration values.
contract-core : Shared Zod schemas for Clipboard's contracts.
embedex : Embed shared text and code snippets from source files into destination files.
eslint-config : Our ESLint configuration.
eslint-plugin : Clipboard's ESLint Plugin
example-nestjs : A NestJS application using our libraries, primarily for end-to-end testing.
execution-context : A lightweight Node.js utility for managing execution contexts and metadata aggregation using AsyncLocalStorage.
json-api : TypeScript-friendly utilities for adhering to the JSON:API specification.
json-api-nestjs : TypeScript-friendly utilities for adhering to the JSON:API specification with NestJS.
mongo-jobs : MongoDB-powered background jobs.
notifications : Send notifications through third-party providers.
nx-plugin : An Nx plugin with generators to manage libraries and applications.
phone-number : Phone number utility functions.
playwright-reporter-llm : Playwright reporter that outputs structured JSON for LLM agents. Minimal console output, flat schema, easy to filter to failures.
rules-engine : A pure functional rules engine to keep logic-dense code simple, reliable, understandable, and explainable.
testing-core : TypeScript-friendly testing utilities.
util-ts : TypeScript utilities.
Local development commands
See package.json scripts for a complete list of commands.
See Nx CLI Commands for options or npx nx --help.
# Install dependencies npm install # Build, lint, and test only changed files from `main`, helpful prior to opening PRs npm run affected # For the paranoid: build, lint, and test everything npm run all # Install a dependency in a specific package npm install --workspace packages/[PROJECT_NAME] [DEPENDENCY] # Run specific commands against a specific packages npx nx run [PROJECT_NAME]:[COMMAND] # Upgrade Nx npx nx migrate latest && \ npx syncpack fix-mismatches && \ npm install && \ npx nx migrate --runMigrations --ifExists
Copy
Adding or porting libraries
See our Nx generator plugin .
Contributing
See CONTRIBUTING.md .