Developing software with the Amazon Q Developer Agent for software development - Amazon Q Developer

Developing software with the Amazon Q Developer Agent for software development

The Amazon Q Developer Agent for software development can help you develop code features or make code changes to projects in your integrated development environment (IDE). You explain the feature you want to develop, and Amazon Q uses the context of your current project to generate an implementation plan and the accompanying code to implement the feature. Amazon Q can help you build AWS projects or your own applications.

You can start an entirely new project, or work on an open project in your IDE. When you develop in an existing project, Amazon Q uses all files in your workspace root as context to develop a plan and generate code.

To get started, open up a new or existing project and enter /dev in the Amazon Q chat panel. A new chat tab opens where you interact with Amazon Q to generate an implementation plan and new code for your feature.

Develop features with /dev

To develop a feature in your IDE, complete the following steps.

  1. In your IDE, open a new or existing project or workspace where you want to develop features.

  2. Choose the Amazon Q extension, and then choose Open Chat Panel. Enter /dev in the Amazon Q chat panel that opens. You can also type your feature description directly after /dev.

  3. A new tab opens. Enter a description of the feature that you want to develop or the issue that you want to resolve. You can provide a brief overview of a task, or add more details. Amazon Q uses your description and the code in your project to come up with an implementation plan.

    Following is an example of a code change you can ask Amazon Q to implement:

    Create a new REST API endpoint /api/authenticate to handle user authentication. This endpoint should accept POST requests with user credentials and return a JWT token upon successful authentication. Additionally, update the user management system to integrate with the new authentication endpoint and enforce authentication for relevant API endpoints.

  4. Amazon Q responds with an implementation plan, including the code updates that it would make to complete the task you described.

  5. Review the implementation plan that Amazon Q generates. If you want to change anything about the plan, enter modifications or more details to clarify what you want to achieve.

  6. When you're satisfied with the implementation plan, choose Generate code. Amazon Q generates new code and proposes updates to your files based on the implementation plan. This might take a few minutes.

  7. After Amazon Q has generated the code for your feature, it provides a list of files with proposed changes. Choose a file to view a file diff with the changes.

  8. To accept the changes and update your file, choose Accept. To reject the changes to the file, choose Reject.

    If you aren’t satisfied with the proposed changes, you can provide feedback in the chat panel on what can be improved. Amazon Q generates new code based on your feedback. When the generated code meets your requirements, choose Accept to update the code in your workspace.

  9. To develop another feature with Amazon Q in the same chat tab, choose Discuss a new plan and repeat these steps. Your previous conversation and implementation plan aren't used as context for the new plan.

Best practices

To make the most out of the Amazon Q Developer Agent for software development, follow these best practices:

  • Provide a detailed description of the new feature or code changes you want to make, including the specifics of what the code should achieve. This allows Amazon Q to create a comprehensive implementation plan and code changes that can be implemented. For examples, see Example tasks.

  • Your feature shouldn’t require updates to more than 5 files at a time. Asking Amazon Q to make larger changes might impact the quality and manageability of the implementation of your feature. If your file diff includes changes to many files, try reducing the scope of your feature description.

Example tasks

Following are example feature development tasks you can ask the Amazon Q Developer Agent for software development to perform, with the corresponding description you might provide.

  • Update CSS Styles for Responsive Layout: Resolve the issue preventing users from uploading profile images. Investigate the file upload process, ensure proper file type validation, and address any server-side errors preventing successful uploads.

  • Fix User Profile Image Upload: Enhance the responsiveness of the application's layout by updating CSS styles. Focus on adjusting the layout for different screen sizes, ensuring optimal display across various devices.

  • Refactor Code for Code Readability: Improve the readability of a specific code module by refactoring it. Break down complex functions into smaller, more manageable units, and apply meaningful variable and function names for better clarity.

  • Implement Input Validation for Contact Form: Add client-side and server-side input validation to the contact form to prevent submission of empty or invalid data. Display appropriate error messages to users for any validation failures.

  • Resolve Broken Links in Navigation Menu: Investigate and fix broken links in the navigation menu of the application. Update the URLs or routes to ensure all navigation links lead to the correct pages.

  • Optimize Image Loading for Faster Page Loads: Optimize image loading on key pages of the application to reduce page load times. Implement lazy loading or asynchronous loading techniques to prioritize the display of visible content.

  • Add Error Logging for Critical API Endpoints: Enhance error handling by implementing logging for critical API endpoints. Log relevant error details such as request parameters and stack traces to facilitate debugging and troubleshooting.

  • Update Documentation for API Endpoints: Review and update the documentation for existing API endpoints to reflect recent changes or additions. Ensure accuracy and completeness of information for developers consuming the API.

  • Refactor Database Queries for Efficiency: Analyze and optimize database queries to improve efficiency and reduce resource consumption. Identify and eliminate redundant queries, optimize indexing, and consider caching strategies where applicable.

Quotas

The Amazon Q Developer Agent for software development maintains the following quotas:

  • Implementation plans per task – The number of implementation plans the Amazon Q Developer Agent for software development can create for a given development task, including the initial plan.

  • Code generations per task – The number of times the Amazon Q Developer Agent for software development can generate code for a given development task, including the initial code generation.

  • Code project size – The maximum size of the code file or folder that the Amazon Q Developer Agent for software development can use as context to generate new code.

Amazon Q Developer Agent for software development Quotas
Resource Quota
Implementation plans per task 10
Code generations per task 3
Code project size

200 MB uncompressed

50 MB compressed