open-index/open-npm huggingface dataset:
npm package: @hargunrana-techinject/coding-rules
Description: Reusable coding rules: ESLint (flat), Prettier, Husky, custom filename rule
Latest version: 1.0.0

## 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):

```bash
# 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 lint
```

What the installer does
- Writes `eslint.config.js`, `.prettierrc`, `eslint-plugin-filename-export/index.js`, and `scripts/lint-fix.sh`
- Updates `package.json` (scripts, devDependencies, lint-staged)
- Ensures `.husky/pre-commit` runs `lint-staged`

---

## Manual install (no publish)

```bash
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 lint
```

---

## Requirements
- 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