Merge pull request #5 from alibaba/feat/db-migration-and-deploy-skills Feat/db migration and deploy skills
Merge pull request #5 from alibaba/feat/db-migration-and-deploy-skills
Feat/db migration and deploy skills
一人公司启动器 - AI-Friendly React Boilerplate
专为使用 Cursor、Qoder 等 AI Coding 工具的开发者设计的现代化 React 启动模板。
默认推荐 MSW Mock 模式,不依赖真实 Supabase,最适合 AI Coding 工具快速启动、复现和回归:
git clone https://github.com/your-username/opc-starter.git cd opc-starter npm --prefix app install VITE_ENABLE_MSW=true npm run dev:test
启动后浏览器打开 http://localhost:5173,你将看到登录页面。使用以下测试账号登录:
http://localhost:5173
test@example.com
888888
登录成功后即可进入 OPC-Starter 仪表盘,开始体验所有功能。
说明 常用 npm 命令可直接在仓库根目录运行,适合从 /workspace 起步的 AI 工具。 需要真实后端时,再配置 app/.env.local 并执行 npm run dev。 MSW 测试账号统一来自 app/cypress/fixtures/users.json。
说明
/workspace
app/.env.local
npm run dev
app/cypress/fixtures/users.json
git clone https://github.com/your-username/opc-starter.git cd opc-starter # 安装应用依赖 npm --prefix app install # 推荐:本地 mock 模式 VITE_ENABLE_MSW=true npm run dev:test # 可选:真实 Supabase 模式 cp app/env.local.example app/.env.local npm run dev
真实 Supabase 模式下,在 app/.env.local 中配置:
VITE_SUPABASE_URL=your_supabase_url VITE_SUPABASE_ANON_KEY=your_supabase_anon_key VITE_DASHSCOPE_API_KEY=your_dashscope_api_key # 可选,用于 Agent LLM
如果 package-lock.json 引用了无法访问的内部镜像源,删除后重试:
package-lock.json
cd app rm -rf node_modules package-lock.json npm install --registry https://registry.npmjs.org/
原因:浏览器 localStorage 中残留了上次会话的过期 Token,Supabase 客户端尝试向 placeholder.supabase.co 发起真实请求。
placeholder.supabase.co
修复方法:清除浏览器站点数据后刷新页面。
F12
chrome://settings/content/all?searchSubpage=localhost
MSW 模式下,Supabase Realtime 的 WebSocket 连接会因为没有对应的 Mock Handler 而产生警告,这属于预期行为,不影响任何功能。
opc-starter/ ├── app/ # 应用主目录 │ ├── src/ │ │ ├── auth/ # 认证模块 │ │ ├── components/ # React 组件 │ │ │ ├── agent/ # Agent Studio (A2UI) │ │ │ ├── business/ # 业务组件 │ │ │ ├── layout/ # 布局组件 │ │ │ ├── organization/ # 组织架构组件 │ │ │ └── ui/ # 基础 UI 组件 │ │ ├── hooks/ # 自定义 Hooks │ │ ├── lib/ # 库封装 │ │ │ ├── agent/ # Agent 核心逻辑 │ │ │ ├── reactive/ # 响应式数据层 │ │ │ └── supabase/ # Supabase 客户端 │ │ ├── pages/ # 页面组件 │ │ ├── services/ # 服务层 │ │ │ └── data/ # DataService (同步核心) │ │ ├── stores/ # Zustand 状态管理 │ │ ├── types/ # TypeScript 类型 │ │ └── utils/ # 工具函数 │ └── supabase/ │ ├── functions/ # Edge Functions │ └── setup.sql # 数据库 Schema ├── _bmad/ # BMAD 方法论配置 ├── docs/ # 项目文档 └── AGENTS.md # AI Coding 指南
本项目专为 AI Coding 工具优化:
npm run dev:test
npm run ai:check
app/src/main.tsx
app/.env.test
app/vite.config.ts
app/src/App.tsx
app/src/config/routes.tsx
npm run build
app/src/pages/
app/src/components/layout/MainLayout/
npm run type-check
app/src/services/data/DataService.ts
app/src/services/data/adapters/
app/src/stores/
npm test
app/src/components/agent/
app/src/lib/agent/
app/supabase/functions/ai-assistant/
npm run test:tools
app/cypress/e2e/
app/cypress/support/
npm run test:e2e:headless
# 核心校验(lint + type-check + unit test + build) npm run ai:check # 完整校验(额外包含 E2E) ./scripts/quality_check.sh
AGENTS.md
@file
欢迎贡献!请查看 CONTRIBUTING.md 了解详情。
AGPL-3.0 © OPC-Starter Contributors
Made with ❤️ for Solo Entrepreneurs and AI-Assisted Developers
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802032778号
OPC-Starter 🚀
专为使用 Cursor、Qoder 等 AI Coding 工具的开发者设计的现代化 React 启动模板。
✨ 特性
🚀 快速开始
AI / Cursor Cloud 最短路径(推荐)
默认推荐 MSW Mock 模式,不依赖真实 Supabase,最适合 AI Coding 工具快速启动、复现和回归:
启动后浏览器打开
http://localhost:5173,你将看到登录页面。使用以下测试账号登录:test@example.com888888登录成功后即可进入 OPC-Starter 仪表盘,开始体验所有功能。
环境要求
安装
环境变量
真实 Supabase 模式下,在
app/.env.local中配置:常见问题
npm install 失败 (ECONNRESET)
如果
package-lock.json引用了无法访问的内部镜像源,删除后重试:浏览器白屏 / 控制台出现 ERR_NAME_NOT_RESOLVED
原因:浏览器 localStorage 中残留了上次会话的过期 Token,Supabase 客户端尝试向
placeholder.supabase.co发起真实请求。修复方法:清除浏览器站点数据后刷新页面。
F12→ Application → Storage → Clear site datachrome://settings/content/all?searchSubpage=localhost,删除 localhost 数据控制台出现 WebSocket 连接警告
MSW 模式下,Supabase Realtime 的 WebSocket 连接会因为没有对应的 Mock Handler 而产生警告,这属于预期行为,不影响任何功能。
📁 项目结构
🛠️ 技术栈
🤖 AI Coding 支持
本项目专为 AI Coding 工具优化:
npm run dev:test、npm run ai:checkAI 迭代地图
app/src/main.tsxapp/.env.test、app/vite.config.tsnpm run dev:testapp/src/App.tsxapp/src/config/routes.tsxnpm run buildapp/src/config/routes.tsxapp/src/pages/、app/src/components/layout/MainLayout/npm run type-checkapp/src/services/data/DataService.tsapp/src/services/data/adapters/、app/src/stores/npm testapp/src/components/agent/app/src/lib/agent/、app/supabase/functions/ai-assistant/npm run test:toolsapp/cypress/e2e/app/cypress/fixtures/users.json、app/cypress/support/npm run test:e2e:headlessAI 质量入口
使用 Cursor
AGENTS.md了解项目规范@file引用相关文件开始开发📖 文档
🗺️ 路线图
🤝 贡献
欢迎贡献!请查看 CONTRIBUTING.md 了解详情。
📄 许可证
AGPL-3.0 © OPC-Starter Contributors
Made with ❤️ for Solo Entrepreneurs and AI-Assisted Developers