open-index/open-npm huggingface dataset:
npm package: @haus-tech/tech-config
Description: Shared Cursor rules, ESLint config, and Prettier config for Haus Tech projects. Install in a project to get consistent tooling and AI behavior; upgrading the package applies the latest rules and configs.
Latest version: 2.0.0

# @haus-tech/tech-config

Shared Cursor rules, ESLint config, and Prettier config for Haus Tech projects. Install in a project to get consistent tooling and AI behavior; upgrading the package applies the latest rules and configs.

## Install

```bash
npm install @haus-tech/tech-config
```

Or with yarn:

```bash
yarn add @haus-tech/tech-config
```

Or with pnpm:

```bash
pnpm add @haus-tech/tech-config
```

## What happens on install

A **postinstall** script runs and:

- **Overwrites** in your project root: `eslint.config.js`, `prettier.config.cjs`, and `.prettierignore` with the package versions.
- **Syncs** Cursor rules into `.cursor/rules/`, overwriting package-managed rule folders. Folders named `local` and `project-specific` are never touched so you can keep your own rules there.
- **Creates or updates** `.github/copilot-instructions.md` with Copilot PR review instructions for type assertions and type casting (creates the file if missing; appends a section if the file already exists, without overwriting it).

Install the package's **peer dependencies** in your project (ESLint, Prettier, TypeScript, and the plugins used by the ESLint config). If you use npm 7+ they may be installed automatically; otherwise add them as needed.

## Usage

- **ESLint** and **Prettier**: Use your normal commands; they will pick up the synced config files in the project root.
- **Cursor**: Uses `.cursor/rules/` automatically; the synced rules apply to AI and editor behavior.

Any local changes you make to `eslint.config.js`, `prettier.config.cjs`, or `.prettierignore` will be **overwritten** the next time the package is installed or updated. For project-specific overrides, use a local Cursor rule folder (e.g. `.cursor/rules/local/`) or extend the configs in a separate file and point your tools at that.

## Getting updates

Upgrade the package to pull in the latest rules and configs:

```bash
npm update @haus-tech/tech-config
```

Or install a specific version:

```bash
npm install @haus-tech/tech-config@latest
```

After the install, the postinstall script runs again and overwrites the root config files and Cursor rules with the versions from the package.

## Releasing

Use [Conventional Commits](https://www.conventionalcommits.org/) for your work. When ready to release and publish in one go, run:

- `yarn release:patch` — patch (e.g. 1.0.0 → 1.0.1)
- `yarn release:minor` — minor (e.g. 1.0.0 → 1.1.0)
- `yarn release:major` — major (e.g. 1.0.0 → 2.0.0)

Each command updates `CHANGELOG.md` from commits since the last tag, bumps the version, commits, tags, pushes, and publishes to npm. No separate publish step.

To see what would happen without changing anything, use the dry-run scripts: `yarn release:patch:dry`, `yarn release:minor:dry`, or `yarn release:major:dry`. You can also pass `--dry-run` to the release script (e.g. `yarn release:patch --dry-run`).