Generate Angular 20 apps straight from JWebMP annotations and host the built SPA with Vert.x 5 + STOMP/WebSocket bridging. The module renders TypeScript/config from @NgApp/@NgComponent/@NgRoutable metadata, but it does not run the Angular build—point it at your dist output and it handles routing and assets.
- Prereqs: Java 25 LTS, Maven. Build with
mvn clean verify. - Turn on TypeScript generation: set
JWEBMP_PROCESS_ANGULAR_TS=true(or-Djwebmp.process.angular.ts=true). Default is off. - Host & messaging: WebSocket/STOMP at
/eventbus(inbound/toBus/incoming, outbound/toStomp.*). Listeners must validate payloads and returnAjaxResponse. - Static hosting: serves the generated/built dist path (from
AppUtilsper@NgApp) with SPA fallback and/assetshandling.
- Documentation-first: architecture diagrams live in
docs/architecture/and feed the rules inrules/generative/frontend/jwebmp/angular/. - Forward-only: no legacy anchors; CRTP fluent APIs with Lombok
@Log4j2logging. - Vert.x 5 hosting out of the box: SPA fallback + STOMP/WebSocket bridge wired for
IGuicedWebSocketlisteners. - Topic-first glossary: minimal duplication; link to topic glossaries in
rules/.
- Rules submodule:
rules/(see.gitmodules). Host docs stay outside the submodule. - PACT:
PACT.md - Rules:
RULES.md - Glossary:
GLOSSARY.md - Guides:
GUIDES.md - Implementation plan:
IMPLEMENTATION.md - Prompt + diagrams index:
docs/PROMPT_REFERENCE.md,docs/architecture/README.md
- Sample env vars:
.env.example(non-secret). Documented toggles include TS processing and CI secrets. - GitHub Actions workflow:
.github/workflows/maven-package.yml(shared GuicedEE workflow; requiresUSERNAME,USER_TOKEN,SONA_USERNAME,SONA_PASSWORD).
Contributing
- Contributions welcome under forward-only rules. Open issues/PRs with clear reproduction steps.
- Follow the topic rules in
rules/generative/frontend/jwebmp/angular/and align withRULES.mdsection 4/5 + Document Modularity + Forward-Only. - Use Log4j2 for logging; keep generated artifacts out of PRs.