init: project scaffold

This commit is contained in:
2026-05-27 00:49:56 +08:00
commit d430655541
9 changed files with 242 additions and 0 deletions

12
.gitignore vendored Normal file
View File

@@ -0,0 +1,12 @@
node_modules/
dist/
build/
.env
.env.local
.env.production
__pycache__/
*.pyc
.DS_Store
.vscode/
.idea/
*.log

View File

@@ -0,0 +1,16 @@
# FreeMoCap 源码解析 源码解析
> 创建日期2026-05-27
> 上游版本:待填写
## 概览
待补充
## 核心模块
待补充
## 关键流程
待补充

11
.memory/worklog.json Normal file
View File

@@ -0,0 +1,11 @@
{
"entries": [
{
"ts": "2026-05-27T00:00:00+08:00",
"type": "milestone",
"message": "项目创建: FreeMoCap 源码解析",
"hash": "",
"files_changed": 0
}
]
}

31
.project.json Normal file
View File

@@ -0,0 +1,31 @@
{
"name": "FreeMoCap 源码解析",
"description": "开源动捕系统源码深度解析:多摄像头三角化 + MediaPipe pose + Blender 导出全链路",
"status": "active",
"kind": "analysis",
"created": "2026-05-27",
"urls": [],
"ports": [
{
"port": 4720,
"label": "dev",
"fixed": true
}
],
"worklog": {
"path": ".memory/worklog.json",
"auto": true
},
"ownership": "personal",
"source": {
"upstream": "https://github.com/freemocap/freemocap",
"path": "source/",
"last_sync": "2026-05-27",
"version": "v1.8.2"
},
"analysis": {
"path": ".memory/source-analysis.md",
"version": "v1.8.2",
"last_updated": "2026-05-27"
}
}

38
AGENTS.md Normal file
View File

@@ -0,0 +1,38 @@
# FreeMoCap 源码解析 Agent Rules
## Must Read First
- 全项目规则真源:`/Users/kangwan/Projects/code/20260317-rules-dashboard/RULES.md`
- 全项目元数据规范:`/Users/kangwan/Projects/code/20260317-rules-dashboard/SCHEMA.md`
- `.project.json` 是机器真源:公网链接、快捷登录、凭证引用都以它为准
- `RULES.md` 是人工规则和部署事实:启动命令、平台、域名、注意事项都写这里
- 不允许编造不存在的域名、账号、密码;未知就保持空白并明确标记待补充
## Environment Consistency Contract
- 新建 Web / API / 后台服务 / 全栈 App 项目必须以 Docker 作为本地与线上共同运行基准
- 本地验证默认使用 `docker compose up --build`,不能只用宿主机 `npm run dev` / `pnpm dev` / `python main.py` 作为交付依据
- 线上部署必须复用同一套 `Dockerfile` / `docker-compose*.yml` 构建逻辑;`git push` 本身不等于线上容器更新
- 第一次形成可运行代码时,必须补齐 `Dockerfile``docker-compose.yml` 或等价 compose 文件、`.dockerignore``.env.example`
- 静态研究页、纯文档、macOS / iOS 原生 App、GPU / GUI / 特殊硬件项目可以例外,但必须在本项目 `RULES.md` 写明原因和实际运行环境
## Deployment Metadata Contract
- 任何任务只要新增、删除或修改公网地址,必须在同一次任务里更新 `.project.json`
- `urls[]` 推荐显式写 `type``app``backend``docs``admin``repo`
- 项目专属的网页登录信息,如果允许放进仓库,就写 `.project.json.quick_login`
- 不能直接入库的敏感登录,不要伪造 `quick_login`,改为写 `.project.json.credentials` 引用
- 数据库密码、API Key、服务器 root 密码,不属于 `quick_login`
- 部署时默认可以携带本地测试运行数据和密钥;助手只需先提醒风险,除非用户明确说“不带密钥 / 不带数据”
- 密钥只能作为运行时配置传输或写入服务器密钥管理,不得提交进 Git不得在聊天 / 日志 / `.project.json.quick_login` 中明文展开
## Completion Gate
- 每次开发结束前必须汇报 `git status -sb`
- 代码改动必须有人工语义 commit`auto-save` 只算安全快照
- 能推送时必须推到 Gitea `origin`,不能推送时说明 ahead/behind 和原因
- 新 Web / API / 后台服务 / 全栈 App 项目,上推前必须汇报 Docker build / compose 启动 / health check 或 smoke test 结果
- 替换或发布 App 时必须更新版本号、发布记录和回退包路径
- 部署完成后,不允许在 `.project.json` 缺少最新公网链接的状态下结束任务
- 部署完成后,必须同步更新 `RULES.md` 的部署事实
- 如果只更新了代码但没回写部署元数据,这个任务不算完成

38
CLAUDE.md Normal file
View File

@@ -0,0 +1,38 @@
# FreeMoCap 源码解析 Agent Rules
## Must Read First
- 全项目规则真源:`/Users/kangwan/Projects/code/20260317-rules-dashboard/RULES.md`
- 全项目元数据规范:`/Users/kangwan/Projects/code/20260317-rules-dashboard/SCHEMA.md`
- `.project.json` 是机器真源:公网链接、快捷登录、凭证引用都以它为准
- `RULES.md` 是人工规则和部署事实:启动命令、平台、域名、注意事项都写这里
- 不允许编造不存在的域名、账号、密码;未知就保持空白并明确标记待补充
## Environment Consistency Contract
- 新建 Web / API / 后台服务 / 全栈 App 项目必须以 Docker 作为本地与线上共同运行基准
- 本地验证默认使用 `docker compose up --build`,不能只用宿主机 `npm run dev` / `pnpm dev` / `python main.py` 作为交付依据
- 线上部署必须复用同一套 `Dockerfile` / `docker-compose*.yml` 构建逻辑;`git push` 本身不等于线上容器更新
- 第一次形成可运行代码时,必须补齐 `Dockerfile``docker-compose.yml` 或等价 compose 文件、`.dockerignore``.env.example`
- 静态研究页、纯文档、macOS / iOS 原生 App、GPU / GUI / 特殊硬件项目可以例外,但必须在本项目 `RULES.md` 写明原因和实际运行环境
## Deployment Metadata Contract
- 任何任务只要新增、删除或修改公网地址,必须在同一次任务里更新 `.project.json`
- `urls[]` 推荐显式写 `type``app``backend``docs``admin``repo`
- 项目专属的网页登录信息,如果允许放进仓库,就写 `.project.json.quick_login`
- 不能直接入库的敏感登录,不要伪造 `quick_login`,改为写 `.project.json.credentials` 引用
- 数据库密码、API Key、服务器 root 密码,不属于 `quick_login`
- 部署时默认可以携带本地测试运行数据和密钥;助手只需先提醒风险,除非用户明确说“不带密钥 / 不带数据”
- 密钥只能作为运行时配置传输或写入服务器密钥管理,不得提交进 Git不得在聊天 / 日志 / `.project.json.quick_login` 中明文展开
## Completion Gate
- 每次开发结束前必须汇报 `git status -sb`
- 代码改动必须有人工语义 commit`auto-save` 只算安全快照
- 能推送时必须推到 Gitea `origin`,不能推送时说明 ahead/behind 和原因
- 新 Web / API / 后台服务 / 全栈 App 项目,上推前必须汇报 Docker build / compose 启动 / health check 或 smoke test 结果
- 替换或发布 App 时必须更新版本号、发布记录和回退包路径
- 部署完成后,不允许在 `.project.json` 缺少最新公网链接的状态下结束任务
- 部署完成后,必须同步更新 `RULES.md` 的部署事实
- 如果只更新了代码但没回写部署元数据,这个任务不算完成

49
RULES.md Normal file
View File

@@ -0,0 +1,49 @@
# FreeMoCap 源码解析
## 启动
- `python3 -m http.server 4720` — 端口 4720
## 环境一致性
- Web / API / 后台服务 / 全栈 App 项目必须以本地 Docker 为准:`docker compose up --build`
- 宿主机 `npm run dev` / `pnpm dev` / `python main.py` 只能作为临时开发辅助,不算交付验证
- 第一次形成可运行代码时,必须补齐 `Dockerfile``docker-compose.yml` 或等价 compose 文件、`.dockerignore``.env.example`
- 线上部署必须复用同一套 Docker 构建逻辑;`git push` 本身不等于线上容器更新
- 如果本项目属于静态研究页、纯文档、macOS / iOS 原生 App、GPU / GUI / 特殊硬件例外,必须在这里写清原因和实际运行环境
## 部署事实
- 平台:待定
- 发布状态:未部署
- 主站 / 前端:待定
- API / 后端:待定
- 文档 / 解析:待定
- 管理后台:待定
## 快捷登录
- 登录地址:待补充
- 用户名:待补充
- 密码:待补充
- 说明这里只写项目专属网页登录数据库密码、API Key、服务器 root 密码不要写这里
## 元数据回写清单
- 新增或变更公网地址后,必须同步更新 `.project.json.urls`
- 仓库内存在 App 源码或构建入口时,必须能在看板显示 `App` 标记;自动检测不准时,手动写 `.project.json.app_artifacts`
- 如果有网页后台登录:
- 可直接入库:写 `.project.json.quick_login`
- 不应入库:写 `.project.json.credentials` 引用
- 部署完成后,`RULES.md``.project.json` 必须同一次任务一起更新
## 环境变量
- `.env.example` 必须列出项目运行所需变量名
- 本地 `.env` 可作为部署运行时配置来源,但不得提交进 Git
- 部署时默认可以携带本地测试运行数据和密钥;助手只需先提醒风险,除非用户明确说“不带密钥 / 不带数据”
- 密钥只能进入服务器 env / Coolify 加密变量 / 运行时配置,不得写入 `.project.json.quick_login` 或聊天日志
## 规则
- 全项目规则真源:`/Users/kangwan/Projects/code/20260317-rules-dashboard/RULES.md`
- 版本发布规则:`/Users/kangwan/Projects/code/20260317-rules-dashboard/rules/04-版本发布规则.md`
- 不允许编造不存在的部署域名、账号、密码
- 没有公网地址时,`.project.json.urls` 保持空数组
- 任何部署或域名变化,都要先改元数据,再视为任务完成
## 注意事项
- 待补充

46
index.html Normal file
View File

@@ -0,0 +1,46 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>FreeMoCap 源码解析</title>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
background: #0a0a0a; color: #e0e0e0;
min-height: 100vh; padding: 2rem;
}
.container { max-width: 1200px; margin: 0 auto; }
h1 {
font-size: 2.5rem; font-weight: 700;
background: linear-gradient(135deg, #60a5fa, #a78bfa);
-webkit-background-clip: text; -webkit-text-fill-color: transparent;
margin-bottom: 0.5rem;
}
.subtitle { color: #888; font-size: 1.1rem; margin-bottom: 2rem; }
.card {
background: #141414; border: 1px solid #222; border-radius: 12px;
padding: 2rem; margin-bottom: 1.5rem;
}
.card h2 { color: #60a5fa; margin-bottom: 1rem; font-size: 1.3rem; }
.card p { line-height: 1.8; color: #aaa; }
</style>
</head>
<body>
<div class="container">
<h1>FreeMoCap 源码解析</h1>
<p class="subtitle">开源动捕系统源码深度解析:多摄像头三角化 + MediaPipe pose + Blender 导出全链路</p>
<div class="card">
<h2>概述</h2>
<p>待补充研究内容...</p>
</div>
<div class="card">
<h2>核心发现</h2>
<p>待补充...</p>
</div>
</div>
</body>
</html>

1
source Submodule

Submodule source added at a1cd374ac7