create-larastack-app
v0.4.0
Published
Scaffold a Larastack-based monorepo with selectable frontend, backend, and mobile apps.
Maintainers
Readme
create-larastack-app
Scaffold a Larastack-based monorepo from Liinkiing/larastack with selectable applications:
frontend(Next.js)backend(Laravel)mobile(Expo)
The CLI asks for:
- project folder
- application name
- included app folders (checkbox multiselect)
- GitHub username (auto-detected when possible)
- author (
John Doe <[email protected]>, auto-filled from git config when possible) - Expo EAS project ID (optional, when
mobileis selected)
It then customizes placeholders like Larastack, larastack, and liinkiing, updates mobile identifiers, removes unselected app folders, and can initialize a fresh git repository.
Requirements
- Node.js
>=22 - Corepack enabled
- pnpm
>=10
corepack enable
corepack use [email protected]Usage
npx create-larastack-app@latestpnpm create larastack-appbun create larastack-appYou can also pass flags for non-interactive runs:
npx create-larastack-app@latest my-app \
--name "My App" \
--apps frontend,backend \
--author "John Doe <[email protected]>" \
--github-user mygithubCLI options
--name <name>: Application display name--apps <apps>: Comma-separated list offrontend,backend,mobile--github-user <username>: GitHub username for owner/repository placeholders--author <author>: Author for package.json (John Doe <[email protected]>)--eas-project-id <id>: Expo EAS project ID (optional)--template-source <source>: Override template source (github:Liinkiing/larastackby default)--template-ref <ref>: Git reference for the template (masterby default)--no-git: Skipgit init
Local development
pnpm install
pnpm run lint
pnpm run typecheck
pnpm run format:check
pnpm run test
pnpm run buildRun locally:
node dist/cli.jsRelease
Releases are manual and run from GitHub Actions with release-it + Conventional Commits.
- Open Actions and run the
releaseworkflow. - Choose inputs:
bump:auto(recommended), or forcepatch,minor,majorprerelease:none,alpha,beta,rcdry-run:trueto preview,falseto publish
- Run it on
master.
The workflow lints, typechecks, format-checks, tests, builds, updates CHANGELOG.md, creates the release commit/tag, publishes to npm, and creates a GitHub release.
Local equivalents:
pnpm run release:dry
pnpm run releaseConventional Commit bump rules:
fix:-> patchfeat:-> minorBREAKING CHANGE:(or!) -> major
If commits are only non-releasable types (chore:, docs:, test:...), use the workflow bump input to force a release.
For npm auth, prefer npm Trusted Publishing (OIDC) for .github/workflows/release.yml. As a fallback, set NPM_TOKEN in repository secrets.
Because the package name is create-larastack-app, users can run the short create commands:
pnpm create larastack-appbun create larastack-app
