Skip to content

Latest commit

 

History

History
47 lines (30 loc) · 3.4 KB

File metadata and controls

47 lines (30 loc) · 3.4 KB

PureGit 中心思想(产品定位)

本文档是全项目最高纲领,定义「做什么、为什么、做成什么样」。 所有子文档(design / architecture / cli-setup)与规范均以此为准绳对齐; 任何新增功能、UI 决策、技术取舍,先对照本文档再动手。

一句话定位

通过 GitHub 官方 API,全量复刻 GitHub 前端;功能完成度以官方页面为基准, 界面保持干净整洁、操作由繁化简。

三个支柱

1. 全量(Full Coverage)—— 功能完成度对齐官方

不满足于「核心闭环」,而是以官方页面为基准逐页复刻:官方有的页面 / 模块 / 功能,原则上都应具备。

未登录访问策略:仅开放仓库 Code 浏览;其余仓库 tab 切换时内容区显示登录墙(登录后回落)。首页/搜索/用户主页保持匿名可浏览。

2. 前端简洁(Clean UX)—— 体验层化简

「简约」不决定做什么(那是全量复刻的范围),只决定怎么做

  • 页面干净:统一宽度、统一间距、统一组件(shadcn/ui)、信息密度适中,无广告无干扰
  • 组件原生:组件构造直接使用 shadcn 官方组件默认样式(尺寸/颜色/间距/圆角),非必要不对原始 shadcn 样式手动调整;确需定制走主题 CSS 变量。用 shadcn 原生组件构建干净界面,不逐像素复刻官方 DOM
  • 操作化简:高频操作一步直达(star / fork / 创建 issue 在详情页直接可用);导航符合 GitHub 心智模型(仓库 tab、设置左侧导航)
  • 技术化简:Octokit SDK 统一封装 + GraphQL 唯一主通道(GraphQL 失败 → withRestFallback 熔断降级 REST;匿名强制 REST),页面组件不感知协议细节

复刻取舍判据(全量 × 简洁的平衡):功能做全(对齐官方页面),呈现自定义(shadcn 原生组件 + 干净界面 + 一步直达交互)。当官方功能本身是复杂工作流时,按官方交互复刻,不自行删减步骤。官方功能无公开 API 时:构造预留页/预留项并外链引导至官方(新窗口,标注「仅官方」),不捏造数据、不做假开关(详见 design.md「官方兜底」)。

3. 真实(Authentic)—— 一切数据来自官方 API

  • 全部数据经 GitHub 官方 API(Octokit SDK 统一封装,登录态 GraphQL 唯一主通道、匿名强制 REST),不造假数据
  • 双端点 API 一律 smart 包装(GraphQL 失败 → withRestFallback 熔断降级 REST),实现熔断(详见 architecture.md
  • CLI 集成:git 镜像端点自动代理 clone / pull / push(insteadOf 一行配置接入)

设计原则(映射到开发)

原则 落地要求
全量 新增功能先对照官方页面是否缺失
简洁(UX) 页面复用 shadcn/ui(直接用官方组件默认样式,非必要不手动调整);布局遵循 GitHub 心智模型;交互一步直达;「做简」仅限呈现层,不限功能范围
真实 一切数据来自官方 API(登录态 GraphQL 唯一主通道、匿名强制 REST),不造假数据

验收视角(面向最终用户的一句话)

「一个功能对齐官方、界面干净整洁、登录后能看、能搜、能管(issue/PR/star/fork/评审/设置)、能 clone/pull/push 的 GitHub 前端复刻。」