meta-balena:实践指南
2026-09-12
2026-09-12 0
面对实际交付,我看apps的重点不在星标,而在这项能力:daily.dev 应用程序套件。在日常自动化场景里,常见问题是输入边界、依赖和失败处理如果不清楚就很难稳定复用,这正是评估时需要盯住的地方。更实际的做法是用一项范围明确的真实任务完成最小试跑,同时核对配置时间、输出质量、异常信息和维护痕迹,不要直接在关键项目上。它更像给愿意先做小范围验证并复查原始文档的团队准备的可审查方案,是否长期使用应由试跑数据决定。
daily.dev 应用程序 Suite
Everything 您在 daily.dev 上看到该 monorepo 包含 daily.dev 的应用程序套件。该存储库包括 Web 应用程序和扩展程序,以及两者的共享组件。 通过使用 monorepo 方法,我们可以轻松共享代码并保持应用程序套件不同部分的一致性。 做出这个决定是为了允许更快的迭代并保持两个平台的功能相同。
技术
.nvmrc)。项目
封装
包含在 daily.dev 应用程序套件中使用的较小项目或库的集合。以下是提到的每个包的简要概述:
eslint-config
共享 ESLint 设置,用于在整个项目中保持一致的代码质量。
eslint-rules
自定义 ESLint 插件,为项目定义一组规则,包括强制执行一致颜色使用的规则。
extension
浏览器扩展项目。包括浏览器扩展的 webpack 配置和扩展的专用组件。
prettier-config
此存储库中所有项目的共享 Prettier 设置。
shared
主项目包含应用程序中使用的大部分组件。需要在两个平台上使用的每个组件都应放置在该项目中。这包括设计系统组件、自定义挂钩等等。
storybook
该项目的 Storybook 配置,用于单独开发和展示 UI 组件。
webapp
Web 应用程序项目。这是一个 Next.js 项目,比扩展有更多页面,例如注册页面、帖子页面、个人资料页面等。有关 的更多信息,请点击此处。
当地环境
要启动本地环境,您将需要 Docker。执行以下步骤,您应该能够开始尝试将 div 居中:
docker compose updocker compose exec daily-api node ./bin/import 播种本地数据http://localhost:5002/ 运行想帮忙吗?
如果您想为 daily.dev 应用程序套件做出贡献并产生影响,我们很高兴听到您的声音。 :心眼:
在您继续之前,我们有一些贡献指南,这将使一切变得更加容易。
如果您花时间仔细阅读它们,我们将不胜感激: CONTRIBUTING.md
引导项目
克隆项目后,请确保运行以下命令来引导项目:
nvm use
corepack enable
corepack prepare [email protected] --activate
pnpm install
依赖性供应链强化
此存储库通过 pnpm-workspace.yaml 中的 minimumReleaseAge: 10080 将新发布的软件包版本延迟 7 天。继续使用 package.json 中固定的 pnpm 版本;较旧的 pnpm 版本不强制执行此设置。
保持 pnpm-lock.yaml 提交,在 CI 中使用冻结锁定文件安装,并避免添加 git 或 tarball 依赖项,除非明确审查它们。如果紧急依赖更新必须绕过冷却时间,请在 pnpm-workspace.yaml 中添加临时 minimumReleaseAgeExclude 条目,先查看包 contents/provenance,并在版本过期后删除异常。
在本地运行扩展
Chrome 的示例:
pnpm --filter extension devchrome://extensions/Developer modeLoad unpacked 并选择 packages/extension/dist/chrome 文件夹