These guides explain how to apply the Rules Repository conventions while working inside the FullCalendar Pro project. Each section closes the loop by referencing the relevant rules, glossary entries, architecture artifacts, and implementation notes.
- Follow
rules/generative/language/java/build-tooling.mdfor Maven lifecycle, artifact coordinates, and module-info management. Keep the rootpom.xmlaligned with parent BOM coordinates (com.jwebmp:parent:2.0.0-SNAPSHOT). - Document the artifact’s responsibilities in
IMPLEMENTATION.md, noting the service descriptors undersrc/main/resources/META-INF/services(FullCalendarProModuleScanInclusion,FullCalendarProPageConfigurator). - Reference
docs/architecture/sequence-package-fullcalendar.mdwhen describing the packaging flow in design discussions.
- Use
rules/generative/backend/guicedee/client/README.mdto register SPI providers, honor JPMS module resolutions, and keep CRTP-friendly configuration builders. - Connect the
FullCalendarProPageConfiguratorlifecycle to theFullCalendarProModuleScanInclusionmodule by following the component breakdown indocs/architecture/c4-component-fullcalendar-pro.md. - Keep integration notes inside
IMPLEMENTATION.mdto explain how the jar is discovered by the JWebMP runtime (seedocs/architecture/sequence-runtime-wiring.md). - Resource/Timeline listener registration:
FullCalendarPro.registerWebSocketListeners()(seesrc/main/java/com/jwebmp/plugins/fullcalendarpro/FullCalendarPro.java:86-154) adds aInitialResourceEventsReceiverto GuicedEE whenever thelistenerName + 'Resources'channel lacks a receiver. That WebSocket call receiver (InitialResourceEventsReceiverlines 152-194) captures the listener name from the incomingAjaxCall, resolves the originatingFullCalendarProsubclass viaIGuiceContext, invokesgetInitialResources(), and returns the list viaresponse.addDataResponse(listenerName, initialEvents). The Angular component also emits'Resources'(viafetchData()inmethods(), lines 111-138) and listens for the response through the event bus subscription defined byinitializeResources()andhandleResourceEvents()(NgMethodblocks near the top of the file). Together these paths ensure resource groups/timelines (resourceDayGrid,resourceTimeGrid,resourceTimelineplugins) receive initial data before the calendar renders.
- Default to Log4j2 with
@Log4j2perrules/generative/backend/logging/LOGGING_RULES.md. Document logger naming conventions and level control inIMPLEMENTATION.mdif custom appenders or formatters are needed. - Apply the JSpecify guidance from
rules/generative/backend/jspecify/README.md; annotate modulewide defaults with@NullMarkedand only permit@Nullablewhere contracts demand it. - Implement CRTP manual setters as described in
rules/generative/backend/fluent-api/crtp.rules.mdwhenever you extend core configuration classes.
- Keep tests aligned with TDD per
rules/generative/architecture/tdd/README.md; scripts should fail fast ifmodule-info.javais misconfigured. - Instrument coverage with Jacoco following
rules/generative/platform/testing/jacoco.rules.md; review coverage reports in GitHub Actions artifacts. - Relay any cross-browser test requirements to BrowserStack (see
rules/generative/platform/testing/browserstack.rules.md) when verifying the generated FullCalendar scripts and client assets. - Use the Java Micro Harness patterns from
rules/generative/platform/testing/java-micro-harness.rules.mdfor unit/integration harness scaffolding.
- The GitHub Actions workflow in
.github/workflows/maven-build.yml(seerules/generative/platform/ci-cd/providers/github-actions.md) performsmvn -B verifyon pushes/PRs and publishes coverage summaries. - Document required secrets (if any) inside
.github/workflows/maven-build.ymland top-levelREADME.md; keep the overarching policy inrules/generative/platform/secrets-config/env-variables.mdand.env.example.
- Always refer back to
docs/architecture/README.mdwhen describing the system context or container responsibilities; architecture diagrams remain the single source for C4/ERD/sequence flows. - Note
docs/PROMPT_REFERENCE.mdwhen updating prompts or instructions so future AI agents have stack context. - Ensure
GUIDES.md,RULES.md,GLOSSARY.md, andIMPLEMENTATION.mdcross-link each other, especially when referencing terms listed under those files.
- Before introducing resource timelines or template slots, follow
rules/generative/frontend/jwebmp/fullcalendar-pro/README.mdand its component rules (options-and-layout,events-and-resources,angular-integration,testing, etc.) to keep the Pro wiring consistent. - The Pro rules walk through
FullCalendarPro’s resource fetch listeners, WebSocket receivers, and Angular template hooks (FullCalendarPro.class,InitialResourceEventsReceiver,NgTemplateElementhelpers) so implementations remain tied to the documented flows underdocs/architecture/c4-component-fullcalendar-pro.mdanddocs/architecture/sequence-runtime-wiring.md. - Tie any release updates to
rules/generative/frontend/jwebmp/fullcalendar-pro/release-notes.mdso host consumers see the same forward-only change summary as the rules index.