The easiest way to get started with Svelte

This'll only take a minute.

Svelte is a new kind of framework. Rather than putting a <script src='svelte.js'> tag on the page, or bringing it into your app with import or require, Svelte is a compiler that works behind the scenes to turn your component files into beautifully optimised JavaScript.

Because of that, getting started with it can be a little bit confusing at first. How, you might reasonably ask, do you make a Svelte app?

1. Use the REPL

The Svelte REPL is the easiest way to begin. You can choose from a list of examples to get you started, and tweak them until they do what you want.

At some point, your app will outgrow the REPL. Click the download button to save a svelte-app.zip file to your computer and uncompress it.

Open a terminal window and set the project up...

cd /path/to/svelte-app
npm install

...then start up a development server:

npm run dev

This will serve your app on localhost:5000 and rebuild it with Rollup every time you make a change to the files in svelte-app/src.

2. Use degit

When you download from the REPL, you're getting a customised version of the sveltejs/template repo. You can skip messing around with zip files by using degit, a project scaffolding tool.

In the terminal, install degit globally (you only need to do this once):

npm install -g degit

After that, you can instantly create a new project like so:

degit sveltejs/template my-new-project
cd my-new-project

npm install
npm run dev

Once you've tinkered a bit and understood how everything fits together, you can fork sveltejs/template and start doing this instead:

degit your-name/template my-new-project

And that's it! Do npm run build to create a production-ready version of your app, and check the project template's README for instructions on how to easily deploy your app to the web with Now or Surge.

You're not restricted to using Rollup — there are also integrations for webpack, Browserify and others, or you can use the Svelte CLI or the API directly. If you make a project template using one of these tools, please share it with the Svelte Discord chatroom, or via @sveltejs on Twitter!