Root and Granular ClaudeMD File#113
Conversation
WalkthroughThis PR adds comprehensive developer documentation across all project modules of the Chucker Android HTTP Inspector. The additions include project-level setup, build, and CI/CD guidance; module-specific architecture and development workflows; and sample app usage instructions. ChangesDeveloper Documentation
🚥 Pre-merge checks | ✅ 1✅ Passed checks (1 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
CLAUDE.md (1)
174-175:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winLine 175 appears incomplete.
The file ends abruptly at line 175 with no content after the Tech Stack table. Verify whether additional content was intended or if this line should be removed.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@CLAUDE.md` around lines 174 - 175, The CLAUDE.md Tech Stack table ends abruptly after the "Testing" row (the table containing "JUnit 5, MockK 1.10.2, Robolectric 4.4, Truth 1.1") and line 175 is incomplete; either remove the stray blank/incomplete line or restore the intended trailing content (e.g., any missing rows, a closing paragraph or section) so the document ends cleanly—locate the Tech Stack table and the trailing blank at the end of CLAUDE.md and either delete the extra line or append the missing content consistently with the markdown table/section formatting.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@library/CLAUDE.md`:
- Around line 44-53: The markdown code block showing the HTTP data-flow diagram
lacks a language specifier; update the triple-backtick fence that precedes the
diagram to include a language token (for example ```text or ```plaintext) so it
complies with MD040; leave the diagram contents unchanged (the lines referencing
ChuckerInterceptor.intercept(), RequestProcessor, ResponseProcessor,
ChuckerCollector.onRequestSent()/onResponseReceived(), chain.proceed(request),
and the UI LiveData/RecyclerView flow) and only modify the opening fence to add
the specifier.
- Around line 7-32: The markdown block containing the ASCII architecture diagram
(the fenced code block that starts with ``` and lists entries like
ChuckerInterceptor, ChuckerCollector, RetentionManager, BodyDecoder,
RequestProcessor, ResponseProcessor, MainActivity, TransactionActivity) is
missing a language tag and triggers markdownlint MD040; update the fenced code
block opening from ``` to ```text (or ```plaintext) so the linter recognizes it
as a plain text block and the diagram lines (e.g., ChuckerInterceptor,
ChuckerCollector, RequestProcessor, ResponseProcessor, MainActivity,
TransactionActivity) remain unchanged.
---
Outside diff comments:
In `@CLAUDE.md`:
- Around line 174-175: The CLAUDE.md Tech Stack table ends abruptly after the
"Testing" row (the table containing "JUnit 5, MockK 1.10.2, Robolectric 4.4,
Truth 1.1") and line 175 is incomplete; either remove the stray blank/incomplete
line or restore the intended trailing content (e.g., any missing rows, a closing
paragraph or section) so the document ends cleanly—locate the Tech Stack table
and the trailing blank at the end of CLAUDE.md and either delete the extra line
or append the missing content consistently with the markdown table/section
formatting.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 2469d13d-724b-4937-bc37-903d7cba7496
📒 Files selected for processing (4)
CLAUDE.mdlibrary-no-op/CLAUDE.mdlibrary/CLAUDE.mdsample/CLAUDE.md
| ``` | ||
| api/ # Public API — what app developers use | ||
| ChuckerInterceptor # OkHttp interceptor (Builder pattern) | ||
| ChuckerCollector # Data collection lifecycle | ||
| Chucker # Utility singleton (launch intent, notifications) | ||
| RetentionManager # Data cleanup policy | ||
| BodyDecoder # Interface for custom decoders (e.g., Protobuf) | ||
|
|
||
| internal/data/ # Persistence layer | ||
| entity/ # HttpTransaction (Room entity, 60+ fields) | ||
| room/ # ChuckerDatabase (v7, destructive migration) | ||
| repository/ # HttpTransactionRepository (LiveData queries) | ||
| har/ # HAR 1.2 export format classes | ||
|
|
||
| internal/support/ # Processing & utilities | ||
| RequestProcessor # Extracts request metadata + payload | ||
| ResponseProcessor # Extracts response metadata + payload (multicast via TeeSource) | ||
| NotificationHelper # Shows persistent notification with transaction count | ||
| *Sharable classes # Export as text/curl/HAR file | ||
| Stream utilities # TeeSource, LimitingSource, DepletingSource, ReportingSink | ||
|
|
||
| internal/ui/ # Android MVVM UI | ||
| MainActivity # Transaction list (singleTask, separate task affinity) | ||
| TransactionActivity # Detail view: Overview + Request + Response tabs | ||
| *ViewModel classes # LiveData from repository, filtering by code/path | ||
| ``` |
There was a problem hiding this comment.
Add language specifier to code block for linter compliance.
The ASCII art architecture diagram should specify a language identifier (e.g., text or plaintext) to satisfy markdownlint MD040 rule.
📝 Proposed fix
-```
+```text
api/ # Public API — what app developers use
ChuckerInterceptor # OkHttp interceptor (Builder pattern)📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| ``` | |
| api/ # Public API — what app developers use | |
| ChuckerInterceptor # OkHttp interceptor (Builder pattern) | |
| ChuckerCollector # Data collection lifecycle | |
| Chucker # Utility singleton (launch intent, notifications) | |
| RetentionManager # Data cleanup policy | |
| BodyDecoder # Interface for custom decoders (e.g., Protobuf) | |
| internal/data/ # Persistence layer | |
| entity/ # HttpTransaction (Room entity, 60+ fields) | |
| room/ # ChuckerDatabase (v7, destructive migration) | |
| repository/ # HttpTransactionRepository (LiveData queries) | |
| har/ # HAR 1.2 export format classes | |
| internal/support/ # Processing & utilities | |
| RequestProcessor # Extracts request metadata + payload | |
| ResponseProcessor # Extracts response metadata + payload (multicast via TeeSource) | |
| NotificationHelper # Shows persistent notification with transaction count | |
| *Sharable classes # Export as text/curl/HAR file | |
| Stream utilities # TeeSource, LimitingSource, DepletingSource, ReportingSink | |
| internal/ui/ # Android MVVM UI | |
| MainActivity # Transaction list (singleTask, separate task affinity) | |
| TransactionActivity # Detail view: Overview + Request + Response tabs | |
| *ViewModel classes # LiveData from repository, filtering by code/path | |
| ``` |
🧰 Tools
🪛 markdownlint-cli2 (0.22.1)
[warning] 7-7: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@library/CLAUDE.md` around lines 7 - 32, The markdown block containing the
ASCII architecture diagram (the fenced code block that starts with ``` and lists
entries like ChuckerInterceptor, ChuckerCollector, RetentionManager,
BodyDecoder, RequestProcessor, ResponseProcessor, MainActivity,
TransactionActivity) is missing a language tag and triggers markdownlint MD040;
update the fenced code block opening from ``` to ```text (or ```plaintext) so
the linter recognizes it as a plain text block and the diagram lines (e.g.,
ChuckerInterceptor, ChuckerCollector, RequestProcessor, ResponseProcessor,
MainActivity, TransactionActivity) remain unchanged.
📷 Screenshots
📄 Context
📝 Changes
📎 Related PR
🚫 Breaking
🛠️ How to test
⏱️ Next steps
Summary by CodeRabbit