@hailer/create-app
v2.0.2
Published
Scaffold a new Hailer app project.
Readme
@hailer/create-app
Scaffold a new Hailer app project.
Quick Start
npm create @hailer/app@latest
cd my-app
npm install
npm run devNode.js 20.19+ required (Vite 8 dropped Node 18 support).
Scaffolding
npm create @hailer/app@latestNon-interactive (for CI/CD and AI agents)
npm create @hailer/app@latest my-app-name --template react-ts
npx @hailer/create-app my-app-name --template react-tsThe --template (or -t) flag and project name skip all prompts.
Other package managers
yarn create @hailer/app
pnpm create @hailer/app
bunx @hailer/create-appCurrently supported template: react-ts
Development
- Start the dev server:
npm run dev(port 3000) - In Hailer, create a "Local Development" app pointing to
http://localhost:3000 - Open the app in Hailer — changes reload automatically
Publishing
First time — create and publish a new app
npm run publish-production -- --create --app-name "My App" --workspace <id> --user-api-key <key> --forceThis creates the app in Hailer, publishes it, and writes the appId to public/manifest.json for future publishes. If --app-name or --workspace are omitted, the script will prompt interactively.
Find your workspace ID in Hailer workspace settings. Generate a user API key in your Hailer user settings.
Subsequent publishes
npm run publish-production -- --user-api-key <key> --forceOr with email (prompts for password):
npm run publish-production -- --email [email protected]Credential resolution order
--user-api-keyor--emailflagsUSER_API_KEYorHAILER_USER_API_KEYenvironment variablesHAILER_USER_API_KEYfrom~/.env(used automatically by Hailer Studio)
Environments
| Command | Target |
|---------|--------|
| npm run publish-local | Local (https://api.hailer.local.gd) |
| npm run publish-development | Development (https://testapi.hailer.biz) |
| npm run publish-staging | Staging (https://api.hailer.biz) |
| npm run publish-production | Production (https://api.hailer.com) |
Marketplace
Add --market to publish to the Hailer marketplace. Requires version and versionDescription in public/manifest.json:
{
"appId": "...",
"version": "1.0.0",
"versionDescription": "Initial release"
}npm run publish-production -- --market --user-api-key <key> --forceBump the version (semver) for each subsequent marketplace publish.
All publish options
| Flag | Description |
|------|-------------|
| --email <email> | Authenticate with email (prompts for password) |
| --user-api-key <key> | Authenticate with API key |
| --create | Create a new app before publishing |
| --app-name <name> | App name (requires --create) |
| --workspace <id> | Target workspace (requires --create) |
| --market | Publish to Hailer marketplace |
| --force | Skip confirmation prompt |
| --yes | Skip confirmation prompt (deprecated, use --force) |
| --host <url> | Override the target host URL |
