@shivaedev/create-app 0.21.0 → 0.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/README.md +18 -6
- package/dist/cli.js +44 -44
- package/dist/createApp.d.ts.map +1 -1
- package/dist/createApp.js +7 -3
- package/dist/createApp.js.map +1 -1
- package/dist/template.d.ts.map +1 -1
- package/dist/template.js +7 -2
- package/dist/template.js.map +1 -1
- package/package.json +2 -2
- package/src/createApp.ts +7 -3
- package/src/template.ts +7 -2
- package/template.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.22.0 - 2026-10-29
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
- Report unused files, exports and package dependencies, and missing dependencies with the knip-backed `code/unused` rule. Package exports, binaries, scripts, tests, stories and test support supply entry points without a knip config. Run `quality baseline write --rule code/unused` to record existing findings, then remove debt and run `quality baseline tighten` as you repair it.
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- The application host constructs services, handlers and routes before listening, so startup connections are refused until requests can be answered.
|
|
12
|
+
- Server and HTTP modules import Node platform modules directly to avoid loading Redis during startup.
|
|
13
|
+
- Generated apps import Node platform modules directly, and deployment stories allow enough time for their sequential cold processes without a fixed timeout on each startup health probe.
|
|
14
|
+
- Keep the minimal generated app on the unused-code gate with its own baseline of existing template debt.
|
|
15
|
+
|
|
3
16
|
## 0.21.0 - 2026-10-28
|
|
4
17
|
|
|
5
18
|
### Added
|
package/README.md
CHANGED
|
@@ -20,26 +20,38 @@ Next steps:
|
|
|
20
20
|
|
|
21
21
|
## Create and run
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
The package contains a snapshot of the starter made when it is packed. Platform dependencies use exact versions from the starter's `published-versions.json`; its self-contained pnpm catalog pins the remaining dependencies.
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
### Create an app
|
|
26
26
|
|
|
27
27
|
The folder argument may include a parent path. Its final folder name becomes the package name and must be a lowercase npm name. The destination must be absent or empty, including hidden files. The command runs `pnpm run setup` in the generated app to install dependencies and Quality's pre-commit hook, and reports setup failure with a nonzero exit status. Setup installs the hook only when the app has its own `.git`; it leaves an enclosing repository's hooks alone.
|
|
28
28
|
|
|
29
|
+
Pass `--minimal` to start with the foundation alone: the same starter without the notes module or its client, server, worker and migration registrations. The default includes the notes example. Starter updates preserve the minimal choice.
|
|
30
|
+
|
|
29
31
|
The command writes a git-ignored `.env.local` with a fresh authentication secret and local development and test database URLs. Existing files are never overwritten. Database names replace dots and hyphens in the app name with underscores, prefix a name starting with a digit with `app_`, and limit the stem to 58 characters before adding `_dev` and `_test`.
|
|
30
32
|
|
|
33
|
+
When Git is available and the destination is outside an existing repository, the command initializes a repository before setup and formats the generated files and installed lockfile with `pnpm run format` before committing them. The first commit runs Quality's lint and typecheck gates; a failed gate leaves it uncommitted. It uses your Git identity, with a local commit identity when none is configured. Pass `--no-git` to skip repository creation.
|
|
34
|
+
|
|
35
|
+
The command also supports `--help` and `--version`.
|
|
36
|
+
|
|
37
|
+
### What a generated app holds
|
|
38
|
+
|
|
31
39
|
A generated app gets a README titled with its name, its own framework guidance in `AGENTS.md`, and `CLAUDE.md` linked to that guidance. Its `.env.example` uses the same database names as `.env.local`. Template maintenance documentation and the published-version manifest stay in the source repository. Non-secret application files and the installed lockfile use mode `0644`; `.env.local` uses `0600`.
|
|
32
40
|
|
|
33
|
-
|
|
41
|
+
A generated app includes a GitHub Actions workflow that runs `pnpm run ci` against PostgreSQL and a `.railway/railway.ts` that defines PostgreSQL, builds the web and worker services, runs migrations before deployment, starts both processes and checks `/health` on the web service.
|
|
34
42
|
|
|
35
43
|
Generated apps reference Quality’s app TypeScript preset and Vite and test helpers, its hook setup and CI command, and Platform’s local database and development helpers. Their shared behavior comes from installed packages, so fixes reach existing apps with a dependency update. The app keeps its plugins, paths, environment, migration composition, CI workflow and deployment resources.
|
|
36
44
|
|
|
45
|
+
### Work in the app
|
|
46
|
+
|
|
37
47
|
Run `pnpm run setup` after cloning the generated repository to install dependencies and the hook for that checkout. Run `pnpm ready` for the full local gate: lint, typecheck, build and tests, using the same script as CI.
|
|
38
48
|
|
|
39
49
|
`pnpm dev` first runs `pnpm db:setup` to prepare both databases through `@shivaedev/local-postgres`. Have local PostgreSQL 18.6 on port 55432 or Docker available; see [local-postgres machine setup](https://github.com/ShivaeDev/platform/tree/main/packages/local-postgres#install-and-machine-setup). `pnpm test` loads `TEST_DATABASE_URL` from `.env.local`.
|
|
40
50
|
|
|
41
|
-
|
|
51
|
+
### Take starter updates
|
|
52
|
+
|
|
53
|
+
Run `pnpm dlx @shivaedev/create-app@latest update` in a generated app with a clean Git working tree to take later starter changes. The command reads `.create-app.json`, downloads the recorded generator’s starter and uses Git’s three-way merge to replay its changes against the current starter; app edits survive, deleted files stay deleted, and conflicts are listed and left for you to resolve. A successful merge records the current generator version; review the changes, run `pnpm install` and commit them yourself. An update adds the admin Users registration and route to an app that lacks them, and lists conflicts where the app customized those parts.
|
|
42
54
|
|
|
43
|
-
|
|
55
|
+
### Requirements
|
|
44
56
|
|
|
45
|
-
|
|
57
|
+
Use Node 24 or newer and pnpm. See the [framework quickstart](https://github.com/ShivaeDev/platform/blob/main/docs/framework/quickstart.md) for the starter's application and deployment workflow.
|