新项目启动必做事项:自动更新、代码规范与提交校验配置指南

190 阅读3分钟

概述

在项目早期就引入如 Renovate、ESLint、Prettier、Husky 等开发辅助工具,是为了在开发初期就建立起统一、可维护、高质量的工程基础。具体原因如下:

Renovate

随着项目迭代,依赖版本容易滞后甚至出现安全漏洞。引入 Renovate Bot 可实现:

  • 自动检测依赖是否可升级(如 npm、pip、Docker 等)
  • 自动创建 PR,便于评审升级内容
  • 避免技术债累积,提升依赖可控性

ESLint + Prettier

团队协作中最常见的争议之一就是代码格式问题,引入 ESLint + Prettier 可实现:

  • 代码在提交前就被自动格式化、自动修复
  • 减少无意义的 PR 差异,提升代码审查效率
  • 明确团队风格规范,降低上手门槛

Husky + lint-staged

在每次提交前执行自动检查,可避免把低质量代码推进仓库:

  • 检查是否通过 Lint、格式化是否正确
  • 只检查改动文件(避免全量 Lint 性能问题)
  • 把质量控制“前置”,防止 CI 阶段才发现问题

Renovate Bot

Renovate Bot 是一个开源自动化工具,用于自动检测并更新项目依赖,通过自动发 PR 的方式保持依赖项为最新,支持多种语言和包管理器(如 npm、pip、Go modules、Docker、Gradle 等)。

快速使用

在项目根目录添加一个 renovate.json 文件,例如最小配置如下:

{
  "$schema": "https://docs.renovatebot.com/renovate-schema.json",
  "extends": [
    "config:base"
  ]
}

等待首次自动 PR

Renovate 会自动发起一次“Onboarding PR”,例如

docs: add renovate.json

合并这个 PR 后,Renovate 就会开始检测并发送更新 PR。

Lint

Python

Ruff

Ruff 是一个由 Rust 编写的 Python Linter,它的目标是提供极致性能与高兼容性,支持 flake8、isort、pycodestyle、pyflakes 等多个工具的规则。

快速使用
  1. 安装
pip install ruff
  1. 配置

配置 ruff(推荐使用 pyproject.toml

[tool.ruff]
line-length = 100
select = ["E", "F", "I"]  # E: pycodestyle, F: pyflakes, I: isort
ignore = ["E501"]          # 忽略长行限制
exclude = ["migrations", "venv"]
target-version = "py38"
常用命令
# 检查
ruff check .
# 自动修复
ruff check . --fix
# 检查单个文件或目录
ruff check src/your_file.py
配合 pre-commit 使用
  1. 安装
pip install pre-commit
  1. 添加配置文件 .pre-commit-config.yaml
repos:
  - repo: https://github.com/astral-sh/ruff-pre-commit
    rev: v0.12.7  # 根据官方更新版本
    hooks:
      - id: ruff
        args: ["--fix"]
  1. 安装钩子
pre-commit install

JavaScript / TypeScript

ESLint

ESLint  是一个 JavaScript 和 TypeScript 的代码静态分析工具,用于找出代码中潜在的问题,并可自动修复部分错误。

  • 保持统一的代码风格(配合 Prettier)
  • 发现语法、逻辑、API 使用上的错误
快速使用
  1. 安装
pnpm install eslint
eslint --init
  1. 添加忽略

添加 .eslintignore 忽略不需要 lint 的目录

node_modules
dist
coverage
常用命令
eslint .
eslint . --fix

Husky

Husky 是一个 Git Hooks 工具,允许你在 git commit / push / merge 等操作前后自动运行脚本。

用途包括:

  • 提交前自动执行 lint 检查
  • 自动运行测试用例
  • 禁止推送调试代码
  • 统一提交规范(配合 commitlint)

快速使用

  1. 安装
pnpm install husky
husky install
  1. 配置

这会创建 .husky/ 目录,并在 package.json 添加

{
  "scripts": {
    "prepare": "husky install"
  }
}