Skip to content

docs: full review and sync of docs to current code state - #205

Merged
antosubash merged 1 commit into
mainfrom
worktree-docs-sync
Jun 8, 2026
Merged

docs: full review and sync of docs to current code state#205
antosubash merged 1 commit into
mainfrom
worktree-docs-sync

Conversation

@antosubash

Copy link
Copy Markdown
Owner

Summary

Comprehensive review of all documentation in the repo, synced to the current state of the framework. The docs had drifted from several recent changes; this pass brings every page, README, and skill into agreement with the code.

Major code realities now reflected in the docs:

  • Single shared schema — schema-per-module was removed (0af316f); Postgres and SQLite now share one layout with module-name-prefixed __tablename__. Removed all "schema isolation" framing.
  • Pluggable authAuthProvider contract, principal-resolver chain (session or bearer), method-aware register_public_routes, the Keycloak OIDC module, and Microsoft/Entra OAuth in users. New diagnostics SM020 (multiple auth providers = error) / SM021 (none = warn).
  • Diagnostics through SM021 documented consistently.
  • CLIsmpy / simple-module console-script form used throughout (uv run smpy users create-admin, smpy host gen-pages, …).
  • Default smpy new = workspace mode — app under host/, alembic.ini at host/alembic.ini; deployment docs run migrations from host/.

What changed

  • VitePress nav/sidebar (config.ts): added Principal resolvers + Public routes (framework) and keycloak + audit_log (modules).
  • New pages: docs/modules/audit_log.md, docs/modules/keycloak.md.
  • Counts: "ten first-party modules" in index/overview; lifecycle-hook count de-hardcoded so it can't rot.
  • README / CLAUDE.md / .env.example: per-module list drops "schema"; pluggable-auth wording; framework layout adds cli/ + testing/; Vite port 5050; pytest marker not e2e and not perf; console-script commands.
  • Correctness fixes caught in review: pages.mdSectionTitle usage (children, not a title prop); first-module.md rewritten to real PageShell + Table subpath imports; registries skill drops the nonexistent HasPermission / @require_permission APIs (only RequiresPermission exists); deployment runs alembic from host/.
  • Synced every framework / database / frontend / testing / reference single-pager, all module + package READMEs, and the affected skills.

Notes / verification

  • Docs-only change — no source code touched, so no test suite run. Internal link-integrity check passes (0 dead links on the synced surface).
  • A couple of items were surfaced but intentionally left as-is because the docs faithfully report a scaffold inconsistency (e.g. the Postgres .env URL vs. the scaffold compose credentials) — the real fix belongs in the scaffold templates, out of scope for a docs sync.

Comprehensive pass over all documentation to match the current
framework: single shared schema (schema-per-module removed), pluggable
auth providers (Keycloak OIDC + Microsoft/Entra OAuth), method-aware
public routes, principal-resolver chain, and diagnostics through SM021.
- VitePress sidebar/nav: add Principal resolvers + Public routes
(framework) and keycloak + audit_log (modules) pages
- New module pages: docs/modules/audit_log.md, docs/modules/keycloak.md
- index.md / overview: "ten first-party modules"; de-count lifecycle hooks
- README: per-module list drops "schema"; pluggable-auth wording;
framework layout adds cli/ + testing/; single-shared-schema isolation
- CLAUDE.md: Vite port 5050; kill ports; pytest "-m not e2e and not perf"
- .env.example + CLI docs: "uv run smpy ..." console-script form
- deployment: run alembic from host/ for default workspace scaffold
- pages.md: fix SectionTitle usage (children, not title prop)
- registries skill: drop nonexistent HasPermission/@require_permission
- first-module: real PageShell + Table subpath imports
- sync all framework/database/frontend/testing/reference single-pagers,
module + package READMEs, and skills
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying simple-module-python with Cloudflare Pages Cloudflare Pages

Latest commit:85694d0
Status: ✅ Deploy successful!
Preview URL:https://92990a3f.simple-module-python.pages.dev
Branch Preview URL:https://worktree-docs-sync.simple-module-python.pages.dev

View logs

@antosubash
antosubash merged commit 8d74527 into mainJun 8, 2026
12 checks passed
antosubash added a commit that referenced this pull request Jun 8, 2026
…ut example (#208)
The #205 docs sync left one `<PageHeader title="Orders" />` in the Layouts
JSX-composition example (pages.md). PageHeader is not exported by
`@simple-module-py/ui` — it is one of the nonexistent components #196 is about.
Use the real `PageShell` page wrapper instead.
Fixes#196
antosubash added a commit that referenced this pull request Jun 25, 2026
…t caching (#221)
Bring the published docs current with features landed after the #205 sync:
- modules/branding.md (new): admin-configurable app name/logo/favicon/colour,
endpoints, permissions, image guard-rails, shared-props data flow; add to the
modules index (ten→eleven) and the VitePress sidebar.
- modules/users.md: admin user CRUD (create/edit/delete) endpoints + pages +
events; external/SSO users (is_external, nullable password, credential guards);
bearer-token endpoints; corrected stale admin HTTP methods, edit view-route
path, contracts import path, and component file names.
- modules/dashboard.md: /dashboard/doctor route, Doctor admin menu item, page.
- reference/deployment.md: production manifest-based Inertia rendering +
ImmutableStaticFiles 1-year cache headers. reference/env-vars.md: SM_VITE_PORT.
Claude-Session: https://claude.ai/code/session_01QzhhE5RjEPdeP4eSKjxzLF
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@antosubash