You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3.6 KiB
3.6 KiB
| name | description |
|---|---|
| iti-flask-framework | iTi-Flask 框架 skill。用于当前 iTi-Flask 框架仓库内的框架代码、框架文档、Copier 模板行为、应用工厂、配置、模块协议、鉴权、响应 envelope、服务客户端、任务、迁移、审计、存储、日志、测试和发布打包。不要用于 iTi-System 系统域业务修改,也不要用于模板生成项目的具体业务逻辑。 |
iTi-Flask 框架
只用于 iTi-Flask 框架仓库。
iTi-Flask 是 FastAPI 后端框架基座。
边界
- iTi-Flask 只写框架能力。
- 不把系统域业务放进框架。
- 不把具体模板生成项目写成框架行为。
iti-system是外部可选系统业务包。- Copier 模板会为生成项目渲染独立项目 skill。
代码入口
iti/app.py:create_app、中间件、错误处理、自动 envelope、生命周期。iti/config.py:dataclass 配置、.env加载、MySQL 默认值。iti/db/*:SQLAlchemy 2 base/session、Alembic metadata。iti/auth/*:JWT、Principal、Actor、权限依赖、服务 token 依赖。iti/modules/*:模块协议、权限元数据、菜单 seed 元数据。iti/responses/*:envelope、raw response 逃逸。iti/service_client/*:同步 HTTP JSON 客户端和注册表。iti/tasks/*:单进程任务注册和 runner。iti/audit.py:审计事件发送器,不拥有系统日志表。iti/storage/*:存储后端接口和实现。copier-template/:业务项目模板。docs/:人类阅读的精简参考。
修改规则
- 先读现有代码,再改文档或行为。
- 配置继续使用当前 dataclass 风格。
- JSON API 默认兼容 envelope,除非路由明确 raw。
- 保留 raw 默认值:
/health、/ready、/docs、/openapi.json、/redoc。 - 模块元数据使用
ModulePermission和ModuleMenuSeed。 - migration 归生成项目所有。框架不要静默接管业务项目 migration 流。
- 审计保持异步、非阻塞。框架只发事件,接收方在框架外。
- 不为未发生的需求加宽泛兼容层。
模板规则
- 模板变更在
copier-template/。 - Copier 模板源入口是仓库根目录
copier.yml,实际模板目录由_subdirectory: copier-template指定。 - 模板输出保持通用 FastAPI 业务后端骨架。
- 模板内不要写具体业务域知识。
- 模板结构、命令或生成文件变化时,同步更新:
copier.ymlcopier-template/README.md.jinjadocs/COPIER_TEMPLATE.mdcopier-template/.codex/skills/{{ project_slug | lower | replace('_', '-') }}-project/SKILL.md.jinja- 需要保持一致的已生成项目 skill 副本
- 生成项目必须保留
.copier-answers.yml,否则不能用copier update同步模板。 - 已生成项目同步框架依赖用
./app.sh framework-sync。 - 已生成项目检查和同步模板用
./app.sh template-check、./app.sh template-update。
命令
- 安装框架开发依赖:
./scripts/iti.sh install - 运行框架测试:
./scripts/iti.sh test - 运行检查:
./scripts/iti.sh check - 启动最小应用:
./scripts/iti.sh serve 8000 - 生成业务项目:
./scripts/iti.sh make-app ../my-business-app my_business_app - 生成带系统包的业务项目:
./scripts/iti.sh make-system-app ../my-system-app my_system_app
Windows 使用 scripts\iti.cmd。
文档
人类文档保持短。 文档只放稳定事实和命令入口。 细节优先从代码确认。
代码、架构、命令、模块协议、模板输出或验证流程变化时,同步更新这个 skill。