20 of the best prompts for developers, step by step across 4 stages. Works with ChatGPT, Claude, and Gemini.
20 of the best prompts for developers, step by step across 4 stages. Works with ChatGPT, Claude, and Gemini.
Developers spend as much time reading, reviewing, and explaining code as they do writing it. These prompts cover the four workflows where AI adds the most value: generating correct code from clear requirements, debugging systematically, reviewing for real problems, and producing documentation that does not lie. Built across 4 distinct stages covering Write and Structure Code, Debug and Fix Issues, Review and Optimize Code and more, this guide gives you one expert prompt per step so you never have to write from scratch or guess what the AI needs. The prompts work in ChatGPT, Claude, and Gemini and are designed to get usable output on the first try.
Getting a solid first draft quickly lets you focus on the real problem. These prompts help you write code that is correct, readable, and structured for the task at hand.
Generate function from requirements
Write a [LANGUAGE] function that does the following: [DESCRIBE BEHAVIOR IN PLAIN ENGLISH]. Requirements: [LIST ANY CONSTRAINTS, E.G. MUST HANDLE NULL INPUT, MUST NOT USE LIBRARY X, MUST RUN IN O(N) TIME]. Include the function, a brief explanation of the approach, and three test cases covering the happy path and two edge cases.
Refactor code for readability
Refactor this code to be cleaner and more readable without changing its behavior. Improve variable and function names, break up long functions, remove duplication, and add comments only where the logic is genuinely non-obvious. Show me the refactored version and explain the three most significant changes you made: [PASTE CODE]
Convert pseudocode to working code
Convert this pseudocode or description into working [LANGUAGE] code: [PASTE PSEUDOCODE OR DESCRIPTION]. The code should handle edge cases including [LIST EDGE CASES], follow the conventions of [FRAMEWORK OR CODEBASE STYLE IF KNOWN], and include inline comments for any logic that is not immediately obvious.
Build API endpoint
Write a [LANGUAGE/FRAMEWORK] API endpoint for [DESCRIBE THE ENDPOINT PURPOSE]. It should: accept [DESCRIBE INPUT FORMAT AND VALIDATION], perform [DESCRIBE BUSINESS LOGIC], return [DESCRIBE RESPONSE FORMAT], and handle [DESCRIBE ERROR CASES]. Include the route handler, input validation, error handling, and a brief description of the response schema.
Write unit tests for function
Write unit tests for the following function in [LANGUAGE/TESTING FRAMEWORK]: [PASTE FUNCTION]. Cover: the happy path with typical inputs, edge cases including [LIST SPECIFIC CASES], error cases where the function should throw or return an error, and any boundary conditions. Each test should have a clear, descriptive name.
The fastest way through a bug is a systematic diagnosis, not trial and error. These prompts help you understand what is actually happening before you change anything.
Diagnose error from stack trace
Here is an error and stack trace: [PASTE ERROR AND STACK TRACE]. Explain what this error means in plain language, where it is originating, and the most likely causes ranked by probability. For the top two causes, tell me exactly what to check first.
Explain unexpected behavior
My code is supposed to [DESCRIBE EXPECTED BEHAVIOR]. Instead it is [DESCRIBE ACTUAL BEHAVIOR]. Here is the relevant code: [PASTE CODE]. Walk through what the code actually does step by step and identify the exact point where the behavior diverges from my intention.
Fix bug without breaking other code
Here is a bug in my code: [DESCRIBE THE BUG]. Here is the current code: [PASTE CODE]. Write a fix that addresses the root cause without breaking other functionality. Explain what was wrong, why your fix addresses it, and what other code paths I should test to confirm nothing else broke.
Debug intermittent issue
I have an intermittent bug that does not reproduce consistently. What I know: [DESCRIBE SYMPTOMS, FREQUENCY, AND CONDITIONS]. The code in the area I suspect: [PASTE CODE]. What are the most common causes of intermittent bugs like this? What logging or assertions should I add to capture more information the next time it occurs?
Identify root cause versus symptom
I keep fixing this bug but it comes back in different forms. The symptom is: [DESCRIBE SYMPTOM]. The fixes I have tried: [LIST FIXES]. Help me identify the root cause rather than the symptom. What structural issue in the code keeps producing this class of bug, and how do I eliminate it at the source?
Code review is where latent problems get caught. These prompts make reviews more systematic and help you find problems that manual reading misses.
Security review for vulnerabilities
Review this code for security vulnerabilities including SQL injection, XSS, CSRF, insecure direct object references, hardcoded credentials, and missing input validation. For each issue, explain the attack vector, the severity, and the specific fix: [PASTE CODE]
Performance review for bottlenecks
Review this code for performance issues: unnecessary loops, repeated computations, N+1 queries, blocking operations, or memory leaks. For each issue, estimate the impact at scale and write the optimized version: [PASTE CODE]
Review for code maintainability
Review this code for maintainability problems: unclear naming, functions doing too much, excessive coupling, missing abstractions, and anything that will make this hard to modify in six months. Suggest specific refactors with reasoning: [PASTE CODE]
Self-review checklist before submitting PR
I am about to submit a pull request for [DESCRIBE CHANGES]. Run a pre-submission checklist covering: correctness and edge cases, security implications, performance at scale, test coverage, documentation, and anything a reviewer is likely to flag. Tell me what I should fix before submitting.
Write constructive review comment
I need to flag this issue in a code review: [DESCRIBE ISSUE]. The code is: [PASTE CODE]. Write a review comment that explains the problem, the reason it matters, and suggests the fix. The developer is [JUNIOR/SENIOR/PEER]. The comment should be specific and constructive, not vague or harsh.
Documentation that does not match the code is worse than no documentation. These prompts help you write docs that stay accurate and plan systems before building them.
Write function and API documentation
Write clear documentation for the following code. Include: a plain-language description of what it does, the parameters with types and valid values, the return value and structure, error cases and what triggers them, and one usage example: [PASTE FUNCTION OR API ENDPOINT]
Explain codebase to new developer
Write a technical onboarding explanation for a new developer joining this project. Based on this code section: [PASTE CODE]. Explain: what this module or service does, how data flows through it, the key design decisions and why they were made, and the most important things a new developer needs to understand before making changes.
Plan architecture for new feature
I need to add [DESCRIBE FEATURE] to an existing [DESCRIBE SYSTEM]. The current architecture is: [DESCRIBE OR PASTE RELEVANT PARTS]. Propose an architecture for this feature covering: where the logic should live, what new components or tables are needed, how it integrates with existing code, and what the main technical risks are.
Write technical design document
Write a technical design document for [DESCRIBE FEATURE OR SYSTEM]. Include: problem statement, proposed solution overview, data model or schema changes, API or interface design, key technical decisions and alternatives considered, risks and mitigations, and a rough implementation plan. Audience is the engineering team.
Write commit message or PR description
Write a clear commit message and pull request description for the following change: [DESCRIBE WHAT YOU CHANGED AND WHY]. The PR description should cover: what changed, why it was needed, how to test it, and any migration steps or breaking changes. The commit message should follow [CONVENTIONAL COMMITS / YOUR PROJECT'S CONVENTION].
Generating boilerplate, writing tests for known inputs, refactoring for clarity, explaining unfamiliar code, and writing documentation. AI is less reliable for complex algorithmic problems, architecture decisions, and anything requiring deep knowledge of your specific codebase and business logic. Always review output before committing.
Be specific. Include the language, framework, constraints, and the exact behavior you need. Provide the existing code when asking for a fix or refactor. The vaguer the prompt, the more generic the output. These prompts are written with explicit placeholders to force specificity.
Yes, especially for diagnosing errors from stack traces, understanding unfamiliar code paths, and identifying the root cause of intermittent issues. Paste the error, the relevant code, and describe the symptoms. AI can often surface the right hypothesis faster than manual trace-through.
Use it as a first pass for systematic checks: security, performance, and naming. AI catches patterns reliably. It is less reliable for architectural judgment and business logic correctness. Treat AI review as a supplement to, not a replacement for, human review.
Accepting generated code without reading it. AI produces plausible-looking code that can have subtle bugs, security issues, or incorrect assumptions about your codebase. Read every line before running it, and write tests to confirm it does what you intended.
AI Prompts for Resolving Conflicting API Routes
Lovable may generate API endpoints or page routes that conflict with existing ones, causing unexpected behavior in your application.
See promptsAI Prompts for Eliminating Unnecessary Abstraction Layers
Lovable creates wrapper functions or utility layers for logic used only once, causing unnecessary complexity.
See promptsAI Prompts for Managing Context Window Limits
Bolt runs out of context mid-task, causing it to lose progress on large codebases.
See prompts