Bless
Convierte un proyecto SvelteKit existente y sin modificar en un proyecto VelaStack — el equivalente de vela create para un repositorio que ya existe.
Hay dos caminos hacia un proyecto existente. vela bless es la conversión completa: Tailwind, shadcn-svelte y su components.json, el layout y las rutas de Vela, y el backend de PocketBase. vela enable backend añade solo PocketBase y la infraestructura de tests de servidor, y deja todo lo demás tal cual. Buena parte de Vela no necesita ninguno de los dos; consulta Sin bendecir más abajo.
Sintaxis
$ vela bless [path] $ vela bless # el proyecto en el directorio actual
$ vela bless ./my-app Se te pedirá el correo electrónico y la contraseña del administrador para la nueva base de datos PocketBase. Bendecir un proyecto que ya ha sido bendecido se rechaza.
Opciones
--template <type>- Plantilla desde la que generar, por defectominimal. Solo se pueden usar plantillas con backend — bendecir es lo que añade PocketBase a un proyecto.--email <email>- Correo electrónico del usuario administrador--password <password>- Contraseña del usuario administrador, de al menos 8 caracteres--install <package-manager>- Instala las dependencias con el gestor de paquetes indicado, o--no-installpara omitirlo--skip-routes- Conservasrc/routesaunque parezca intacto--force-routes- Reemplazasrc/routescon la plantilla de Vela sin detección
--skip-routes y --force-routes son mutuamente excluyentes.
Qué añade
Los archivos que Vela posee por completo se escriben directamente. Si tu proyecto ya tiene uno, se conserva y se te indica qué habría contenido la copia de Vela:
src/hooks.server.ts el hook handlePocketbase
src/lib/server/workflows.ts el cliente de workflows y el worker que inicia hooks.server.ts
src/app.css importaciones de Tailwind y tokens del tema
src/lib/utils.ts el helper cn y utilidades de tipos de componentes
src/lib/index.ts un marcador de posición de $lib
src/lib/site.ts el nombre de la aplicación, tomado de package.json, y su URL
components.json la configuración de shadcn-svelte que lee `vela ui add`
.npmrc engine-strict=true
.ignore exclusiones de búsqueda para archivos generados
vitest.config.ts el proyecto de tests de servidor que ejecuta `vela test:server` Los directorios se añaden junto a los que ya tienes: src/lib/components, src/lib/workflows, data, test y static. La configuración se fusiona en lugar de sobrescribirse:
svelte.config.js
vite.config.ts
tsconfig.json
package.json
.gitignore
src/app.d.ts El adaptador de SvelteKit de tu proyecto se conserva: si package.json ya incluye uno, no se añade el @sveltejs/adapter-node de la plantilla. .gitignore solo recibe las entradas que le faltan, entre ellas /data/* para la base de datos local (sin dejar de versionar data/fixtures, data/seeds y data/hooks) y /backups.
Rutas
Vela examina src/routes para decidir si sigue siendo el marcador de posición intacto de npx sv create. Si lo es, se reemplaza con las rutas de la plantilla; si has escrito algo real, se deja tal cual. Anula la detección en cualquier sentido con --skip-routes o --force-routes.
Sin bendecir
Esto funciona en un proyecto recién salido de npx sv create, sin ninguna preparación:
vela generate schemayvela generate form. Sin shadcn-svelte el formulario se escribe en HTML plano.vela enableparai18n,ai,analytics,content-negotiationycmsvela legal privacyyvela legal terms,vela routesyvela i18nvela deployy los comandos de servidor:env,status,logsyrollback
Las rutas generadas van directamente bajo src/routes en un proyecto sin los grupos (public) y (app) de Vela.
Estos escriben marcado de shadcn-svelte o manejan shadcn-svelte directamente, así que necesitan un components.json y el paquete shadcn-svelte:
vela uivela enable blogvela enable authy lo que se construye sobre él:api-keys,notifications,teams,paymentsysubscriptionsvela generate scaffold --remote
En un proyecto que no los tiene se niegan antes de cambiar nada, e imprimen los dos comandos que lo preparan:
$ npx sv add tailwindcss
$ npx shadcn-svelte@latest init Los comandos que necesitan una base de datos lo dicen del mismo modo, y remiten a vela enable backend. Una vez ejecutado, vela generate scaffold también funciona sin shadcn-svelte, con sus páginas en HTML plano.