@hargunrana-techinject/coding-rules
v1.0.0
Published
Reusable coding rules: ESLint (flat), Prettier, Husky, custom filename rule
Maintainers
Readme
coding-rules
Turn any TypeScript repo into a strict, consistent codebase with one command.
What you get
- ESLint (flat config) with strict TypeScript, SonarJS and Unicorn
- Custom filename rule: PascalCase files must export a matching entity; kebab-case files can export anything
- Complexity max 3 (+ guidance to use switch for >3 branches)
- Prettier (with import sorting)
- Husky + lint-staged pre-commit automation
Quick install (after publishing to npm)
If this package is published as coding-rules (unscoped):
# Run once in the target project root
npx coding-rules apply-coding-rules .
# or
pnpm dlx coding-rules apply-coding-rules .
# or
bunx coding-rules apply-coding-rules .
# Then in that project
pnpm install && pnpm prepare
pnpm lintWhat the installer does
- Writes
eslint.config.js,.prettierrc,eslint-plugin-filename-export/index.js, andscripts/lint-fix.sh - Updates
package.json(scripts, devDependencies, lint-staged) - Ensures
.husky/pre-commitrunslint-staged
Manual install (no publish)
curl -fsSL https://raw.githubusercontent.com/USER/coding-rules/main/scripts/apply-rules.js -o /tmp/apply-rules.js && node /tmp/apply-rules.js .
pnpm install && pnpm prepare
pnpm lintRequirements
- Node >= 18
- pnpm (recommended) or npm/bun
- A TypeScript project under
src/
Troubleshooting
- IDE still flags the filename rule after install: restart ESLint server and reload the window. Ensure your IDE uses the flat config (
eslint.config.js). - Git hook not running: re-init hooks with
pnpm dlx husky@9 init.
Uninstall
Remove generated files and revert package.json entries as desired (scripts, lint-staged, devDependencies).
License
MIT
