用途:按 Grey Haven Studio 的标准化项目结构,组织基于 TypeScript/React(TanStack Start)与 Python/FastAPI 的项目,适用于创建新项目、整理现有项目文件、重构目录布局、为新文件选择位置以及团队新成员了解结构。
前端(TanStack Start + React 19,参考 cvi-template,含 Drizzle、Better-auth):源码位于 src/,包含 routes/(基于文件的路由,如 __root.tsx、index.tsx、_authenticated/、auth/)、lib/(components 按 ui、auth、layout、shared 分目录,server 含 schema、functions、auth.ts、db.ts,以及 config、middleware、hooks、utils、types)、tests/(unit、integration、e2e)。根目录含 migrations/、.env.example、.prettierrc、.eslintrc、tsconfig.json、commitlint.config.cjs、drizzle.config.ts、vite.config.ts、vitest.config.ts、package.json 与 README.md。约定:导入统一使用 ~/* 路径别名;组件 PascalCase,路由小写加连字符,工具函数 camelCase 或 kebab-case,服务端函数 camelCase,schema 文件用小写复数;组件内部顺序为外部导入、内部导入、类型、组件、状态钩子、查询/变更、事件处理、JSX;依赖使用 bun。
后端(FastAPI + Python,参考 cvi-backend-template,含 SQLModel、Alembic):代码位于 app/,包含 main.py、routers/、services/、db/(models、repositories 含 base.py、session.py)、schemas/、middleware/、core/(config、security、deps)、utils/;另含 tests/(unit、integration、e2e,使用 Pytest 标记)、alembic/、pyproject.toml、alembic.ini、Taskfile.yml、requirements.txt 与 requirements-dev.txt。约定:模块 snake_case,模型类 PascalCase 而文件 snake_case,测试文件加 test_ 前缀;导入顺序为标准库、第三方、本地;采用仓库模式(BaseRepository 的 get_by_id 带 tenant_id 过滤)与 service 层模式;数据库字段使用 snake_case;环境变量由 Doppler 管理;后端分层为 Routers → Services → Repositories → Models。
配套文档:examples/、reference/、templates/、checklists/ 下提供完整示例、命名与导入规则、路径别名、前端与后端脚手架及项目搭建/重构清单,所有支持文件按 Anthropic 最佳实践保持在 500 行以内。
限制:资料未提供安装命令、费用、许可与运行环境要求等细节。