Skip to content

站点注册表

sites/registry.json 是站点域名、公司、负责人、部署状态和主站关系的唯一数据源。查看可视化列表时打开 独立站点注册表

域名台账

所有购买的域名在飞书云文档统一登记:

飞书域名台账(多维表格)

字段说明:

字段说明
域名完整域名,例如 gadgetmall.live
所属账户GoDaddy 账户持有人姓名
有效期至域名到期日,从 GoDaddy 查
用途站点用途,例如「巴基斯坦申请网站」
是否重要🌟 = 核心域名,Normal = 普通

新购域名 SOP

购买新域名后按顺序更新以下两处,缺一不可:

第一步:更新飞书云文档

在上方链接的多维表格中新增一行,填写域名、所属账户、有效期至、用途。

第二步:更新本地注册表

sites/registry.json 中新增站点记录(公司名、域名、负责人、部署状态),目录规则见下文「目录规则」章节。

入口规则

  • 根目录允许两个入口:README.md(GitLab 项目主页展示的人类速览,只写简介 + 指向 docs/, 不重复 docs/ 内容)+ AGENTS.md(agent 专用规则入口)。不要再新增 CLAUDE.mdGEMINI.md 等并列入口(2026-08-12 起放开 README,此前是"根目录只留 AGENTS.md")。
  • 人类可读文档统一放在 docs/,快速开始维护在 docs/guide/getting-started.md
  • 本页是站点目录、迁移、负责人、支付素材和部署红线的规则 SSOT;不要把同一规则复制回其他入口。

目录规则

新站和后续迁移统一使用:

text
sites/<公司名>/<域名>/
  • <公司名> 来自 registry.jsoncompanyName;缺失时才依次回退到 displayCompanycompany
  • 公司目录统一使用大写并用下划线分隔单词,例如 DATA_NETWORK_SOLUTIONS,不要改成 Data Network SolutionsDATA NETWORK SOLUTIONSDataNetwork 或其他派生名。
  • <域名> 使用实际域名,例如 thereliabletechnologies.cominspireinnostore.com
  • legalEntity 不是目录来源,SMC-PRIVATE 这类法务类型或历史归档目录不能作为公司名。
  • 当前部署和安装脚本只认仓库内 sitePath / 标准路径,不依赖 ../DataNetwork../DateTech../SMC-PRIVATE 等外部老目录。
  • 没有源码来源的 registry 记录不硬造目录;有源码的站点以 sitePath 指向仓库内当前路径。
  • 依赖包、编辑器配置、本地密钥不进仓库:node_modules.git.vite.wrangler.vscode.env* 都必须排除;旧站源码包内已经作为站点内容使用的静态文件按来源保留,通用临时输出 dist 仍然排除。
  • 项目目录单独维护站点运行所需资产;支付图片素材 SSOT 放在仓库内 pay-methods/。纯构建产物或旧 dist 包直接删除,不作为项目迁入。只有开发目录才按公司名移动进来,并在确认迁入后删除外部老项目。

示例

text
sites/
├── BOUNCENET/
│   └── techconsult.site/
├── TROUGHNET/
│   └── technologyconsult.org/
├── DATA_NETWORK_SOLUTIONS/
│   └── voltbit.pw/
├── DATA_TECH_SOLUTIONS/
│   └── portshop.xyz/
├── VERTEXFLOW_TECHNOLOGIES/
│   └── goodstore.fun/
├── INTELLISIGHT_SOLUTIONS/
│   └── swiftdeal.site/
├── RELIABLE/
│   └── thereliabletechnologies.com/
└── INSPIREINNO/
    └── inspireinnostore.com/

禁止项

  • 不要使用 NORMALIZED_COMPANY_NAMENEW_WEBSITE 这类占位名。
  • 不要使用 Data Network SolutionsDATA NETWORK SOLUTIONSDataNetwork 这类非标准目录名。
  • 不要用 legalEntitySMC-PRIVATE、旧目录名或域名反推公司目录。
  • 不要只提交编译产物(dist)。站点目录必须有 package.json + vite.config.* + src/,可以重新 npm run build;只传 dist 会被 scripts/check-site-source-required.mjs 拦截(2026-08-05 教训:曾提交过只有 dist、没有源码的站点到 NEW_WEBSITE 占位目录)。

支付素材

  • 支付图片素材 SSOT 是仓库内 pay-methods/
  • 当前标准文件为 pay-methods/jazzCash.pngpay-methods/easypaisa.png
  • 不要把支付图片来源指向外部旧项目目录,例如 ../SMC-PRIVATE../pk-web
  • 站点 logo、商品图和站点运行时资产由各项目目录单独维护,不和支付素材混为一个 SSOT。

品牌配置

  • 统一入口:所有站点(无论电商还是咨询)在开发目录下均需使用 src/config/brand.js 作为品牌配置入口。
  • 配置目的brand.js 用于解耦站点文案、Logo、联系方式和公司名称,方便在迁入新域名或更换公司主体时快速完成品牌替换。
  • 来自 registry.json 的字段不得在 brand.js 里另写一份硬编码真源。

构建与部署

  • 统一产物目录:所有站点必须统一打包输出至 dist 目录。这是部署脚本(scripts/deploy-web.mjs)的唯一识别路径。
  • 提交前检查:pre-commit 会检查本次提交涉及的网站,发现 vite.config.*outDir 不是 dist 时会用中文报错并阻止提交。
  • 开发态工程化:严禁在 sites/ 目录下存放纯 HTML。所有站点(包含静态展示站)必须是 Vite 驱动的项目,确保具备 npm run build 能力。
  • 商品图统一用 Unsplash CDN URL 的 urls.regular,直接写入 product.json,不下载本地。
  • 挂靠站 footer 按 companyMainDomain 选择 Powered by 公司名,不按域名单独猜公司。
  • thereliabletechnologies.com 下的挂靠站使用 Copyright © 2025 <店铺品类> Store. Powered by RELIABLE TECH NOLOGIES PRIVATE LIMITE
  • inspireinnostore.com 下的挂靠站使用 Copyright © 2025 <店铺品类> Store. Powered by INSPIRINNO TECH NOLOGIES PRIVATE LIMITE
  • <店铺品类> 按该电商站实际售卖品类命名,例如 PetCare Store

迁移规则

  • 已知公司名的开发目录迁入 sites/<公司名>/<域名>/,确认迁入后删除外部老项目。
  • 纯构建产物或旧 dist 包直接删除,不作为项目迁入。
  • 依赖包、编辑器配置、本地密钥不进仓库:node_modules.git.vite.wrangler.vscode.env* 都必须排除。
  • 旧站源码包内已经作为站点内容使用的静态文件按来源保留,通用临时输出 dist 仍然排除。

负责人规则

  • developerOwner 记录项目开发提交/维护负责人;谁提交的新项目就写谁,不要只因为仓库内存在开发目录就改成 webkubor
  • 从本机老开发目录迁入、且由 webkubor 维护的站点,developerOwnerwebkubor
  • Cloudflare zone / 域名在 webkubor 名下的站点,deploymentOwnerwebkubor
  • Cloudflare zone / 域名不在 webkubor 名下的站点,deploymentOwner 按实际负责人写,例如 老胡

Registry 字段原则

  • 不为对齐表结构而保留无意义的 null 占位字段。
  • 外部挂靠站 external-site 只记录域名、公司主站关系和线上状态;没有明确业务价值时不要写 notesdomainAssetSource、源码、负责人或任务来源等字段。

执行红线

  • 站点对外 UI 文案必须使用英文;commit message 必须使用中文,类型前缀可保留,例如 fix: 修复站点构建输出目录。代码注释不强制英文。
  • 只允许在 main 分支提交和部署;feature 分支、落后于 origin/main 的分支、与 origin/main 分叉的分支都不允许提交。提交前和部署前会运行 scripts/check-branch-policy.mjs,发现问题必须先拉取最新 main 后再处理。
  • 价格统一 Rs.
  • 订单状态显示 Processing / Awaiting Review,不要显示 Success
  • brand.js 不得硬编码来自 registry.json 的字段。
  • 部署必须完成 build、deploy、commit、fetch/rebase、push;优先使用 node scripts/deploy-web.mjs <domain>
  • 电商站 product.json 商品数量不得少于 20 条,且每条商品的 nameimage 必须唯一,不允许重复。

PK 电商站群内部台账