brendadeeznuts1111/project-R-score

GitHub: brendadeeznuts1111/project-R-score

一个基于 Bun 原生的企业级 monorepo 开发生态,提供多 workspace 管理、自动化代码质量修复工具和集中化配置,解决大型多包项目的工程治理问题。

Stars: 1 | Forks: 0

# FactoryWager Enterprise Platform **Bun 原生 monorepo** — 核心 packages 位于 `packages/` 和 `lib/`。大型应用(`factorywager`、`kimiremote`)已移至 `projects/active/`。`projects/` 中的每个项目都是独立的,拥有自己的 workspace。 ## 快速开始 ``` bun run install:all # isolated linker + global store (bun.sh/docs/pm/global-store) bun run install:verify # sanity-check cache dir, links/, and no ./~ drift bun run dev # Watch server bun run packages:list # Browse all packages with version/registry/triage ``` ## 架构 ``` packages/ @factorywager/* — 8 internal packages consumed by root workspace projects/active/factorywager/ @factorywager/registry — registry platform projects/active/kimiremote/ Sports terminal proxy (separate workspace) lib/ shared — shared utility code projects/ active/ Actively developed (analysis, automation, dashboards, enterprise, etc.) experimental/ Prototypes and sandboxes archive/ Frozen, read-only ``` ## 关键命令 | 命令 | 描述 | |---------|-------------| | `bun run packages:list` | 列出所有 395+ 个 packages 及其版本、registry、triage 信息 | | `bun run packages:outdated` | 检查过时的根依赖(快速 — workspace 隔离) | | `bun run validate:workspaces` | 验证 workspace 覆盖率 | | `bun run lint:core` | 对 packages/、server/、config/、tools/ 运行 ESLint | | `bun run format:core` | 对核心目录运行 Prettier | | `bun run fix:console-log` | 批量替换 console.log → console.info | | `bun run fix:scan-any-types` | 扫描 `any` 类型 | | `bun run dev` | 启动 platform 服务器 | | `bun run deployment:readiness` | 部署就绪矩阵 | 完整列表请参见 `package.json` 脚本。 ## 代码质量与修复工具 反模式修复工具(在重大重构后使用): - `bun run fix:console-log` — 批量将 `console.log()` 替换为 `console.info()`(项目规范禁止使用 `console.log`) - `bun run fix:scan-any-types` — 扫描应使用 `unknown` 或正确类型的 `: any` 和 `as any` 用法 - `bun run fix:scan-default-exports` — 查找应转换为具名导出的 `export default` 候选项 - `bun run fix:scan-non-null-assertions` — 查找应使用安全访问模式的 `!` 断言 详情请参见 `scripts/fix-*.ts`,或查看 `scripts/fix-console-log.ts` 获取批量修复的实现。 ## 共享配置 - `config/ports.ts` — 集中化的端口配置(所有服务器的默认值:DOCS_SERVER=3000, P2P_PROXY=3002, DASHBOARD=3456 等)。所有端口均可通过环境变量覆盖。 - `config/r2-env.ts` — 集中化的 R2/Cloudflare 凭证配置。在启动时验证必需的环境变量。 - 所有部署脚本(`scripts/deploy/*`)均需要环境变量:`CLOUDFLARE_API_TOKEN`, `R2_ACCOUNT_ID`, `WIKI_DEPLOY_PATH`, `R2_BUCKET_NAME`。 - CORS:设置 `CORS_ALLOWED_ORIGINS`(逗号分隔)以限制来源。留空 = 允许全部。 - 服务器绑定:设置 `SERVER_HOST` 环境变量(默认为 `localhost`)。 ## 项目策略 - 导入边界和允许的 package 根目录:`docs/IMPORT_BOUNDARIES.md` - 根目录组织:参见 `STRUCTURE.md` 和 `ROOT_CLEANUP_SUMMARY.md` - Workspace 维护:`bun run validate:workspaces`(验证所有 packages 是否被根 workspaces 覆盖;`check:workspaces` 是已废弃的别名) - **代码规范**(由 eslint 强制执行): - **禁止 `console.log`** — 使用 `console.info`、`console.warn` 或 `console.error` - **禁止 `any` 类型** — 结合 type guards 使用 `unknown`,或定义正确的接口 - **禁止 default exports** — 使用具名导出以获得更好的 tree-shaking 和 IDE 支持 - **禁止 non-null 断言(`!`)** — 使用带有默认值的可选链 - **禁止空的 catch 块** — 必须始终处理或重新抛出错误 - **禁止硬编码 secrets** — 通过 `config/ports.ts` 或 `config/r2-env.ts` 使用环境变量 - Monorepo 工具:使用 `--filter` 模式以及 `build:affected` / `test:affected` 进行高效开发
标签:Bun, SOC Prime, TypeScript, 企业级平台, 安全插件, 开发工具, 性能优化, 检测绕过, 网络调试, 自动化, 自动化攻击