Explain Code
Provide a clear, thorough explanation of the specified code.
Input
The user will provide one of:
-
A file path: /explain src/auth/jwt.ts
-
A file path with line range: /explain src/auth/jwt.ts:45-80
-
A function/class name: /explain parseToken
-
Just /explain — explain the currently open or most recently discussed file
Explanation Structure
- Overview (2-3 sentences)
What does this code do at a high level? What problem does it solve?
- Key Components
Break down the major parts:
Function: functionName
Purpose: One sentence description
Parameters:
param1(type) — what it's forparam2(type) — what it's for
Returns: What and when
Side effects: Any mutations, API calls, state changes
- Control Flow
Explain the execution path:
-
First, it does X
-
Then checks Y
-
If Y is true, Z happens
-
Otherwise, W happens
Use a simple flowchart for complex logic:
Input -> Validate -> Transform -> Output | Error -> Log -> Return null
- Dependencies
What does this code depend on?
-
External libraries
-
Internal modules
-
Environment variables
-
Database/API connections
- Gotchas & Edge Cases
Things that might surprise someone:
-
Non-obvious behavior
-
Edge cases handled (or not handled)
-
Performance considerations
-
Known limitations
- Usage Example
Show how to use this code:
// Example usage const result = functionName(arg1, arg2);
Tone
-
Assume the reader is a competent developer unfamiliar with this specific code
-
Avoid jargon unless defining it
-
Use "this code" not "the code" for clarity
-
Be concise but complete