Summary
Propose adding two documentation files to help the growing number of contributors who use AI coding assistants (Claude Code, Cursor, etc.):
CLAUDE.md at the repo root — strict, project-owned guardrails for AI-assisted changes to the engine: issue-first, one-concern/minimal-diff PRs bounded in breadth and depth, preserve API/serialization/DB/protocol compatibility (incl. the subtle breaks: charset, timezone/locale, HL7 delimiters), no PHI logging, no unsafe deserialization/XXE (this codebase's documented RCE class), match existing style, tests that actually fail-before/pass-after, MPL headers copied from server/license-header.txt. It also instructs the assistant to push back and propose the better approach rather than dutifully implement a weak fix. Grounded in the repo's real build (Java 17 + Ant server/mirth-build.xml), module map, and CONTRIBUTING flow — deliberately with no automation/orchestration skill, so no large multi-file single-PR agent changes.
CLAUDE_USER_EXAMPLE.md — a copy-me starter for a user's own channel/template repo (JavaScript on the Rhino runtime): the ES5/Rhino constraints, the loop-scoping bug, Java interop, engine globals, and code patterns. Points at oie-examples and the docs site.
Why
AI assistants are increasingly pointed at projects like this. A project-owned CLAUDE.md is the lever to keep AI-assisted contributions small, reviewable, compatibility-preserving, and honest — protecting the codebase from low-quality, sprawling AI PRs while still welcoming the help.
Disclosure
These files were drafted with AI assistance (Claude Code). The content is grounded in my years of hands-on Mirth/Connect experience and research, and I have personally reviewed both files in full and stand behind them. Happy to adjust scope or wording to maintainer preference — opening a PR to make the proposal concrete.
Summary
Propose adding two documentation files to help the growing number of contributors who use AI coding assistants (Claude Code, Cursor, etc.):
CLAUDE.mdat the repo root — strict, project-owned guardrails for AI-assisted changes to the engine: issue-first, one-concern/minimal-diff PRs bounded in breadth and depth, preserve API/serialization/DB/protocol compatibility (incl. the subtle breaks: charset, timezone/locale, HL7 delimiters), no PHI logging, no unsafe deserialization/XXE (this codebase's documented RCE class), match existing style, tests that actually fail-before/pass-after, MPL headers copied fromserver/license-header.txt. It also instructs the assistant to push back and propose the better approach rather than dutifully implement a weak fix. Grounded in the repo's real build (Java 17 + Antserver/mirth-build.xml), module map, and CONTRIBUTING flow — deliberately with no automation/orchestration skill, so no large multi-file single-PR agent changes.CLAUDE_USER_EXAMPLE.md— a copy-me starter for a user's own channel/template repo (JavaScript on the Rhino runtime): the ES5/Rhino constraints, the loop-scoping bug, Java interop, engine globals, and code patterns. Points atoie-examplesand the docs site.Why
AI assistants are increasingly pointed at projects like this. A project-owned
CLAUDE.mdis the lever to keep AI-assisted contributions small, reviewable, compatibility-preserving, and honest — protecting the codebase from low-quality, sprawling AI PRs while still welcoming the help.Disclosure
These files were drafted with AI assistance (Claude Code). The content is grounded in my years of hands-on Mirth/Connect experience and research, and I have personally reviewed both files in full and stand behind them. Happy to adjust scope or wording to maintainer preference — opening a PR to make the proposal concrete.