Activatus 代码标准
关于代码标准
做事情的一种方式,写下来, 所以没有人可以猜测.
这是我们在Activatus写代码的规则手册。 这是一个文件网站, 一堆复制版的配置文件, 和一套Lint规则 让你在评论员需要之前进入.
整个要点: 你应该能在周五下午4点进入Activatus项目, 确切地知道所有东西都住在哪里, 比如走进伴侣的棚子,先找到10毫米插座.
为什么这样
每支球队都说他们有标准 他们大多住在一个家伙的头部 和2022年的黑线.
我们的人住在这里。 若此回文所未入,非一一一一一一一一一一一一一一一一有意见.
- 🧠 可被人所读取. 如果新启动器无法跟随文件,文件是错误的,而不是新启动器.
- 🤖 可由大赦国际阅读. Claude Code和朋友也遵守我们的规则 没有特殊待遇.
- 🚨 由电线杆执行,我们可以. 依靠每个人记忆的规则就是被遗忘的规则.
在项目中使用它
标准船作为npm包,在npm(npmjs.com)上发布,并安装了pnpm,所以一个AI代理读取了一个项目使用的确切版本,直接从 node_modules数字 :
pnpm add -D @activatus/code-standards@latest
那就告诉你的经纪人: "遵循Activatus代码标准. 开始 node_modules/@activatus/code-standards/docs/Guides/setup.md""("史记") 它会打印一个编号的标准列表,你说你不希望的,它会设置其他的标准. 你从不碰终端.
软件包版本是标准版本,一个项目将其完整记录,例如 3.3.2因此,代理总是知道项目在哪里.
🔢 更新项目以达到新的标准? 运行
pnpm add -D @activatus/code-standards@latest,然后将代理人指向 版本历史:它只读出比项目版本更新颖的条目,按每个版本所讲的做,并记录新版本. 比整个酒吧大声喊来还便宜.
让它运行
你会需要的 节点20+ 财务报告和审定财务报表 小时。 。 。 .
pnpm install
pnpm start
pnpm serve
火烧了现场 热重装。 很简单.
现场现场在 activatus-code-standards.vercel.app 互联网档案馆的存檔,存档日期2013-10-02。 这就是共享的链接.
| 命令 | 它会做什么 |
|---|---|
pnpm start | 热重装的 Dev 服务器 |
pnpm build | 将静态站点建入 build/ |
pnpm serve | {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}为已建的工地服务 {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你可以检查一下 |
pnpm typecheck | QQ 在站点配置中运行类型脚本 |
pnpm format | QQ 用 Pretier 格式化一切 |
🔎 搜索只在已建站点上进行. 运行
pnpm build接下来pnpm serve如果你想测试它。 它不会出现pnpm start别以为你弄坏了.
🐌 把它安装在缓慢的连接上? 其中一个包裹是一个大单位. 运行
pnpm install --fetch-timeout 600000去把水壶.
盒子里装的是什么
| 节次 | 你会找到的 |
|---|---|
| 📋 模板 | 准备复制 AGENTS.md、ESLint、Pretier、斯泰林特和朋友 |
| 📖 肿瘤 | 我们使用的代码和每个字的意思 |
| 🔢 版本历史 | 每一个版本都有什么变化,一个项目必须做什么。 更新项目? 仅读取其新版本 AGENTS.md |
| 🧭 指南 | 建立一个新工程,拖取一个旧的, 如何设计成为代码 |
| 📏 标准 | 可读代码、 折叠、 格式化、 造型、 技术堆栈和 AI 代理规则 |
| 🏗️ 结构 | 文件夹、组件、命名、进口和 API 路由 |
| 🧩 设计系统组件 | 每个标准部件和道具 所以每个项目都用同样的方式构建 |
规则,以pub -yarn速度
详细情况见网站. 这就是你为了钓鱼而告诉别人的版本.
写入代码
- 📄 没有超过300行的文件. 若更长相作二活. 分取来. (试卷有请假证)
- 🗣️ 每个名字都是真实的英语单词. 变量,道具,形成字段,类型,文件,文件夹,批量.
button没有btn我们不是靠那封信付钱的 唯一的例外是 别人的名字 就像Linear的id或节点cwd选项. - 🔒 永远
const。 。 。 . 需求let好吧,但留下一个评论 说为什么,或者linter敲回来. - 🏹 箭头随处可见.
const Button = () => {}。该词function我们不使用它. - 🧹 进口者自己排序. 每次你格式化时,都放在上面, 所以没有人会烧了一个下午,用手打他们.
- 🔄 没有循环进口。 从来没有. 如果两个文件互相导入, 请将共享的位点拖入第三个文件 .
- 🎯 一种功能能做一件事. 需要"并"字来形容的,是两个功能.
- 🧪 每个函数和组件都获得测试文件. 一个测试文件,一个测试的东西。 没有测试,没有完成.
- 🚫 功能,从不上课. 甚至没有小的.
- 📦 每个函数一个参数. 还需要吗? 传出一个物体,所以这个电话解释自己.
- 🚪 早点回来. 处理上面的多事案件 而不是四起
if深得像俄罗斯娃娃. - 🔢 没有魔法数字.
MAXIMUM_RETRY_ATTEMPTS,不是随机3坐在那里就像它拥有的地方. - 🗃️ 链接进入
r,人们看到的话 进入s。 。 。 . 其它的都放在文件的顶端 使用它,直到有别的东西需要它。 不确定一个值在哪里? 探员把它停在unsortedValues.ts并在最后问你, 而不是停止工作 有一条线. - 🏷️ 类型名称结束于
Props或者说Type。 。 。 . 故能分出所观. - 💬 评论解释了原因,而不是什么. 并且没有评论出代码。 吉特记得,你不必.
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}史蒂林 {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢
- 🌬️ 尾风为一切.
- 📐 先放软箱. 将布局分割成子组件 。 只有有人特别要求时才会使用CSS网格.
- 🎨 颜色来自全局调色板. 全站点. 没有硬编码的六进制,没有一次性值. 如果颜色不在调色板中,则不在建筑中.
医生
- 📝 医生是简单的Markdown in
docs/,每个文件都是决定文件. 每个项目中相同的文件夹 。 特工阅读文件;人类浏览文件/docs。 。 。 . - 🔒
/docs仅当DOCS_URL已经设定. 它从来没有设定在生产, 所以Docs从来没有泄漏到一个现场. - ✅ 文档更新前未完成 . 改变事情的运行方式, 固定医生在同一变化.
工作流程是这个项目的号召
- 🧭 分公司、执行信息、拉动请求以及AI代理人是否执行每个项目. 每个团队的工作都不同 所以都是自己负责的
AGENTS.md还有医生,别在这儿 这些标准是代码本身的基础.
状态圈
设置问想不想. 说"是",经纪人将每张票或每张工作单作为一行报告,一个圆圈可以一眼地告诉你是否需要举起手指:
| 圆形 | 手段 |
|---|---|
| ✅ | 合并,在UAT或完成。 没什么好做的 |
| 🟢 | 拉请求准备 供您审查和合并 。 链接是拉请求 |
| 🟣 | 探员正在查呢 |
| 🟡 | 完成和检查,但尚未承诺。 你答应,或者告诉探员 |
| 🟠 | 等待另一张票或拉请求 |
| 🔴 | 被封锁,或者你需要做一些事情。 它说什么 |
| ⚪ | 未开始 |
一行看起来是这样的:
🟢 ACT-12 Short title: #19
票证上与出票的链接和"拉票请求"的号码链接. 只有你需要采取行动 才能列出: 在斯莫克时没有关于它所作所为的文章。 详细内容见 与代理人合作。 。 。 .
· 第三方代码
- 📦 第三方代码豁免. 任何内容
node_modules/或者说vendor/这不是我们的。 别擦了 别擦了 别擦了 别擦了.
* 结构
- 🐫 代码文件为骆驼Case. 组成部分为PascalCase(
Button.tsx)在骆驼Case文件夹内(button/) (中文(简体) ). - 🔗 如果它变成一个URL, 它的kebab-case. 路由文件夹和 Doc 文件( R)
background-jobs.mdCSS变量也是. - 🧰 可重复使用的函数存在
utils/。 。 。 . 全球、 部分或组件级别, 每个函数一个文件夹, 并带有index.ts因此,进口保持干净. - 📍 部件在使用的地方生活. 设计系统组件
components/ui/,用于一个多页的components/shared/,以及该页面的一页组件components/文件夹。 没有特性文件夹 . - 🧱 部件每次都遵循相同的顺序. 导入,组件,变量,状态,效果,渲染. 渲染中没有内含函数 .
- 🔀 服务器和客户端代码分别生活在不同的文件中. 服务器一包客户端一.
只需要文件吗?
不错 头去 模板 页面上,或者直接从 static/templates/数字 :
static/templates/
├── AGENTS.md # 🤖 Context file for AI agents
├── skills/ # 🛠️ Eight ready-made agent skills
├── docs/ # 📖 The full set of Decision Doc templates, one per standard folder
├── docsSite/ # 🌐 Docusaurus viewer that shows docs/ at /docs
├── eslint/ # 🚨 Four flavours: base, typescript, react, nextjs
├── stylelint/ # 💅 CSS and SCSS
├── prettier.config.mjs # ✨ Formatting
├── .prettierignore # 🙈 What Prettier leaves alone
├── globals.css # 🎨 Tailwind + starter colour palette
├── .editorconfig # ⌨️ Editor whitespace rules
└── .nvmrc / .envrc # 🟢 Node version switching
复制他们。 不要重打他们。 ESLint的代码是针对真实的代码运行的, 所以它们实际上起作用了, 这比大多数在互联网上漂浮的配置还多.
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你绕着这圈子走
.
├── docs/ # 📝 Every page on the site, as Markdown
│ ├── Guides/
│ ├── Standards/
│ └── Structure/
├── static/
│ ├── images/ # 🖼️ Logo and favicon
│ └── templates/ # 📋 The copy-paste files
├── src/css/custom.css # 🎨 Site theme overrides
├── docusaurus.config.mjs # ⚙️ Site config
└── sidebars.mjs # 📑 Sidebar (builds itself from docs/)
与 多龙。边栏从文件夹中生成自己,所以没有菜单文件可以忘记.
更改标准
估计一个规则是错误的, 还是少了一个? 不错。 永远不变的标准是没有人读过的标准.
- 🌿 切开分行
main,以票名命名(ACT-14-update-eslint-page),或type/short-description如果没有罚单docs/update-eslint-page) (中文(简体) ). - 📝 编辑或添加 Markdown 文件
docs/。 。 。 . 以 kebab 案命名(naming-conventions.md没有namingConventions.md),因为文件名成为了页面的URL. 是的,我们在这里遵循自己的规则. - 📋 改变一个配置? 编辑文件进入
static/templates/和匹配页docs/Standards/故两相不相分. 对于一个 ESLint 配置, 运行pnpm check:eslint-templates:它将每个配置涂上自相矛盾,如果ESLint页面显示旧副本则失败. 添加--update-docs将配置复制到页面. - 🔢 添加一个版本 改为
docs/version-history.md:什么变了,什么是项目必须做的. 弹出package.json匹配 : 当大多数工程重修大部分代码时的第一个数字, 当文件移动时的第一个中间数字, 当文件内部发生变化时最后一个数字。 见 版本的编号合并后公布为npm (npmjs.com). 我们用pnpm做一切,所以这是pnpm publish,在 npm 登记册中与npm publish. Projects只读出新版本,所以如果不在里面,没有人听说过. - 🔨 运行
pnpm build。 。 。 . 它在断开的链接上失败了,所以如果你塞入了一个,你会知道快速智能. - 🚀 打开拉动请求 并说为什么改变 让生活更美好.
一个很好的"拇指"规则:如果你无法在一句话中向一个新的起步者解释规则,它还没有准备好.
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}在开始直播之前 {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你应该知道
- 🖼️ 换入真正的标志.
static/images/logo.svg是一个站立.
简短版本
写下一个人能读到的代码. 试一试. 保持小块. 循所图.
做到这一点,我们都会准时回家.