BetaPublic beta — Read the release notes
Documentation

Create a Project from a Template

solidiom create scaffolds a new Solid application from a template, with dependencies pre-configured and ready for solidiom add.

Basic Usage

solidiom create my-app

This starts an interactive prompt flow to select a template, project name, and styling profile.

Flags

FlagDescription
--templateTemplate to scaffold from
--nameProject name (also the destination directory)
--package-managerPackage manager: npm, pnpm, yarn, bun
--stylingStyling profile: css, tailwind, unocss
--no-installSkip running the package manager install step
--yesSkip all prompts; fail if required flags are missing
--forceScaffold into a non-empty destination directory
--jsonOutput as JSON

Available Templates

TemplatePackageDescription
vite-solid-router@solidiom/template-vite-solid-routerClient-only Solid starter with Vite and Solid Router
tanstack-start-solid@solidiom/template-tanstack-start-solidFull-stack starter with TanStack Start and SSR

Vite + Solid Router

The fastest path to a working Solidiom project without server-side rendering. Includes two routes, client-side navigation, and a styled Solidiom primitive.

solidiom create my-app --template vite-solid-router --yes

TanStack Start + Solid

A full-stack template with server-side rendering, suitable for production applications that need SSR.

solidiom create my-app --template tanstack-start-solid --yes

Interactive vs Non-Interactive

When run interactively, solidiom create prompts for template, project name, and styling profile. Pass --yes for non-interactive mode, which requires all values from flags:

solidiom create my-app --template vite-solid-router --styling tailwind --yes

Without --yes and without a TTY, the command fails if --template or --name are missing.

Destination Safety

solidiom create refuses to scaffold into:

  • A non-empty directory (unless --force is passed)
  • The user’s home directory
  • The filesystem root
  • The monorepo root
  • Any path that escapes the current working directory (path traversal protection)

Project Name Validation

Project names follow npm naming rules:

  • Lowercase only
  • May be scoped (@scope/name)
  • Allowed characters: [a-z0-9-._~]
  • Must not start with . or _
  • Maximum 214 characters

Cleanup on Cancellation

If you cancel the interactive prompts or send SIGINT during scaffolding, the cleanup journal removes only the directories that create made. Pre-existing directories and files are never touched. If the package manager install fails, all scaffolded files are rolled back.