malv org

Manage organizations - create teams, invite members, and control access to published apps.

Usage

malv org <command> [args] [options]

Commands

Command Description
create <name> Create a new organization
list List your organizations
info <name> Show organization details
systems <name> List organization's published apps
users <name> List organization members
invite <name> <email> Invite a user
join <name> Accept a pending invitation
leave <name> Leave an organization
kick <name> [user-id] Remove a member
role <name> <user-id> <role> Change a member's role

Creating Organizations

Create a new organization:

$ malv org create mycompany

✓ Created organization @mycompany
  You are the owner.

Organization names:

Listing Organizations

See organizations you belong to:

$ malv org list

Your organizations:
  @malv (member)
  @mycompany (owner)
  @acme (admin)

Organization Info

Get details about an organization:

$ malv org info mycompany

Organization: @mycompany
  Created: January 15, 2024
  Members: 5
  Published apps: 3
  
  Your role: owner

Published Apps

List apps published by an organization:

$ malv org systems mycompany

Apps published by @mycompany:
  @mycompany/auth (v1.2.0) - public
  @mycompany/notes (v2.0.0) - public
  @mycompany/internal (v1.0.0) - private

Member Management

List Members

$ malv org users mycompany

Members of @mycompany:
  [email protected] (owner) - usr_abc123
  [email protected] (admin) - usr_def456
  [email protected] (developer) - usr_ghi789

Invite Users

# Invite as default role (member)
malv org invite mycompany [email protected]

# Invite with specific role
malv org invite mycompany [email protected] --role admin

Output:

$ malv org invite mycompany [email protected] --role admin

✓ Invitation sent to [email protected]
  Role: admin
  
They can accept with: malv org join mycompany

Accept Invitation

When you're invited to an organization:

$ malv org join mycompany

✓ Joined @mycompany as developer

Remove Members

Remove a member (interactive picker if no user ID provided):

# Interactive - shows list to choose from
malv org kick mycompany

# Direct - specify user ID
malv org kick mycompany usr_def456

Output:

$ malv org kick mycompany

? Select a member to remove:
❯ [email protected] (admin)
  [email protected] (developer)

✓ Removed [email protected] from @mycompany

Change Roles

malv org role mycompany usr_def456 developer

Output:

✓ Changed [email protected]'s role to developer

Roles

Role Permissions
owner Full control, can delete org, manage all members
admin Manage members, publish apps, change settings
developer Publish apps, view members
member View apps and members only

Leaving Organizations

Leave an organization you belong to:

$ malv org leave mycompany

? Are you sure you want to leave @mycompany? (y/N) y

✓ Left @mycompany

Skip confirmation:

malv org leave mycompany --yes

Owners cannot leave until they transfer ownership or delete the organization.

Examples

Setting Up a Team

# Create the organization
malv org create mycompany

# Invite team members
malv org invite mycompany [email protected] --role admin
malv org invite mycompany [email protected] --role developer
malv org invite mycompany [email protected] --role developer

# Check the team
malv org users mycompany

Publishing a Private App

# Publish as private to your org
cd packages/apps/internal-tool
malv publish --access private

# Team members can install it
malv install @mycompany/internal-tool

Onboarding a New Developer

# Invite them
malv org invite mycompany [email protected] --role developer

# They accept
malv org join mycompany

# They can now publish to @mycompany
cd their-app
malv publish

Authentication

All organization commands require authentication:

malv login

Related Commands