@podosoft/podokit 0.5.0 → 0.5.1

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/README.md CHANGED
@@ -23,6 +23,18 @@ The `todo` template (`--template todo`) generates a working todo app (SvelteKit
23
23
 
24
24
  ![Generated todo app](https://raw.githubusercontent.com/podosoft-dev/podokit/main/docs/images/todo-app.png)
25
25
 
26
+ ## Commands
27
+
28
+ | Command | What it does |
29
+ |---|---|
30
+ | `podo create <name>` | Scaffold a new project from a template |
31
+ | `podo add <module>` | Add a feature module (auth, admin-dashboard, redis, …) to a project |
32
+ | `podo status` | Show the PodoKit version, modules, file tiers, and local edits |
33
+ | `podo diff` | List the PodoKit-managed files you've edited since generation |
34
+ | `podo doctor` | Check framework versions against the supported ranges |
35
+ | `podo update [--apply]` | Preview (or apply) what a version update would change |
36
+ | `podo eject <path…>` | Take ownership of a managed file so updates skip it |
37
+
26
38
  ## Usage
27
39
 
28
40
  ```
@@ -61,6 +73,25 @@ npx @podosoft/podokit add auth # full auth (better-auth): email/password, s
61
73
 
62
74
  `podo add <module>` overlays files, merges dependencies, appends env vars, and wires the module into the NestJS app. Run `podo add` with no argument to list available modules.
63
75
 
76
+ The **`admin-dashboard`** module adds a ready-made admin console on top of `auth` — login/signup pages, user & session management, an audit log, and a Settings page where OAuth providers, SMTP, and server toggles are configured at runtime (stored encrypted in the DB, applied without a restart):
77
+
78
+ ![PodoKit admin dashboard — users](https://raw.githubusercontent.com/podosoft-dev/podokit/main/docs/images/admin-users.png)
79
+
80
+ ## Keep your project up to date
81
+
82
+ Every generated project records how it was assembled in a committed `.podokit/`
83
+ directory, so it can receive template and module improvements later without
84
+ losing your work:
85
+
86
+ ```bash
87
+ podo status # version, modules, and which managed files you've edited
88
+ podo update # preview what a newer PodoKit version would change
89
+ podo update --apply # apply it: clean updates are written, your edits are 3-way merged
90
+ ```
91
+
92
+ Files you own (routes, your components, shadcn UI) are never touched. See the
93
+ [updating guide](https://github.com/podosoft-dev/podokit/blob/main/docs/updating.md).
94
+
64
95
  ## What you get (`fullstack-nest-svelte`)
65
96
 
66
97
  ```
@@ -44,9 +44,12 @@ test("create an org with a non-ascii name, a parent, and a manager @smoke", asyn
44
44
  // child row shows the parent org name
45
45
  await expect(page.getByRole("row", { name: new RegExp(child) })).toContainText(parent);
46
46
 
47
- // clean up both
48
- for (const n of [child, parent]) {
49
- await page.getByRole("row", { name: new RegExp(n) }).getByRole("button", { name: "Delete" }).click();
50
- await expect(page.getByText("Organization deleted").first()).toBeVisible();
51
- }
47
+ // Clean up. Delete the child first (its row also shows the parent name, so a
48
+ // parent-name match isn't unique until the child is gone), and wait for the
49
+ // child row to disappear before removing the parent.
50
+ await page.getByRole("row", { name: new RegExp(child) }).getByRole("button", { name: "Delete" }).click();
51
+ await expect(page.getByText("Organization deleted").first()).toBeVisible();
52
+ await expect(page.getByRole("cell", { name: child, exact: true })).toHaveCount(0);
53
+ await page.getByRole("row", { name: new RegExp(parent) }).getByRole("button", { name: "Delete" }).first().click();
54
+ await expect(page.getByText("Organization deleted").first()).toBeVisible();
52
55
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@podosoft/podokit",
3
- "version": "0.5.0",
3
+ "version": "0.5.1",
4
4
  "description": "An opinionated but extensible starter toolkit and CLI for full-stack TypeScript apps with NestJS, SvelteKit, TailwindCSS, shadcn-svelte, Docker, and k3s.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {