@shivaedev/create-app 0.29.0 → 0.31.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 CHANGED
@@ -1,5 +1,42 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.31.0 - 2026-10-31
4
+
5
+ ### Added
6
+
7
+ - `migrateBetterAuth` runs Better Auth schema migrations using the database from Effect's SQL service. Applications pass auth configuration without a database pool.
8
+ - Generated applications mount roles through identity, migrate the stored default through a numbered migration, and bootstrap the first owner through `assignRole`.
9
+ - Declare the user role field and its sign-up default through identity, and adopt existing users with `migrateBetterAuth(options, { defaultRole })` without an application backfill. Fresh and upgraded PostgreSQL schemas have the same non-null text column and database default.
10
+ - Let identity's database story kit migrate schemas with or without roles, inspect the stored role column and user roles, and model a missing role.
11
+
12
+ ### Fixed
13
+
14
+ - Generated applications start with no quality baseline and rely on the jobs package’s peer installation of `pg-boss`.
15
+ - Loaded editors construct their form from the supplied row without an unreachable synchronous guard.
16
+ - Refuse missing stored roles with `Forbidden` and log the migration fix instead of failing requests with a defect.
17
+
18
+ ### Breaking
19
+
20
+ - `registerAdmin` reports missing or extra page handlers as defects when its handler Layer is built. Consumers that catch synchronous registration errors must instead observe Layer acquisition failures.
21
+ - Pass `defaultRole` alongside `roles` to `betterAuthMount`. Remove application-owned role `additionalFields` and Better Auth's `admin()` plugin if it was only supplying roles. Add and run a numbered `migrateBetterAuth(options, { defaultRole })` migration before deploying, then bootstrap administrators through `assignRole`.
22
+
23
+ ## 0.30.0 - 2026-10-31
24
+
25
+ ### Added
26
+
27
+ - `quality baseline write --first-adoption --rule <id>` records existing debt when a shared rule that refuses config exceptions gains new checks. It may include unchanged files; ordinary baseline writes still require changed `--file` selections. Review the resulting counts and state why retained debt needs a separate migration.
28
+
29
+ ### Fixed
30
+
31
+ - Minimal generated apps carry the same existing foundation-registration boundary debt as the full template, so their first commit passes the stricter Quality gate after baseline pruning.
32
+ - Record the applied starter version even when its merge leaves conflicts. List conflict-marker files and unresolved Git conflicts, run install and the app's typecheck, and exit nonzero with the remaining work instead of claiming success. Include dependency re-resolution guidance when pnpm rejects a trust downgrade.
33
+
34
+ ### Breaking
35
+
36
+ - `effect/boundary` reports synchronous Node filesystem and child-process calls, core `Effect.run*` runners, Promise parameters and callbacks, throwing APIs inside `Effect.sync`, and each call to a helper that throws. Move IO to Effect services, yield computations in the current runtime, and use `Effect.try` with tagged failures for throwing work. Outside-library bridges belong in `adapters/`. Record retained first-adoption debt with `quality baseline write --rule effect/boundary --first-adoption`, then lower it with `quality baseline tighten` as repairs land. Runners remain accepted at entry points, in tool configs and in tests.
37
+ - Consumers calling `runtimeOf` or `runtimeDeclarationProblems` from `@shivaedev/quality/imports/runtime.ts` must provide Effect's `FileSystem.FileSystem` service, for example with `NodeFileSystem.layer`. Directory probes now use that service and report filesystem failures as `FilesystemFailure`; only missing directories are treated as absent.
38
+ - Consumers constructing `Command` records from `@shivaedev/quality/cli/args.ts` with `_tag: "BaselineWrite"` must set `firstAdoption: false` for ordinary scoped writes, or `true` for an explicit shared-policy upgrade.
39
+
3
40
  ## 0.29.0 - 2026-10-31
4
41
 
5
42
  ### Added
package/README.md CHANGED
@@ -50,7 +50,7 @@ Run `pnpm run setup` after cloning the generated repository to install dependenc
50
50
 
51
51
  ### Take starter updates
52
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.
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. Once the starter changes apply, including a merge with conflicts, `.create-app.json` records the current generator version. The command runs `pnpm install` and the app’s `pnpm run typecheck`, lists every non-ignored file with conflict markers and any unresolved Git conflicts, and exits nonzero while those or either check’s failures remain. Resolve the reported problems and rerun install and typecheck before committing. If pnpm reports a trust downgrade, the command preserves the rejected package and version and gives `pnpm update --depth Infinity` to re-resolve transitive dependencies under the existing trust policy; an exact manifest or catalog pin must first be changed to a trusted version. An update adds the admin Users registration and route to an app that lacks them, and lists conflicts where the app customized those parts.
54
54
 
55
55
  ### Reuse the generator
56
56