Introduce Architectural Decision Records (ADR) - #35
Conversation
… ADR process for the team
- Add TEMPLATE for writing future ADRs
- Add ADR-001 documenting static file serving architecture
Closes #16
📝 WalkthroughWalkthroughThis pull request establishes an Architectural Decision Records (ADR) system for the JavaHttpServer project. It introduces ADR infrastructure (README and template) and documents the first architectural decision regarding static file serving architecture, including security model, MIME type handling, and implementation phases. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Fix all issues with AI agents
In `@docs/adr/ADR-001-static-file-serving-architecture.md`:
- Around line 236-240: In the "## References" section of
ADR-001-static-file-serving-architecture.md replace the placeholder repository
URL in the link text "Issue `#18`: GET handling for static files" (currently
pointing to https://github.com/your-repo/issues/18) with the actual repository
URL for this project so the issue link resolves correctly; update only that href
to the real repo path while keeping the link text unchanged.
- Around line 3-6: The ADR file ADR-001-static-file-serving-architecture.md
currently sets **Status:** Proposed which conflicts with the ADR index listing
it as Accepted; update the Status line in
ADR-001-static-file-serving-architecture.md from "Proposed" to "Accepted"
(update the Status header text) so the document state matches the ADR index.
In `@docs/adr/README.md`:
- Around line 45-49: The ADR index in README.md lists ADR-001 as "Accepted" but
the ADR file ADR-001-static-file-serving-architecture.md is marked "Proposed";
update one of them so both match (prefer changing the README table row for
ADR-001 to "Proposed" or update the ADR file to "Accepted"), ensuring the
Title/ADR link [001] and status column in the table are consistent with the
status header inside ADR-001-static-file-serving-architecture.md.
🧹 Nitpick comments (1)
docs/adr/ADR-001-static-file-serving-architecture.md (1)
45-56: Add language identifiers to fenced code blocks.This avoids markdownlint MD040 warnings and improves readability.
Proposed diff
-``` +```text src/main/resources/ └── static/ ├── index.html @@ -``` +```text StaticFileHandler ├── Validates request path (security) @@ -```java +```java // In connection handler: if (request.method().equals("GET")) { HttpResponse response = StaticFileHandler.handleRequest(request); HttpResponseWriter.write(outputStream, response); } -``` +``` @@ -``` +```text src/main/resources/static/ ├── index.html (served at GET /) @@ -``` +```Also applies to: 65-78, 214-220, 224-232
LinusWestling
left a comment
There was a problem hiding this comment.
Nice job! Lets ask coderabbit to piss off on those nitpick comments ;)
Changes
Closes #16
What's Added
ADR directory structure in
/docs/adr/README explaining ADR process for the team
TEMPLATE for writing future ADRs
ADR-001 documenting static file serving architecture
Why This Matters
ADRs help document architectural decisions so:
Review Focus
Size
Small PR: 3 markdown files
Next Steps
After this merges, a follow-up PR will add the actual implementation
of the static file handler documented in ADR-001.
Summary by CodeRabbit