1.2 — Criando seu Projeto com sv create
Crie seu primeiro projeto SvelteKit usando a ferramenta oficial e entenda cada opcao do wizard interativo.
Objetivos da Aula
- Conhecer o
sv— a CLI oficial do Svelte - Criar um projeto SvelteKit com
pnpm dlx sv create - Entender cada opcao do wizard interativo
- Conhecer os add-ons disponiveis e quando usar cada um
- Rodar o servidor de desenvolvimento pela primeira vez
O que e o sv?
O sv e a ferramenta de linha de comando oficial do Svelte. Ela unifica tudo que voce precisa para trabalhar com projetos Svelte em um unico lugar.
Historicamente, o ecossistema Svelte tinha varias ferramentas separadas:
create-svelte— para criar projetossvelte-add— para adicionar funcionalidades (mantido pela comunidade)svelte-migrate— para migrar entre versoes
Agora, tudo isso vive dentro do sv.
sv create Cria um novo projeto SvelteKitsv add Adiciona funcionalidades a um projeto existentesv migrate Migra codigo entre versoes do SvelteCriando seu primeiro projeto
Abra o terminal e execute:
pnpm dlx sv create meu-projeto Esse comando vai iniciar um wizard interativo que guia voce pelas opcoes do projeto. Vamos entender cada etapa.
Etapa 1: Template do Projeto
A primeira pergunta e sobre qual template usar:
┌ Welcome to the Svelte CLI! (v0.6.x)
│
◇ Which template would you like?
│ ● SvelteKit minimal
│ ○ SvelteKit demo
│ ○ SvelteKit library As opcoes
svelte-package.Escolha: SvelteKit minimal
Etapa 2: Tipagem (TypeScript)
◇ Add type checking with Typescript?
│ ● Yes, using Typescript syntax
│ ○ Yes, using Javascript with JSDoc comments
│ ○ No As opcoes
TypeScript syntax — Seus arquivos usam a extensao .ts e componentes Svelte usam lang="ts":
<script lang="ts">
// tipagem direto no codigo
let nome: string = 'mundo'
</script> JSDoc comments — Seus arquivos continuam .js, mas voce adiciona tipos como comentarios:
// tipagem via comentarios JSDoc
/** @type {string} */
let nome = 'mundo' No — Sem tipagem. Nao recomendado, pois TypeScript ajuda muito a evitar erros.
Etapa 3: Add-ons
Essa e a etapa mais interessante. O sv permite configurar varias ferramentas no momento da criacao do projeto:
◇ Which add-ons would you like?
│ ◻ prettier
│ ◻ eslint
│ ◻ vitest
│ ◻ playwright
│ ◻ tailwindcss
│ ◻ drizzle
│ ◻ lucia
│ ◻ mdsvex
│ ◻ paraglide
│ ◻ storybook Voce pode selecionar multiplos add-ons usando a barra de espaco e confirmando com Enter.
Entendendo cada add-on
.svelte.class="bg-blue-500 text-white p-4". Muito popular e produtivo.O que selecionar para comecar?
Para este curso, vamos comecar com o essencial:
sv add.npx sv add tailwindcss, por exemplo. Nao precisa decidir tudo agora.Etapa 4: Instalacao das dependencias
Apos selecionar os add-ons, o wizard pergunta qual gerenciador de pacotes usar:
◇ Which package manager do you want to install dependencies with?
│ ○ npm
│ ● pnpm
│ ○ yarn
│ ○ bun Escolha pnpm. Ele e mais rapido, economiza espaco em disco e tem resolucao de dependencias mais segura que o npm. Veja a aula 1.4 para saber mais.
Passo a Passo Completo
Agora que voce entende cada opcao, vamos criar o projeto de fato:
# 1. Crie o projeto
pnpm dlx sv create meu-projeto Selecione:
- Template: SvelteKit minimal
- TypeScript: Yes, using Typescript syntax
- Add-ons: prettier e eslint
- Package manager: pnpm
# 2. Entre na pasta do projeto
cd meu-projeto
# 3. Inicie o servidor de desenvolvimento
pnpm dev Voce vera algo assim no terminal:
VITE v6.x.x ready in 534 ms
➜ Local: http://localhost:5173/
➜ Network: use --host to expose
➜ press h + enter to show help http://localhost:5173 no navegadorCriacao Direta (sem wizard)
Se voce ja sabe o que quer, pode pular o wizard passando as opcoes diretamente:
# Criar com template minimal e TypeScript
pnpm dlx sv create meu-projeto --template minimal --types ts
# Criar e ja adicionar Tailwind e Prettier
pnpm dlx sv create meu-projeto --template minimal --types ts --add prettier,tailwindcss
# Criar sem instalar dependencias (instalar manualmente depois)
pnpm dlx sv create meu-projeto --no-install pnpm create vite cria projetos Vite genericos (React, Vue, Svelte puro, etc.). Ja o pnpm dlx sv create cria projetos SvelteKit — que vem com roteamento, SSR, e toda a estrutura do framework. Para projetos Svelte serios, use sempre sv create.Adicionando funcionalidades depois: sv add
Esqueceu de adicionar Tailwind na criacao? Sem problema:
# Adicionar Tailwind a um projeto existente
pnpm dlx sv add tailwindcss
# Adicionar testes
pnpm dlx sv add vitest
# Adicionar multiplos add-ons de uma vez
pnpm dlx sv add prettier eslint O sv add modifica os arquivos necessarios automaticamente — instala dependencias, cria arquivos de configuracao e atualiza o que for preciso.
Scripts disponiveis
Apos criar o projeto, voce tem estes scripts no package.json:
# Iniciar servidor de desenvolvimento
pnpm dev
# Gerar build de producao
pnpm build
# Visualizar o build localmente
pnpm preview
# Verificar tipos TypeScript
pnpm check
# Rodar o linter (se adicionou ESLint)
pnpm lint
# Formatar codigo (se adicionou Prettier)
pnpm format O mais importante: pnpm dev
Este e o comando que voce mais vai usar. Ele inicia o servidor de desenvolvimento com:
- Hot Module Replacement (HMR) — alteracoes aparecem instantaneamente no navegador
- Compilacao sob demanda — so compila o que voce esta usando
- Deteccao de erros — erros aparecem direto no navegador e no terminal
pnpm dev
# Opcoes uteis:
pnpm dev --open
# Abre o navegador automaticamente
pnpm dev --port 3000
# Usa a porta 3000 em vez da 5173
pnpm dev --host
# Expoe na rede local (para testar no celular) Resumo
| Comando | O que faz |
|---|---|
pnpm dlx sv create | Cria novo projeto SvelteKit (interativo) |
pnpm dlx sv add | Adiciona funcionalidades a projeto existente |
pnpm dlx sv migrate | Migra codigo entre versoes do Svelte |
pnpm dev | Inicia servidor de desenvolvimento |
pnpm build | Gera build de producao |
Desafio da Aula
Objetivo
Criar seu primeiro projeto SvelteKit e confirmar que esta funcionando.
Instrucoes
- Abra o terminal
- Execute
pnpm dlx sv create meu-primeiro-svelte - Selecione: minimal, TypeScript, prettier + eslint, pnpm
- Entre na pasta e rode
pnpm dev - Acesse
http://localhost:5173no navegador
Spec de Verificacao
- O projeto foi criado sem erros
- O servidor de desenvolvimento esta rodando
- A pagina padrao do SvelteKit aparece no navegador
- O terminal mostra “ready in XXX ms”
Proxima aula: 1.3 — Estrutura de Arquivos do Projeto