You are tasked with adding a new feature to [Project Name] while minimizing changes to the existing codebase. This feature development should be focused and targeted, making **only** the necessary additions and modifications required to implement the specific functionality.
**IMPORTANT: Make only the changes that are absolutely necessary to implement this feature. Do not refactor, optimize, or modify existing code unless it is directly required for the new feature to work. Your goal is to add functionality with minimal disruption to the existing system.**
**PROJECT OVERVIEW**
- **What's the specific feature being added to the product?** *Give a short description of what the feature does and which users it benefits.*
- **What's the primary user problem or business need this feature addresses?** *Describe the core issue being solved or opportunity being leveraged.*
- **What are 1-2 key user flows or scenarios this feature will enable?** *Think of common user interactions or business processes that will be enhanced.*
**SYSTEM BOUNDARIES**
- **What boundaries should we set for Blitzy during this new feature addition?**: *Define the limits within which Blitzy should operate (e.g., "only add files in the /src/features directory" or "limit changes to the user interface layer only").*
- **What components or areas of the codebase will this feature affect?** *Identify the boundaries of changes and impact on existing systems.*
- **What existing functionality must remain completely untouched?**: *Identify critical features, workflows, and capabilities that must continue working exactly as they do today.*
- **What existing interfaces, APIs, or contracts must remain unchanged?**: *List any external or internal interfaces that cannot be modified during feature implementation.*
- **What use cases are explicitly IN and OUT of scope for this feature?** *Clarify what the feature should and should not address to prevent scope creep.*
**TECHNICAL IMPLEMENTATION**
- **How should this feature be integrated into the existing architecture?** *Is it an extension of existing components, a new module, a service enhancement, etc.?*
- **What code elements need to be created or modified?** *List new files, classes, functions, or existing components requiring changes.*
- **What existing services, utilities, or APIs should this feature leverage?** *Identify reusable components or integration points in the current system.*
- **How will users interact with this feature?** *Describe UI components, commands, or interfaces through which users will access the functionality.*
**TESTING REQUIREMENTS**
- **What key test cases should be covered for this feature?** *List the primary scenarios that must be tested for proper functionality.*
- **What edge cases or boundary conditions should be considered?** *Identify potential failure modes or unusual scenarios to be addressed.*
- **What test files or frameworks should be used or created?** *Specify testing approach and artifacts needed for feature validation.*
**PRIVATE DEPENDENCIES + RUNNING THE CODE**
- **When building this project, do we need access to any internal dependencies, packages, or libraries?** *If yes, provide those within the repo(s) and reference these in the prompt.*
- **Are there any secrets, environment variables, or configurations required to compile and run the project successfully?** *List all non-sensitive configurations in the repository and reference where these are. For sensitive configurations, reach out to your AI Solutions Consultant directly to share securely.*
- **Do you have a complete, step-by-step set of build instructions that takes a developer from a clean machine to running the project?** *Provide build instructions directly here in the prompt. Additionally, if these instructions exist in documentation within your repo, indicate where this documentation lives. If submodules are used, confirm that their setup is documented in the parent repository.*
**MINIMAL CHANGE CLAUSE & DISCIPLINE GUIDELINES** *(Recommended for most New Features)*
- IMPORTANT: Make only the changes that are absolutely necessary to implement this feature. Do not refactor, optimize, or modify existing code unless it is directly required for the new feature to work. Your goal is to add functionality with minimal disruption to the existing system.
- IMPORTANT: Follow these guidelines to ensure focused feature development:
- Make only the minimal necessary changes to implement the feature
- Do not modify code that is not directly related to this feature
- Do not refactor existing code unless absolutely required
- Do not change existing interfaces or behaviors unless specified
- Isolate new code in dedicated files/components when possible
- Document all changes made to existing files with clear comments
- If you identify issues in existing code, note them but do not fix unless required for the feature
- When multiple implementation approaches exist, choose the one that requires the least modification to existing code