Sigra.Install.Features.Organizations (Sigra v0.2.2)

Copy Markdown View Source

Sigra.Install.Feature implementation for the organizations feature: multi-tenant organization support with memberships and invitations.

Owns every template under priv/templates/sigra.install/organizations/ and the single migration that creates the organizations, organization_memberships, and organization_invitations tables.

enabled?/1 checks Keyword.get(opts, :organizations, true) — the organizations feature is enabled by default (ORG-01). Pass --no-organizations to the installer to disable.

Phase 16 scope

Phase 16 Plan 02 populates files/1, injections/1, and post_instructions/2 to ship the Phase 16 user-facing surface: organization switcher function component, POST switch controller, router scope block + route ordering (D-06), and the user_auth :assign_user_organizations on_mount hook. The Phase 16 LiveView templates (landing, settings, members) are added in Plans 03–05 and simply append to the lists below.

Isolation invariant (Pitfall X-3)

This module contains ZERO references to Features.Core, Features.Passkeys, or Features.Admin. That boundary is what makes mix sigra.install --no-organizations produce a compiling app even with no Organizations code present.