# Create Hardhat2集成foundry App

### 构建npm包

```bash
# 1. 登录 npm（首次）
npm login

# 2. 检查配置
npm whoami  # 确认登录的账户
npm config list

# 3. 构建项目
npm run build
```

#### 版本管理

```bash
# 更新版本号（自动更新 package.json）
npm version patch  # 1.0.0 -> 1.0.1 (bug 修复)
npm version minor  # 1.0.0 -> 1.1.0 (新功能)
npm version major  # 1.0.0 -> 2.0.0 (破坏性更改)

# 或手动编辑 package.json 中的 version
```

#### 发布

```bash
# 发布到 npm
npm publish
```

### 脚手架使用指南
1. 拉取 bitbucket 项目仓库到本地(可选)
2. 在本地全局安装（根目录下）(可选)
```bash
npm install
npm link 或者 npm i -g ./
```
3. 后续创建新项目时使用指定框架
```bash
# 使用 npx (推荐)
npx gate-evm-hardhat-foundry test-hardhat-foundry-app

# 使用 npm
npm gate-evm-hardhat-foundry test-hardhat-foundry-app

# 使用 yarn
yarn gate-evm-hardhat-foundry test-hardhat-foundry-app
```

### 本地创建
```bash
node evm-hardhat-cli/bin/cli.js test-hardhat-foundry-app --package-manager npm
```

### 升级现有项目

当模板有新功能更新时，可以使用 `upgrade` 命令将现有项目升级到最新版本：

```bash
# 在项目目录下运行
cd your-project
npx gate-evm-hardhat-foundry upgrade

# 或使用本地开发版本
node /path/to/evm-hardhat-cli/bin/cli.js upgrade
```

#### upgrade 命令选项

| 选项 | 简写 | 说明 |
|------|------|------|
| `--force` | `-f` | 跳过确认直接升级 |
| `--skip-install` | | 跳过依赖安装 |
| `--package-manager <pm>` | `-p` | 指定包管理器 (npm/yarn/pnpm) |

#### 升级内容

`upgrade` 命令会自动更新以下内容：
- `patches/` - 补丁文件（包含 CREATE2、Multicall 等新功能）
- `README.md` - 项目文档

#### 升级流程

1. 检测当前目录是否是有效的 Hardhat 项目
2. 对比项目文件与最新模板的差异
3. 显示新增/更新的文件列表
4. 确认后复制新文件
5. 可选更新 package.json 中的依赖版本
6. 可选重新安装依赖并应用补丁

#### 示例

```bash
# 交互式升级（推荐）
npx gate-evm-hardhat-foundry upgrade

# 跳过确认直接升级
npx gate-evm-hardhat-foundry upgrade --force

# 升级但不重新安装依赖
npx gate-evm-hardhat-foundry upgrade --skip-install
```