This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
This is an ESLint configuration package (eslint-config-ts-prefixer) that provides a curated set of ESLint rules for TypeScript/JavaScript projects. The package is designed to be zero-config with meaningful runtime behavior rules, Prettier integration, and import organization.
pnpm lint- Run ESLint on all filespnpm lint:fix- Run ESLint with auto-fix enabledpnpm prettier- Format all files with Prettier
pnpm push-release-commitThis interactive CLI tool will:
- Prompt for version type (patch/minor/major)
- Update package.json version
- Create release commit with format "release vX.Y.Z"
- Push to remote to trigger CI/CD
- Run release command:
pnpm push-release-commit - Select version type:
- 🟢 Patch (4.0.1) - Bug fixes
- 🟡 Minor (4.1.0) - New features
- 🔴 Major (5.0.0) - Breaking changes
- Automatic actions:
- Updates package.json version
- Stages changes
- Creates commit "release vX.Y.Z"
- Pushes to origin/main
- CI/CD Pipeline (GitHub Actions):
- Runs tests and linting
- Publishes to npm with provenance
- Creates GitHub Release page
eslint.config.mjs- Main ESLint configuration that gets exported as the package entry point- Uses ESLint's flat config format (v9+)
- Includes TypeScript, import, and Prettier plugins with carefully selected rules
- Supports both TypeScript and JavaScript files
- Uses
@laststance/npm-publish-toolfor interactive version management .release-it.jsonconfigures GitHub release creation and npm publish with provenance- GitHub Actions CI/CD triggered on push for automated publishing
- Single-file distribution (
eslint.config.mjsonly) - ESM-only package with Node.js 22+ requirement
- Peer dependencies: ESLint v9+ and TypeScript v5+
- Focuses on runtime behavior over syntax preferences
- Enforces import organization and TypeScript best practices
- Integrates with user's existing Prettier configuration
- Warns on unused variables (with underscore prefix exception)
- Strict equality checks and promise handling
- Uses pnpm workspaces (
pnpm-workspace.yaml) - Husky pre-commit hooks with lint-staged for Prettier formatting
- Volta for Node.js version management (v22.16.0)