AsterDrive 的产品落地页 monorepo —— drive.astercosm.com 主站, 文档站是 drive.docs.astercosm.com。 营销与品牌门面,不是产品仓库;产品代码和文档站在 AsterDrive。
- 任何 agent 禁止在本仓库创建 git commit;文件可以写、构建可以跑,最终一律停在"待提交"状态,commit 由仓库所有者本人创建。
- 仓库可能存在未提交改动,不回滚、不覆盖、不格式化掉无关改动。
- 不顺手扩大任务范围;页面语气、结构、素材规则的变更按本文"设计与内容不变量"对齐。
apps/web/ @asterdrive/web — Astro 站点(双语、双主题、GH Pages 部署)
packages/tokens/ @asterdrive/tokens — D9 设计 token
bun install
bun run dev # 本地开发
bun run build # 构建到 apps/web/dist
bun run check # biome check + astro check(必须全绿才算完)
bun run capture:scenes -- --binary /path/to/aster_drive # 截图资产管线(见 README)工程要点:
astro check与 TypeScript 7 不兼容,apps/web 锁typescript@^6,勿升。- biome 对
*.astro关闭了noUnusedImports/noUnusedVariables(模板引用 frontmatter 变量会误报),不要在 overrides 里再放宽别的规则。
页面文案与视觉的任何修改都要守住这几条(均为已确立的项目决策):
- 面向用户,不是面向工程师。第一屏只允许用户语言:禁止版本号、技术栈("in Rust")、协议名(WebDAV/WOPI)、内部代号(D9)、许可证罗列。工程深度(connector 契约、doctor、多 Primary)只允许出现在页面中段,形成"用户价值先行、技术深度随滚动展开"的梯度。
- 物料必须产品原生。只用真实 UI 截图、真实命令、真实后端列表与自绘图标。禁止任何示意图/拓扑图/链路图(两个版本都被砍过)、stock 插画、渐变 mesh、玻璃拟态、假 dashboard mockup、假社交证明。截图一律由
scripts/capture-scenes.mts产出,不手工伪造。 - 动效只润色不遮羞。reduced-motion 必须完整降级;无 JS 时全部内容可见可用;首屏 JS 保持 ≈0KB(首屏交互用 vanilla script,React 只允许在
client:visible的折叠线以下岛屿)。hero 标题不加打字机(否决过)。 - 视觉 token 的事实源是 AsterDrive
frontend-panel/src/index.css(D9 体系),packages/tokens只做语义映射与裁剪,色值不发明。 - 双语:
/英文(默认)+/zh/中文,文案唯一事实源apps/web/src/i18n/ui.ts;connector 展示数据src/i18n/connectors.ts(快照来源见文件头注释)。
从 AsterDrive 主仓库复制的素材、自绘图标、截图管线的完整清单和刷新流程见 README.md「素材同步约定」与「截图资产管线」。前端 UI 更新后必须重跑管线刷新 src/assets/scenes/。
main 分支推送后由 GitHub Actions 构建并发布到 GitHub Pages(drive.astercosm.com,
CNAME 在 apps/web/public/CNAME;文档站发布到 drive.docs.astercosm.com)。不手动编辑生成产物;DNS 与 Pages 设置由仓库所有者手工管理。
MIT OR Apache-2.0, at your option.