Amplify provides 13 starter templates to bootstrap your project. You can select one manually from the template grid, or let the AI pick the best template based on your prompt.
Template overview
Each template is a GitHub repository that Amplify fetches and injects into the WebContainer workspace. Templates define:
- Framework scaffolding : Pre-configured project structure
- Dependencies : Package.json with the right dependencies
- Start commands : Auto-detected setup and dev commands
AI-powered template selection
When you type a prompt like "Build a React todo app", Amplify sends your message to /api/llmcall with the starterTemplateSelectionPrompt. The LLM picks the best template from the list and returns <templateName>X</templateName> + <title>Y</title>. If parsing fails, it falls back to the "blank" template.
All 13 templates
| # | Template | Description | Tags | GitHub Repo |
| 1 | Expo App | Cross-platform mobile apps with Expo | mobile, expo, android, iphone | Amplytic-Labs/Expo-Starter-Template |
| 2 | Basic Astro | Fast static websites with Astro | astro, blog, performance | xKevIsDev/amplify-astro-basic-template |
| 3 | NextJS Shadcn | Fullstack Next.js with shadcn/ui | nextjs, react, typescript, shadcn, tailwind | xKevIsDev/amplify-nextjs-shadcn-template |
| 4 | Vite Shadcn | Fullstack Vite with shadcn/ui | vite, react, typescript, shadcn, tailwind | xKevIsDev/vite-shadcn |
| 5 | Qwik TypeScript | Resumable apps with Qwik | qwik, typescript, performance, resumable | xKevIsDev/amplify-qwik-ts-template |
| 6 | Remix TypeScript | Fullstack apps with Remix | remix, typescript, fullstack, react | xKevIsDev/amplify-remix-ts-template |
| 7 | Slidev | Developer presentations with Markdown | slidev, presentation, markdown | xKevIsDev/amplify-slidev-template |
| 8 | SvelteKit | Fast web apps with SvelteKit | svelte, sveltekit, typescript | amplify-sveltekit-template |
| 9 | Vanilla Vite | Minimal vanilla JavaScript | vite, vanilla-js, minimal | xKevIsDev/vanilla-vite-template |
| 10 | Vite React | React + Vite + TypeScript | react, vite, frontend, website, app | xKevIsDev/amplify-vite-react-ts-template |
| 11 | Vite TypeScript | TypeScript + Vite minimal | vite, typescript, minimal | xKevIsDev/amplify-vite-ts-template |
| 12 | Vue.js | Vue.js with modern tooling | vue, typescript, frontend | xKevIsDev/amplify-vue-template |
| 13 | Angular Starter | Angular with TypeScript best practices | angular, typescript, frontend, spa | xKevIsDev/amplify-angular-template |
| 14 | SolidJS Tailwind | Lightweight SolidJS + Tailwind | solidjs | xKevIsDev/solidjs-ts-tw |
Template categories
Templates are grouped by purpose based on their tags:
Mobile
Expo — cross-platform mobile apps with React Native and Expo Go.
Fullstack frameworks
Next.js, Remix — SSR, API routes, and full-stack capabilities.
Frontend frameworks
React, Vue, SvelteKit, Angular, SolidJS, Qwik — client-side rendering.
Static & minimal
Astro, Vanilla Vite, Vite TypeScript — lightweight setups.
UI library
Next.js Shadcn, Vite Shadcn — integrated with shadcn/ui components.
Presentation
Slidev — Markdown-based developer presentations.
Template selection flow
When you send a prompt that implies building a new project:
- AI analyzes your prompt :
selectStarterTemplate()sends your message to/api/llmcall - Template matching : The LLM picks the best template from the XML-tagged list
- Special "blank" template : For file generation tasks (docx, pdf, xlsx, pptx, html, svg, csv, json) that don't need a web app scaffold
- Template fetching :
fetchRepoContents(githubRepo)retrieves files from GitHub - File processing :
.git/and.amplify/files filtered;.amplify/ignoremarks files as read-only - Injection : Files wrapped in
<amplifyArtifact>XML and injected as the assistant message
GitHub template fetching
Two fetching methods based on environment:
Cloudflare Pages:
fetchRepoContentsCloudflare()— GitHub Contents API (tree + batch file fetch, 10 per batch)Non-Cloudflare:
fetchRepoContentsZip()— JSZip extraction of GitHub zipballFile size limit: 100KB per file (lock files exempt). GitHub token supported via
GITHUB_TOKENenv var.Template-specific instructions
Each template repo can include:
.amplify/ignore: Lists files the AI should not modify (e.g., config files, lock files).amplify/prompt: Provides template-specific instructions for the AI (e.g., "Use Expo Router for navigation")
These files are parsed during injection and added to the system prompt context.
Template UI
Two UI components handle template selection:
- StarterTemplates.tsx : Icon grid on the chat landing page showing template icons
- TemplatesModal.tsx : Full modal with search, list view, and "Create Blank" button
Each template icon links to /git?url=https://github.com/{githubRepo}.git which triggers template injection.
Auto-select template
By default, Amplify auto-selects the best template based on your prompt. You can disable this in Settings → Features → "Auto Select Template" toggle. When disabled, you'll always see the template selection modal first.
Learn about the Expo runtime