commit 2ea093571dc441c5e4dadc6b2e02c9f8ad3587c9 Author: cat-shark Date: Fri Jul 31 23:16:50 2026 +0800 docs: add LPT workspace meta repo diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..901ab19 --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +# LPT is a workspace meta-repo. Product code lives in independent git repos below. +/* +!/AGENTS.md +!.gitignore + +# Local/editor noise +.DS_Store +Thumbs.db diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..b6640b2 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,52 @@ +# LPT Workspace Meta-Repo + +本仓库不是产品项目,不包含前后端业务代码。它只作为本地工作区协调仓库,用于让 Codex 一次性了解多个独立项目,并在缺失子项目时自动拉取。 + +## 仓库结构 + +| 目录 | 用途 | +|------|------| +| `lpt-be` | Java Spring Boot 后端,提供 REST API、认证、数据库访问 | +| `lpt-fe` | Vue 3 + TypeScript 前端 | +| `lpt-ai` | TypeScript + Fastify 独立 AI 服务 | +| `lpt-infra` | Kubernetes / Traefik 部署与基础设施清单 | + +## 子项目 Git 仓库 + +| 目录 | SSH 地址 | 建议分支 | +|------|----------|----------| +| `lpt-be` | `ssh://git@git.cat-shark.xyz:2222/cat-shark/lpt-be.git` | `master` | +| `lpt-fe` | `ssh://git@git.cat-shark.xyz:2222/cat-shark/lpt-fe.git` | `master` | +| `lpt-ai` | `ssh://git@git.cat-shark.xyz:2222/cat-shark/lpt-ai.git` | `main` | +| `lpt-infra` | `ssh://git@git.cat-shark.xyz:2222/cat-shark/lpt-infra.git` | `master` | + +## 首次初始化 + +只拉取本 meta 仓库时,下列子项目目录不会包含在 Git 内容中。Codex 在开始任务前应检查目录是否存在;如果缺失,直接自动 clone,无需用户手动操作: + +```bash +git clone -b master ssh://git@git.cat-shark.xyz:2222/cat-shark/lpt-be.git lpt-be +git clone -b master ssh://git@git.cat-shark.xyz:2222/cat-shark/lpt-fe.git lpt-fe +git clone -b main ssh://git@git.cat-shark.xyz:2222/cat-shark/lpt-ai.git lpt-ai +git clone -b master ssh://git@git.cat-shark.xyz:2222/cat-shark/lpt-infra.git lpt-infra +``` + +clone 完成后,进入或修改某个子项目前,先读取该子项目根目录的 `AGENTS.md`;如果尚未迁移,则读取 `.pi/SYSTEM.md` 或 `README.md`。 + +## 工作区规则 + +- 本 meta 仓库只维护 `AGENTS.md` 和 `.gitignore`,不要在本仓库根目录创建业务代码或文档。 +- `.gitignore` 忽略所有子项目目录,避免把独立 Git 仓库提交进本 meta 仓库。 +- 不要删除子项目内的 `.git`,也不要对子项目执行跨仓库的 `git add .`。 +- 对子项目执行 Git 操作时使用 `git -C lpt-be ` 这类形式。 +- 如果某个子项目目录已存在但不是 Git 仓库,或 clone 因 SSH 权限/网络失败,应停止并说明原因,不要用空目录或本地副本替代。 + +## 跨项目调用关系 + +```text +浏览器 → lpt-fe (5158) ──/api──→ lpt-be (5157) ──HTTP──→ lpt-ai (5199) + │ + └── MySQL +``` + +lpt-infra 提供 dev/prod 的 Kubernetes 清单和 Traefik 路由。