# Packages

## Core

### [`deployoor`](https://www.npmjs.com/package/deployoor)

Deploy engine, codegen, and CLI (`init`, `generate`, `verify`). Reads Hardhat/Foundry artifacts, emits typed deployers, records deploys to `deployments/`.

Exports: `deployoor`, `deployoor/plugin`, `deployoor/generate` — the last is the programmatic `generateDeployers`, which is what `@deployoor/hardhat` runs after each compile.

## Plugins

Lifecycle hooks — each peer-depends on `deployoor` and imports only `deployoor/plugin`.

| Package                 | npm                                                        | Description                                                |
| ----------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- |
| `@deployoor/etherscan`  | [npm](https://www.npmjs.com/package/@deployoor/etherscan)  | Etherscan V2 verification (one key, all chains)            |
| `@deployoor/sourcify`   | [npm](https://www.npmjs.com/package/@deployoor/sourcify)   | Sourcify v2 verification (keyless)                         |
| `@deployoor/blockscout` | [npm](https://www.npmjs.com/package/@deployoor/blockscout) | Verification on any Blockscout instance                    |
| `@deployoor/routescan`  | [npm](https://www.npmjs.com/package/@deployoor/routescan)  | Routescan verification (mainnet/testnet from the chain id) |
| `@deployoor/slack`      | [npm](https://www.npmjs.com/package/@deployoor/slack)      | Slack notifications on deploy                              |

All four verifiers implement [`onVerify`](/guides/plugins#onverify), so [`deployoor verify`](/reference/cli#verify) can replay them after the fact — see [Verify contracts](/guides/verify).

## Toolchain & consumption

| Package              | npm                                                     | Description                                               |
| -------------------- | ------------------------------------------------------- | --------------------------------------------------------- |
| `@deployoor/hardhat` | [npm](https://www.npmjs.com/package/@deployoor/hardhat) | Auto-regenerate deployers on `hardhat compile`            |
| `@deployoor/wagmi`   | [npm](https://www.npmjs.com/package/@deployoor/wagmi)   | `@wagmi/cli` plugin sourcing from `deployments/`          |
| `@deployoor/testing` | [npm](https://www.npmjs.com/package/@deployoor/testing) | `createTestClients()` — in-memory EVM + store (Node ≥ 22) |

## Ecosystem

### [`fhevm-tevm-mocks`](https://www.npmjs.com/package/fhevm-tevm-mocks)

Separate from the deploy core — Tevm-native adapter for Zama FHEVM mock tests. Wires FHE host contracts and relayer handlers into a Tevm instance you own. Developed in [its own repo](https://github.com/raycashxyz/fhevm-tevm-mocks).

## Install matrix

```bash
# minimum
pnpm add -D deployoor viem

# hardhat auto-generate
pnpm add -D @deployoor/hardhat deployoor viem

# wagmi consumption
pnpm add -D @deployoor/wagmi @wagmi/cli

# verification — every verifier; keep the explorers you use
pnpm add -D @deployoor/etherscan @deployoor/sourcify @deployoor/blockscout @deployoor/routescan

# testing
pnpm add -D @deployoor/testing vitest
```
