|
| 1 | +import { getCustomStaticPath } from '@/utils/getCustomStaticPath'; |
| 2 | + |
| 3 | +export const meta = { |
| 4 | + title: 'Pre-built Amplify workflows', |
| 5 | + description: 'Learn about the pre-built workflows available in AWS MCP Server for building Amplify applications.', |
| 6 | + route: '/[platform]/start/mcp-server/amplify-workflows', |
| 7 | + platforms: [ |
| 8 | + 'android', |
| 9 | + 'angular', |
| 10 | + 'flutter', |
| 11 | + 'javascript', |
| 12 | + 'nextjs', |
| 13 | + 'react', |
| 14 | + 'react-native', |
| 15 | + 'swift', |
| 16 | + 'vue' |
| 17 | + ] |
| 18 | +}; |
| 19 | + |
| 20 | +export const getStaticPaths = async () => { |
| 21 | + return getCustomStaticPath(meta.platforms); |
| 22 | +}; |
| 23 | + |
| 24 | +export function getStaticProps(context) { |
| 25 | + return { |
| 26 | + props: { |
| 27 | + platform: context.params.platform, |
| 28 | + meta |
| 29 | + } |
| 30 | + }; |
| 31 | +} |
| 32 | + |
| 33 | +AWS MCP Server includes pre-built workflows (called "Agent SOPs" in AWS terminology) that guide your AI coding assistant through complex Amplify development tasks. These workflows encode best practices and ensure consistent, production-ready implementations. |
| 34 | + |
| 35 | +This page describes the three main workflows available and shows you how to use them effectively. |
| 36 | + |
| 37 | +## Available workflows |
| 38 | + |
| 39 | +AWS MCP Server provides three pre-built workflows designed for different stages of Amplify development: |
| 40 | + |
| 41 | +| Workflow | Purpose | |
| 42 | +| --- | --- | |
| 43 | +| **Backend Implementation** | Set up authentication, data models, storage, functions, and AI features | |
| 44 | +| **Frontend Integration** | Connect your frontend framework to Amplify backend services | |
| 45 | +| **Deployment Guide** | Configure sandbox environments, production deployments, and CI/CD | |
| 46 | + |
| 47 | +## Backend Implementation workflow |
| 48 | + |
| 49 | +The Backend Implementation workflow helps you set up Amplify backend features following best practices. When you ask your AI assistant to implement a backend feature, it uses this workflow to guide the implementation. |
| 50 | + |
| 51 | +### Supported features |
| 52 | + |
| 53 | +<Accordion title="Authentication (Auth)" headingLevel="4"> |
| 54 | + |
| 55 | +The workflow guides you through setting up Amplify Auth, including: |
| 56 | + |
| 57 | +- Configuring sign-up and sign-in flows |
| 58 | +- Setting up multi-factor authentication (MFA) |
| 59 | +- Configuring social sign-in providers (Google, Facebook, Apple, Amazon) |
| 60 | +- Customizing authentication UI components |
| 61 | +- Implementing password policies and account recovery |
| 62 | + |
| 63 | +**Example prompt:** |
| 64 | +``` |
| 65 | +Set up authentication for my app with email sign-in and Google social login. |
| 66 | +``` |
| 67 | + |
| 68 | +</Accordion> |
| 69 | + |
| 70 | +<Accordion title="Data modeling (Data)" headingLevel="4"> |
| 71 | + |
| 72 | +The workflow helps you design and implement your data layer: |
| 73 | + |
| 74 | +- Creating GraphQL schemas with proper relationships |
| 75 | +- Setting up authorization rules for data access |
| 76 | +- Configuring real-time subscriptions |
| 77 | +- Implementing optimistic UI updates |
| 78 | +- Setting up conflict resolution for offline scenarios |
| 79 | + |
| 80 | +**Example prompt:** |
| 81 | +``` |
| 82 | +Create a data model for a blog with posts, comments, and user profiles. |
| 83 | +Posts should only be editable by their authors. |
| 84 | +``` |
| 85 | + |
| 86 | +</Accordion> |
| 87 | + |
| 88 | +<Accordion title="File storage (Storage)" headingLevel="4"> |
| 89 | + |
| 90 | +The workflow guides storage implementation: |
| 91 | + |
| 92 | +- Configuring S3 buckets with proper access controls |
| 93 | +- Setting up file upload and download functionality |
| 94 | +- Implementing access levels (public, protected, private) |
| 95 | +- Configuring file validation and size limits |
| 96 | + |
| 97 | +**Example prompt:** |
| 98 | +``` |
| 99 | +Add file storage so users can upload profile pictures with a 5MB limit. |
| 100 | +``` |
| 101 | + |
| 102 | +</Accordion> |
| 103 | + |
| 104 | +<Accordion title="Serverless functions (Functions)" headingLevel="4"> |
| 105 | + |
| 106 | +The workflow helps you create and deploy Lambda functions: |
| 107 | + |
| 108 | +- Setting up function triggers (API, scheduled, event-driven) |
| 109 | +- Configuring environment variables and secrets |
| 110 | +- Implementing function layers for shared code |
| 111 | +- Setting up proper IAM permissions |
| 112 | + |
| 113 | +**Example prompt:** |
| 114 | +``` |
| 115 | +Create a function that sends a welcome email when a new user signs up. |
| 116 | +``` |
| 117 | + |
| 118 | +</Accordion> |
| 119 | + |
| 120 | +<Accordion title="AI features (AI)" headingLevel="4"> |
| 121 | + |
| 122 | +The workflow guides AI/ML feature integration: |
| 123 | + |
| 124 | +- Setting up Amazon Bedrock for generative AI |
| 125 | +- Implementing text generation and summarization |
| 126 | +- Adding image analysis capabilities |
| 127 | +- Configuring conversation flows |
| 128 | + |
| 129 | +**Example prompt:** |
| 130 | +``` |
| 131 | +Add an AI feature that summarizes long articles for users. |
| 132 | +``` |
| 133 | + |
| 134 | +</Accordion> |
| 135 | + |
| 136 | +## Frontend Integration workflow |
| 137 | + |
| 138 | +The Frontend Integration workflow helps you connect your frontend application to Amplify backend services. It provides framework-specific patterns and best practices. |
| 139 | + |
| 140 | +### Framework patterns |
| 141 | + |
| 142 | +The workflow adapts its guidance based on your frontend framework: |
| 143 | + |
| 144 | +<Accordion title="React and Next.js" headingLevel="4"> |
| 145 | + |
| 146 | +- Setting up the Amplify client library |
| 147 | +- Using React hooks for authentication state |
| 148 | +- Implementing data fetching with proper loading states |
| 149 | +- Configuring server-side rendering (SSR) for Next.js |
| 150 | +- Using Amplify UI components |
| 151 | + |
| 152 | +**Example prompt:** |
| 153 | +``` |
| 154 | +Connect my React app to the Amplify backend and add a sign-in page. |
| 155 | +``` |
| 156 | + |
| 157 | +</Accordion> |
| 158 | + |
| 159 | +<Accordion title="Vue and Angular" headingLevel="4"> |
| 160 | + |
| 161 | +- Configuring Amplify with framework-specific patterns |
| 162 | +- Implementing authentication guards and state management |
| 163 | +- Setting up data binding with Amplify Data |
| 164 | +- Using framework-appropriate UI components |
| 165 | + |
| 166 | +**Example prompt:** |
| 167 | +``` |
| 168 | +Set up Amplify in my Vue app and create a protected dashboard route. |
| 169 | +``` |
| 170 | + |
| 171 | +</Accordion> |
| 172 | + |
| 173 | +<Accordion title="React Native" headingLevel="4"> |
| 174 | + |
| 175 | +- Configuring Amplify for mobile development |
| 176 | +- Implementing secure storage for tokens |
| 177 | +- Setting up push notifications |
| 178 | +- Handling offline scenarios with DataStore |
| 179 | + |
| 180 | +**Example prompt:** |
| 181 | +``` |
| 182 | +Add offline support to my React Native app so users can work without internet. |
| 183 | +``` |
| 184 | + |
| 185 | +</Accordion> |
| 186 | + |
| 187 | +<Accordion title="Flutter" headingLevel="4"> |
| 188 | + |
| 189 | +- Setting up Amplify Flutter packages |
| 190 | +- Implementing authentication flows |
| 191 | +- Configuring API and storage access |
| 192 | +- Using Amplify UI components for Flutter |
| 193 | + |
| 194 | +**Example prompt:** |
| 195 | +``` |
| 196 | +Set up authentication in my Flutter app with the Amplify Authenticator widget. |
| 197 | +``` |
| 198 | + |
| 199 | +</Accordion> |
| 200 | + |
| 201 | +<Accordion title="Swift (iOS)" headingLevel="4"> |
| 202 | + |
| 203 | +- Configuring Amplify Swift packages |
| 204 | +- Implementing async/await patterns for Amplify operations |
| 205 | +- Setting up Combine publishers for real-time updates |
| 206 | +- Using SwiftUI with Amplify |
| 207 | + |
| 208 | +**Example prompt:** |
| 209 | +``` |
| 210 | +Add real-time data sync to my SwiftUI app using Amplify DataStore. |
| 211 | +``` |
| 212 | + |
| 213 | +</Accordion> |
| 214 | + |
| 215 | +<Accordion title="Android (Kotlin)" headingLevel="4"> |
| 216 | + |
| 217 | +- Setting up Amplify Android libraries |
| 218 | +- Implementing coroutines for async operations |
| 219 | +- Configuring Jetpack Compose with Amplify |
| 220 | +- Handling Android lifecycle with Amplify |
| 221 | + |
| 222 | +**Example prompt:** |
| 223 | +``` |
| 224 | +Connect my Kotlin Android app to Amplify and implement user authentication. |
| 225 | +``` |
| 226 | + |
| 227 | +</Accordion> |
| 228 | + |
| 229 | +## Deployment Guide workflow |
| 230 | + |
| 231 | +The Deployment Guide workflow helps you deploy your Amplify application through different stages, from local development to production. |
| 232 | + |
| 233 | +### Sandbox environments |
| 234 | + |
| 235 | +The workflow guides you through setting up personal cloud sandbox environments for development: |
| 236 | + |
| 237 | +- Creating isolated sandbox environments |
| 238 | +- Configuring hot-reload for backend changes |
| 239 | +- Managing sandbox lifecycle |
| 240 | +- Sharing sandbox configurations with team members |
| 241 | + |
| 242 | +**Example prompt:** |
| 243 | +``` |
| 244 | +Set up a sandbox environment so I can test my backend changes. |
| 245 | +``` |
| 246 | + |
| 247 | +### Production deployment |
| 248 | + |
| 249 | +The workflow helps you deploy to production: |
| 250 | + |
| 251 | +- Configuring production-ready settings |
| 252 | +- Setting up custom domains |
| 253 | +- Implementing environment variables for different stages |
| 254 | +- Configuring monitoring and logging |
| 255 | + |
| 256 | +**Example prompt:** |
| 257 | +``` |
| 258 | +Deploy my app to production with a custom domain. |
| 259 | +``` |
| 260 | + |
| 261 | +### CI/CD integration |
| 262 | + |
| 263 | +The workflow guides continuous integration and deployment setup: |
| 264 | + |
| 265 | +- Configuring Amplify Hosting for automatic deployments |
| 266 | +- Setting up branch-based deployments (preview, staging, production) |
| 267 | +- Implementing pull request previews |
| 268 | +- Configuring build settings and environment variables |
| 269 | + |
| 270 | +**Example prompt:** |
| 271 | +``` |
| 272 | +Set up CI/CD so my app automatically deploys when I push to the main branch. |
| 273 | +``` |
| 274 | + |
| 275 | +## Practical example: Building a full-stack app |
| 276 | + |
| 277 | +Here's an example of how you might use AWS MCP Server to build a complete Amplify application. This demonstrates how the pre-built workflows guide your AI assistant through each step. |
| 278 | + |
| 279 | +### Step 1: Set up the backend |
| 280 | + |
| 281 | +Start by describing your application to your AI assistant: |
| 282 | + |
| 283 | +``` |
| 284 | +I want to build a task management app. Users should be able to: |
| 285 | +- Sign up and sign in with email |
| 286 | +- Create, edit, and delete their own tasks |
| 287 | +- Mark tasks as complete |
| 288 | +- See their tasks in real-time across devices |
| 289 | +``` |
| 290 | + |
| 291 | +Your AI assistant uses the **Backend Implementation workflow** to: |
| 292 | +1. Configure authentication with email sign-in |
| 293 | +2. Create a Task data model with proper authorization rules |
| 294 | +3. Set up real-time subscriptions for task updates |
| 295 | + |
| 296 | +### Step 2: Connect the frontend |
| 297 | + |
| 298 | +Next, ask your assistant to connect your frontend: |
| 299 | + |
| 300 | +``` |
| 301 | +Connect my React app to the backend. I want a sign-in page and a |
| 302 | +dashboard that shows the user's tasks. |
| 303 | +``` |
| 304 | + |
| 305 | +Your AI assistant uses the **Frontend Integration workflow** to: |
| 306 | +1. Install and configure Amplify libraries |
| 307 | +2. Set up the Authenticator component |
| 308 | +3. Create data fetching hooks for tasks |
| 309 | +4. Implement real-time updates in the UI |
| 310 | + |
| 311 | +### Step 3: Deploy the application |
| 312 | + |
| 313 | +Finally, deploy your application: |
| 314 | + |
| 315 | +``` |
| 316 | +Set up deployment so the app deploys automatically when I push to GitHub. |
| 317 | +Configure preview deployments for pull requests. |
| 318 | +``` |
| 319 | + |
| 320 | +Your AI assistant uses the **Deployment Guide workflow** to: |
| 321 | +1. Connect your GitHub repository to Amplify Hosting |
| 322 | +2. Configure branch-based deployments |
| 323 | +3. Set up pull request previews |
| 324 | +4. Configure production environment settings |
| 325 | + |
| 326 | +## Tips for effective prompts |
| 327 | + |
| 328 | +To get the best results from AWS MCP Server, keep these tips in mind: |
| 329 | + |
| 330 | +<Callout info> |
| 331 | + |
| 332 | +**Be specific about your requirements.** Instead of "add authentication," try "add authentication with email sign-in, Google social login, and MFA." |
| 333 | + |
| 334 | +</Callout> |
| 335 | + |
| 336 | +- **Describe the user experience** you want, not just the technical implementation |
| 337 | +- **Mention your framework** so the workflow can provide framework-specific guidance |
| 338 | +- **Ask follow-up questions** if you need clarification on any step |
| 339 | +- **Request explanations** if you want to understand why certain patterns are recommended |
| 340 | + |
| 341 | +## Next steps |
| 342 | + |
| 343 | +Now that you understand the pre-built workflows, try using them in your next Amplify project: |
| 344 | + |
| 345 | +1. [Set up AWS MCP Server](/[platform]/start/mcp-server/set-up-mcp/) if you haven't already |
| 346 | +2. Start a conversation with your AI assistant about what you want to build |
| 347 | +3. Let the pre-built workflows guide you through implementation |
| 348 | + |
| 349 | +For more information about specific Amplify features, explore the documentation: |
| 350 | + |
| 351 | +- [Authentication](/[platform]/build-a-backend/auth/) |
| 352 | +- [Data](/[platform]/build-a-backend/data/) |
| 353 | +- [Storage](/[platform]/build-a-backend/storage/) |
| 354 | +- [Functions](/[platform]/build-a-backend/functions/) |
0 commit comments