架构设计
当前架构结论
当前仓库已收敛为“单应用站点 + 内容仓”模式:
- 生产主应用:
gocode-apps/site-astro - 内容源:
gocode-context/wiki - 搜索:Pagefind(构建时生成
dist/pagefind) - 评论:Waline 前端(通过环境变量接入后端)
分层结构
1. 应用层(gocode-apps)
site-astro/:门户 + 知识库统一站点(当前唯一可发布应用)desktop-web/、mobile-flutter/、tools-web/:预留目录
2. 内容层(gocode-context)
wiki/:唯一生效内容源- Markdown 内容在构建阶段被
site-astro读取并输出静态页面
3. 共享能力层(packages)
ui/eslint-config/typescript-config/
4. 预留层(当前未落地运行)
gocode-services/:服务层占位gocode-infra/:基础设施层占位gocode-projects/:独立项目占位
请求路径与发布流
- 在
gocode-context/wiki更新内容 - 执行
pnpm --filter @gocode/site-astro build - 产物输出到
gocode-apps/site-astro/dist - Nginx 或静态托管服务发布
dist /pagefind/*必须随产物一起发布,否则搜索不可用
设计原则
- 内容与渲染解耦:内容在
gocode-context,渲染在site-astro - 文档声明以可运行事实为准:未落地的服务与编排不作为“可用功能”描述
- 先可运行,再扩展:新增层级先提交最小可运行实现,再更新架构文档
