Skip to content

Starter Templates

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

#TemplateDescriptionTagsGitHub Repo
1Expo AppCross-platform mobile apps with Expomobile, expo, android, iphoneAmplytic-Labs/Expo-Starter-Template
2Basic AstroFast static websites with Astroastro, blog, performancexKevIsDev/amplify-astro-basic-template
3NextJS ShadcnFullstack Next.js with shadcn/uinextjs, react, typescript, shadcn, tailwindxKevIsDev/amplify-nextjs-shadcn-template
4Vite ShadcnFullstack Vite with shadcn/uivite, react, typescript, shadcn, tailwindxKevIsDev/vite-shadcn
5Qwik TypeScriptResumable apps with Qwikqwik, typescript, performance, resumablexKevIsDev/amplify-qwik-ts-template
6Remix TypeScriptFullstack apps with Remixremix, typescript, fullstack, reactxKevIsDev/amplify-remix-ts-template
7SlidevDeveloper presentations with Markdownslidev, presentation, markdownxKevIsDev/amplify-slidev-template
8SvelteKitFast web apps with SvelteKitsvelte, sveltekit, typescriptamplify-sveltekit-template
9Vanilla ViteMinimal vanilla JavaScriptvite, vanilla-js, minimalxKevIsDev/vanilla-vite-template
10Vite ReactReact + Vite + TypeScriptreact, vite, frontend, website, appxKevIsDev/amplify-vite-react-ts-template
11Vite TypeScriptTypeScript + Vite minimalvite, typescript, minimalxKevIsDev/amplify-vite-ts-template
12Vue.jsVue.js with modern toolingvue, typescript, frontendxKevIsDev/amplify-vue-template
13Angular StarterAngular with TypeScript best practicesangular, typescript, frontend, spaxKevIsDev/amplify-angular-template
14SolidJS TailwindLightweight SolidJS + TailwindsolidjsxKevIsDev/solidjs-ts-tw

Template categories

Templates are grouped by purpose based on their tags:

Template selection flow

When you send a prompt that implies building a new project:

  1. AI analyzes your prompt : selectStarterTemplate() sends your message to /api/llmcall
  2. Template matching : The LLM picks the best template from the XML-tagged list
  3. Special "blank" template : For file generation tasks (docx, pdf, xlsx, pptx, html, svg, csv, json) that don't need a web app scaffold
  4. Template fetching : fetchRepoContents(githubRepo) retrieves files from GitHub
  5. File processing : .git/ and .amplify/ files filtered; .amplify/ignore marks files as read-only
  6. 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 zipball

    File size limit: 100KB per file (lock files exempt). GitHub token supported via GITHUB_TOKEN env 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