Flexmodel — 面向下一代应用的统一数据访问层,基于 Java 25 + Quarkus 3 多模块 Maven 项目。
| 模块 | 职责 |
|---|---|
flexmodel-engine/ |
核心引擎(codegen、core、graphql、quarkus 适配、maven 插件) |
flexmodel-server/ |
后端服务(Quarkus 3,REST/GraphQL/SSE/MCP,特性垂直分包) |
flexmodel-ui/ |
前端 UI(React + TypeScript + Ant Design v6 + Vite) |
flexmodel-website/ |
文档站(Docusaurus) |
flexmodel-functions-runtime/ |
边缘函数运行时(Deno + Hono.js,Worker 隔离执行) |
Before writing code:
- Confirm working directory with
pwd - Read this file completely
- Read project docs (
README.md,flexmodel-server/README.md,AGENTS.mdin submodules) - Run
./init.shto verify environment is healthy - Read
feature_list.jsonto see current feature state - Review recent commits with
git log --oneline -5
If baseline verification is failing, repair that first before adding new scope.
- One feature at a time: Pick exactly one unfinished feature from
feature_list.json - Verification required: Don't claim done without running verification commands
- Update artifacts: Before ending session, update
progress.mdandfeature_list.json - Stay in scope: Don't modify files unrelated to the current feature
- Leave clean state: Next session must be able to run
./init.shimmediately
feature_list.json— Feature state tracker (source of truth)progress.md— Session continuity loginit.sh— Standard startup and verification pathsession-handoff.md— Optional, for larger sessions
A feature is done only when ALL of the following are true:
- Target behavior is implemented
- Required verification actually ran (tests / lint / type-check)
- Evidence recorded in
feature_list.jsonorprogress.md - Repository remains restartable from standard startup path
Before ending a session:
- Update
progress.mdwith current state - Update
feature_list.jsonwith new feature status - Record any unresolved risks or blockers
- Commit with descriptive message once work is in safe state
- Leave repo clean enough for next session to run
./init.shimmediately
# Full verification (recommended)
./init.shRequired checks:
mvn clean compile -pl '!flexmodel-engine/flexmodel-maven-plugin'(全模块编译验证)mvn test -pl flexmodel-engine(引擎模块测试)- Optional:
mvn clean test -pl flexmodel-server -am(服务模块测试,部分测试存在已知失败)
- 特性垂直分包:flexmodel-server 按业务特性(auth/flow/data/api/modeling/...)组织代码,每个特性包含 Resource、Service、Repository、DTO
- Java 25:所有模块编译目标为 Java 25(
maven.compiler.release=25) - 多模块构建:默认构建
flexmodel-engine和flexmodel-server,使用-Pwith-ui可启用前端模块 - Quarkus 3:后端服务基于 Quarkus 3 框架,开发模式使用
./mvnw quarkus:dev
If you encounter:
- Architecture decisions: Consult project architecture docs if present, otherwise ask user
- Unclear requirements: Check product/requirements docs if present, otherwise ask user
- Repeated test failures: Update progress, flag for human review
- Scope ambiguity: Re-read
feature_list.jsonfor definition of done