Conversation
Covers environment setup, project structure, development workflow, testing, code style, PR process, DMN file conventions, and deployment. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add CONTRIBUTING.md
…G.md - devbox.json only provides JDK 21; library-api targets Java 17 via Maven --release 17, not a separate JDK install - Add builder-api (port 8081) to Service URLs table - Clarify DIY setup requires JDK 21 only, not both 17 and 21
morissette
left a comment
There was a problem hiding this comment.
Reviewed this against the source code. Overall the doc is solid — structure, service startup order, script paths, port numbers, Prettier config, CODEOWNERS, deploy triggers, and DMN naming conventions all check out. Found two issues that have been corrected in the latest push:
Bug fix: Java version claim was inaccurate
devbox.json only declares jdk21@latest — there is no JDK 17 in the Nix environment. The original doc said Devbox manages "Java 17, Java 21" which would mislead a contributor trying to understand the setup. In practice this works fine because library-api/pom.xml uses maven.compiler.release=17, so JDK 21 compiles it targeting Java 17 bytecode via --release 17. Updated the Devbox section, DIY section, and the Project Structure callout to reflect this accurately.
Bug fix: builder-api missing from Service URLs table
builder-api runs on port 8081 (confirmed in builder-api/.env) but wasn't in the reference table. Added it.
Everything else verified as accurate:
- All 5 service ports match
firebase.jsonandprocess-compose.yml - Startup order matches
process-compose.ymldependency chain exactly - All
bin/script paths exist - Bruno test path
library-api/test/bdtexists library-api-v*deploy trigger confirmed in.github/workflows/deploy-library-api.yml- KIE DMN version 10.0.0 confirmed in
builder-api/pom.xml - Node 22 confirmed in
devbox.json - builder-frontend at 5173 confirmed in
vite.config.js - Firebase emulator project
demo-bdt-devconfirmed in.firebaserc
Development environment setup is already covered in detail in README.md. CONTRIBUTING.md now links there instead of repeating the same content.
prestoncabe
left a comment
There was a problem hiding this comment.
Thanks @morissette - I noticed a few small things, but otherwise good.
- Mention .vscode/java.format.xml in the Java style section - Update DMN section intro wording per reviewer suggestion - Add tip about /new-dmn-check CC command for new check boilerplate - Replace manual gcloud sync steps with GH Action trigger recommendation Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
earth-walker
left a comment
There was a problem hiding this comment.
I think this is a great addition to the repo. it hits a lot of important points. I can see some room for improvement in the future. for me it's a bit long and misses some important points about how we work on slack, how the project is associated with Code For Philly, etc. (or maybe they are in there somewhere but too far down for me to have noticed while skimming through). that said I support merging this version and updating it in the future, as I also felt we should really have a document like this.
Summary
Adds a
CONTRIBUTING.mdto guide new developers onboarding to the project.What's covered
Test plan
🤖 Generated with Claude Code