You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit aabc99d
Browse filesBrowse the repository at this point in the historyBrowse files
Renames the framework's CLI binary from `sm` to `smpy` to free the
short name and avoid collisions with other globally-installed `sm`
tools (e.g. `.NET` `sm`).
- Entry point: `framework/cli/pyproject.toml` `sm` → `smpy` (kept
the `simple-module` alias).
- All docstrings, comments, READMEs, Makefile targets, generated-
file headers, host UI strings, locale entries, skill packs, and
documentation (guides, references, release notes, historical
plans + specs) updated to reference `smpy`.
- Stale `sm-users` / `sm-settings` script references (removed
during the earlier standalone-CLI migration) rewritten to the
current `smpy users` / `smpy settings` plugin form in user-
facing docs and module docstrings.
- Followup from /simplify review: Landing and Doctor pages no
longer claim `smpy install / migrate / dev / doctor` — those
are `make` targets, not subcommands.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -31,7 +31,7 @@ Initial public release. All 12 Python packages publish to PyPI and all 3 JS pack
31
31
32
32
### Added
33
33
34
-
-`sm new <app>` CLI generator (shipped via the `simple_module_cli` PyPI distribution) scaffolding a working app with `users + dashboard + permissions` pre-wired.
34
+
-`smpy new <app>` CLI generator (shipped via the `simple_module_cli` PyPI distribution) scaffolding a working app with `users + dashboard + permissions` pre-wired.
35
35
- PyPI Trusted Publishing workflow (`.github/workflows/release.yml`) for zero-secret releases.
36
36
- npm Trusted Publishing for all three JS packages.
Copy file name to clipboardExpand all lines: README.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,7 +15,7 @@ A modular-monolith framework for Python. Each feature lives in its own self-cont
15
15
If you want to **build an app on simple_module**, not hack on the framework itself:
16
16
17
17
```bash
18
-
uvx --from simple_module_cli sm new my-app
18
+
uvx --from simple_module_cli smpy new my-app
19
19
cd my-app
20
20
make dev
21
21
```
@@ -45,7 +45,7 @@ make migrate
45
45
make dev
46
46
```
47
47
48
-
Hit `http://localhost:8000` — you land on the public page. `/users/login` is the email+password login, `/dashboard/` is the authenticated home, and `/dashboard/doctor` is the admin-only "sm doctor" panel (static checks, migrations, dev server, modules).
48
+
Hit `http://localhost:8000` — you land on the public page. `/users/login` is the email+password login, `/dashboard/` is the authenticated home, and `/dashboard/doctor` is the admin-only "smpy doctor" panel (static checks, migrations, dev server, modules).
49
49
50
50
## Create a new module
51
51
@@ -121,7 +121,7 @@ Power users can still override the following bootstrap knobs via env if needed:
121
121
All module-level settings — users, SMTP, Celery broker, file storage backend, etc. — live in the admin UI. After upgrading an existing deployment, run once:
122
122
123
123
```bash
124
-
uv run sm settings import-from-env
124
+
uv run smpy settings import-from-env
125
125
```
126
126
127
127
to seed DB overrides from the current `SM_*` environment.
@@ -163,7 +163,7 @@ The 300-line file cap (enforced by CI) usually pushes you to factor row-level co
163
163
Either use the CLI:
164
164
165
165
```bash
166
-
uv run sm users create-admin --email admin@example.com --password changeme
166
+
uv run smpy users create-admin --email admin@example.com --password changeme
167
167
```
168
168
169
169
Or let the app bootstrap it automatically on first boot by setting env vars **before** running `make migrate && make dev`:
|`E2E_BASE_URL`|`http://localhost:8000`| Where the FastAPI host is listening. |
51
-
|`E2E_USERNAME`|`admin@example.com`| Email of the admin user created via `sm-users create-admin`. |
51
+
|`E2E_USERNAME`|`admin@example.com`| Email of the admin user created via `smpy users create-admin`. |
52
52
|`E2E_PASSWORD`|`admin`| Password of the above admin user. |
53
53
|`SM_USERS_VERIFICATION_TOKEN_SECRET`|`dev-verify-token-secret-change-me`| Must match the running server's value so locally-minted invite tokens are accepted. |
Copy file name to clipboardExpand all lines: docs/framework-conventions.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,7 +20,7 @@ modules/<name>/
20
20
└── pages/ # *.tsx — auto-discovered by Vite
21
21
```
22
22
23
-
Scaffold a fresh module with `sm create-module <name> --dest modules/<name>` — it generates all of the above. Then run `uv add ./modules/<name>` to register it on your app.
23
+
Scaffold a fresh module with `smpy create-module <name> --dest modules/<name>` — it generates all of the above. Then run `uv add ./modules/<name>` to register it on your app.
24
24
25
25
## ModuleMeta
26
26
@@ -296,7 +296,7 @@ class OrdersModule(ModuleBase):
Copy file name to clipboardExpand all lines: docs/framework/i18n.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -26,7 +26,7 @@ class OrdersModule(ModuleBase):
26
26
}
27
27
```
28
28
29
-
The key (`"orders"`) is the **namespace** — it prefixes every key in the files. `sm create-module` scaffolds this method and a starter `en.json` automatically.
29
+
The key (`"orders"`) is the **namespace** — it prefixes every key in the files. `smpy create-module` scaffolds this method and a starter `en.json` automatically.
Copy file name to clipboardExpand all lines: docs/framework/settings.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -133,7 +133,7 @@ Values are keyed by `<namespace>.<key>`. Conventional namespace is the module na
133
133
Existing deployments that used env vars for module settings should run once:
134
134
135
135
```bash
136
-
uv run sm-settings import-from-env
136
+
uv run smpy settings import-from-env
137
137
```
138
138
139
139
This reads the current environment, looks up keys the settings service knows about, and writes overrides into the DB. Idempotent — skips keys that already have a DB override. After running, you can remove those env vars from deployment config.
0 commit comments