# @factory/eslint-plugin 中文文档

规范地址：https://npmcn.com/package/%40factory/eslint-plugin/

版本：0\.1\.0
npm 元数据更新时间：2026-08-05T22:18:54.091Z
中文译文更新时间：2026-11-14T08:28:50.292Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40factory/eslint-plugin
原文对照：https://npmcn.com/package/%40factory/eslint-plugin/?lang=original
项目主页：https://github.com/Factory-AI/eslint-plugin#readme
源码仓库：https://github.com/Factory-AI/eslint-plugin

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：158 kB，32 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- Node.js 要求：\>=18\.0\.0
- 运行依赖：18 个
- peer 依赖：eslint \>=8\.0\.0，typescript \>=5\.0\.0
- 首次发布：2026-02-03T16:34:49.833Z
- 最新版本发布：2026-02-03T16:34:50.133Z
- 近 30 天下载量：11663（2026-10-14 至 2026-11-12，npm 官方下载统计）
- 已发布版本数：1（近 12 个月 1 个）

## 中文简介

带有工厂项目配置和自定义规则的 ESLint 插件

## 安装

```sh
npm install @factory/eslint-plugin
```

也可以使用：`pnpm add @factory/eslint-plugin`、`yarn add @factory/eslint-plugin`、`bun add @factory/eslint-plugin`

## README

# @ factory/ slint- plugin (中文(简体) )

一个开源的ESLint插件显示代理-本地组织如何使用自定义线条来推动AI编码代理实现更好的结果.

## 关于此工程

这个密码库来自内部使用的 [工厂](https://factory.ai/) 并被修改为更加通俗化。 我们正在按照开发者社区的要求分享这一点,并展示一个代理-本土组织如何用自定义规则来提高代理输出质量的例子.

**此寄存器中的所有代码都是完全AI生成的.**

要更多地了解我们的方法:

-   [使用 Linters 为直接代理](https://factory.ai/news/using-linters-to-direct-agents)
-   [代理准备](https://factory.ai/news/agent-readiness)

## 如何使用此仓库

**我们的建议不是简单地导入这个软件包.** 相反,从这些规则中吸取想法, 建立一套适合您的代码库、技术堆和常规的定制规则.

我们为每一项规则都提供了全面的减记文件(在《规则》中) `rules/<rule-name>/README.md`),这使得任何AI代理都易于分析并适应您的自定义技术堆栈或框架.

> **说明:** 该存放处没有计划积极维护或更新。 它的设计只是为了分享和启发.

## 可用的配置

| 配置 | 使用大小写 | 说明 |
| --- | --- | --- |
| `plugin:@factory/base` | 基础 | 核心类型脚本/ Java 脚本规则 |
| `plugin:@factory/recommended` | 软件包/软件包 | 基数 + 工厂插件规则 |
| `plugin:@factory/frontend` | React/Vite 应用程序 | 建议的+反应/JSX规则 |
| `plugin:@factory/backend` | 后端辅助 | 建议的+后端限制 |

### 配置等级

```mermaid
graph TD
    A[base] --> B[recommended]
    B --> C[frontend]
    B --> D[backend]
```

## 工厂插件规则

此插件包括执行代码组织的自定义规则和最佳做法:

### 文件组织

-   `@factory/enum-file-organization` - Enums必须住在这里 `enums.ts` 文件
-   `@factory/types-file-organization` - 类型定义必须存在 `types.ts` 文件
-   `@factory/constants-file-organization` - 常人必须生活在 `constants.ts` 文件
-   `@factory/errors-file-organization` - 错误课必须存在 `errors.ts` 文件
-   `@factory/test-utils-organization` - 测试设施必须生活在 `test-utils/`
-   `@factory/test-file-location` - 测试文件必须与源文件在同一位置

### 命名和导出

-   `@factory/filename-match-export` - 文件名必须匹配导出组件/功能
-   `@factory/no-exported-function-expressions` - 出口优先功能申报
-   `@factory/no-exported-string-union-types` - 优于弦联型

### 测试

-   `@factory/require-test-files` - TypeScript 文件必须有相应的测试文件
-   `@factory/require-tsx-test-stories-files` - TSX文件需要测试和故事文件
-   `@factory/jest-mock-absolute-paths` - 游戏必须使用绝对路径
-   `@factory/jest-mock-require-actual` - 游戏必须包括 `jest.requireActual()`
-   `@factory/no-unstable-mock-module` - 沮丧 `unstable_mockModule`

### 日志

-   `@factory/structured-logging` - 实施结构化的伐木模式
-   `@factory/no-log-exception-with-throw` - 投掷前不得有伐木例外

### API 路由 (Next.js/Express) (英语)

-   `@factory/require-route-middleware` - 路由文件必须使用中间软件
-   `@factory/require-v0-route-handle-middleware` -v0路线需要特定的中间软件
-   `@factory/require-v0-strict-schemas` -v0路线需要严格的计划验证

### 反应

-   `@factory/no-dynamic-styled-components` - 没有动态样式组件
-   `@factory/no-plain-html-text-elements` - HTML 元素中没有纯文本
-   `@factory/no-use-effect-in-hooks` - 限制使用自定义钩的效果
-   `@factory/restrict-tsx-components` - 执行构成部分模式

## 安装

```bash
npm install @factory/eslint-plugin eslint --save-dev
```

## 快速启动

创建一个 `.eslintrc.js` 在工程根中的文件 :

### 用于类型脚本包/图书馆

```js
module.exports = {
  root: true,
  plugins: ['@factory'],
  extends: ['plugin:@factory/recommended'],
};
```

### 前端应用程序( React/Vite)

```js
module.exports = {
  root: true,
  plugins: ['@factory'],
  extends: ['plugin:@factory/frontend'],
};
```

### 用于后端应用程序

```js
module.exports = {
  root: true,
  plugins: ['@factory'],
  extends: ['plugin:@factory/backend'],
};
```

## 许可证

麻省理工学院

## 常见问题

### @factory/eslint-plugin 是什么？

带有工厂项目配置和自定义规则的 ESLint 插件

### 如何安装 @factory/eslint-plugin？

在项目目录运行 npm install @factory/eslint-plugin，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：eslint（\>=8\.0\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @factory/eslint-plugin 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/factory\_\_eslint-plugin 是否存在。

### @factory/eslint-plugin 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @factory/eslint-plugin 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=18\.0\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @factory/eslint-plugin 可以商用吗？

@factory/eslint-plugin 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @factory/eslint-plugin 的下载量有多少？

根据 npm 官方下载统计，@factory/eslint-plugin 在 2026/10/14 – 2026/11/12 这 30 天内被下载 11,663 次，日均约 389 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @factory/eslint-plugin 还在维护吗？

最新版本 0\.1\.0 发布于 2026/02/04（9 个月前）；至今共发布 1 个版本，其中过去 12 个月发布了 1 个；首次发布于 2026/02/04。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

