diff --git a/claude/code/commands/explain.md b/claude/code/commands/explain.md new file mode 100644 index 0000000..a86bd1d --- /dev/null +++ b/claude/code/commands/explain.md @@ -0,0 +1,41 @@ +--- +name: explain +description: Explain code, errors, or stack traces in context +--- + +# Explain + +This command provides context-aware explanations for code, errors, and stack traces. + +## Usage + +- `/core:explain file.php:45` - Explain code at a specific line. +- `/core:explain error "error message"` - Explain a given error. +- `/core:explain stack "stack trace"` - Explain a given stack trace. + +## Code Explanation (`file:line`) + +When a file path and line number are provided, follow these steps: + +1. **Read the file**: Read the contents of the specified file. +2. **Extract context**: Extract a few lines of code before and after the specified line number to understand the context. +3. **Analyze the code**: Analyze the extracted code block to understand its purpose and functionality. +4. **Provide an explanation**: Provide a clear and concise explanation of the code, including its role in the overall application. + +## Error Explanation (`error`) + +When an error message is provided, follow these- steps: + +1. **Analyze the error**: Parse the error message to identify the key components, such as the error type and location. +2. **Identify the cause**: Based on the error message and your understanding of the codebase, determine the root cause of the error. +3. **Suggest a fix**: Provide a clear and actionable fix for the error, including code snippets where appropriate. +4. **Link to documentation**: If applicable, provide links to relevant documentation that can help the user understand the error and the suggested fix. + +## Stack Trace Explanation (`stack`) + +When a stack trace is provided, follow these steps: + +1. **Parse the stack trace**: Break down the stack trace into individual function calls, including the file path and line number for each call. +2. **Analyze the call stack**: Analyze the sequence of calls to understand the execution flow that led to the current state. +3. **Identify the origin**: Pinpoint the origin of the error or the relevant section of the stack trace. +4. **Provide an explanation**: Explain the sequence of events in the stack trace in a clear and understandable way.