guides

开发指南

GoCode Monorepo 当前开发工作流(site-astro 单应用)

开发指南

本文档描述的是当前仓库可执行流程,不再适用旧的多应用并行开发模式。

1. 日常开发流程

# 1) 安装依赖(首次)
pnpm install

# 2) 启动开发服务
pnpm --filter @gocode/site-astro dev

# 3) 更新搜索索引(新增/修改文章后)
./scripts/update-search-index.sh

# 4) 提交前检查
pnpm --filter @gocode/site-astro check
pnpm --filter @gocode/site-astro build

2. 内容开发流程

所有知识库内容来自 gocode-context/wiki/**/*.md

新增文章建议:

  1. 按分类与月份建目录(如 gocode-context/wiki/frontend/2026-03/
  2. 文件名使用 kebab-case(示例:astro-content-guide.md
  3. 补齐 frontmatter(titledescriptionpublishDatecategory
  4. 运行构建确认页面可访问

注意:当前 wiki 页面路由使用文件名作为 slug,需避免同名文件导致冲突。

3. Waline 评论配置(非 MVP)

Waline 评论不属于当前 MVP 发布范围。上线后如果恢复评论能力,再通过环境变量配置评论服务地址:

PUBLIC_WALINE_SERVER_URL=https://your-waline-server.vercel.app

可用脚本:

./scripts/configure-waline.sh

脚本会更新 .env.env.production 中的 PUBLIC_WALINE_SERVER_URL

4. 可复用脚本

  • scripts/update-search-index.sh:重建并同步 Pagefind 索引(开发环境)
  • scripts/configure-waline.sh:写入 Waline 环境变量
  • docker compose up -d --build:在仓库根目录执行,作为 MVP 生产发布入口
  • scripts/deploy-to-aliyun-ecs.sh:历史静态部署脚本,已停用

5. 目录状态说明

  • gocode-apps/site-astro:当前生产可发布应用
  • gocode-services:占位目录,暂无可运行服务
  • gocode-infra:占位目录,暂无可运行编排
  • gocode-projects:占位目录

如果要新增后端服务或基础设施,请先以最小可运行版本落地后再更新文档,避免声明先行。