@ factory/ slint- plugin (中文(简体) )
一个开源的ESLint插件显示代理-本地组织如何使用自定义线条来推动AI编码代理实现更好的结果.
关于此工程
这个密码库来自内部使用的 工厂 并被修改为更加通俗化。 我们正在按照开发者社区的要求分享这一点,并展示一个代理-本土组织如何用自定义规则来提高代理输出质量的例子.
此寄存器中的所有代码都是完全AI生成的.
要更多地了解我们的方法:
如何使用此仓库
我们的建议不是简单地导入这个软件包. 相反,从这些规则中吸取想法, 建立一套适合您的代码库、技术堆和常规的定制规则.
我们为每一项规则都提供了全面的减记文件(在《规则》中) rules/<rule-name>/README.md),这使得任何AI代理都易于分析并适应您的自定义技术堆栈或框架.
说明: 该存放处没有计划积极维护或更新。 它的设计只是为了分享和启发.
可用的配置
| 配置 | 使用大小写 | 说明 |
|---|---|---|
plugin:@factory/base | 基础 | 核心类型脚本/ Java 脚本规则 |
plugin:@factory/recommended | 软件包/软件包 | 基数 + 工厂插件规则 |
plugin:@factory/frontend | React/Vite 应用程序 | 建议的+反应/JSX规则 |
plugin:@factory/backend | 后端辅助 | 建议的+后端限制 |
配置等级
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- 执行构成部分模式
安装
npm install @factory/eslint-plugin eslint --save-dev
快速启动
创建一个 .eslintrc.js 在工程根中的文件 :
用于类型脚本包/图书馆
module.exports = {
root: true,
plugins: ['@factory'],
extends: ['plugin:@factory/recommended'],
};
前端应用程序( React/Vite)
module.exports = {
root: true,
plugins: ['@factory'],
extends: ['plugin:@factory/frontend'],
};
用于后端应用程序
module.exports = {
root: true,
plugins: ['@factory'],
extends: ['plugin:@factory/backend'],
};
许可证
麻省理工学院