tnl.dev :: docs
teams.
Create teams, invite members, and manage shared public URLs.
choose a team
Every identity has a personal team. Create an organization team to share domains and public URLs with other identities. Team selection is per tnl server; a project can pin its team in configuration.
tnl team list
tnl team current
tnl team create "Studio" --member-slug alex
tnl team use "Studio"team create creates an organization team and selects it; team use selects an existing membership for future commands. Use a team ID if display names are ambiguous. Without a saved selection, your personal team is used. A project team setting selects its own team for publishing, domain, and team-context commands even when the saved selection differs.
invite a member
An admin or owner can invite a member. An owner can also grant the initial admin or owner role. Choose a team-unique --member-slug before inviting: it reserves an immutable label used in claimed-domain namespaces.
tnl team invite create --member-slug sam --role member --email sam@example.com --expires-in 168h
tnl team invite listThe create command writes the invitation ID and secret as a single tab-separated line on stdout. Share the secret privately; team invite list shows the invitation state but not the secret. --email is optional and restricts acceptance to a verified email; --role defaults to member, and --expires-in defaults to 168h.
The invited identity accepts the secret and selects the joined team:
tnl team join INVITATION_SECRETIf an invitation is no longer needed, revoke it by ID:
tnl team invite revoke INVITATION_IDmanage membership
tnl team members
tnl team members --team "Studio"
tnl team member set-role MEMBERSHIP_ID --role admin
tnl team member remove MEMBERSHIP_IDRoles are member, admin, and owner. Members can publish in their own namespace. Admins can manage member invitations, claim domains, choose the default domain, and publish shared public URLs. Owners can also change roles, invite admins or owners, and release claimed domains. Admins may remove members; owners may remove other roles. The last owner cannot be removed or demoted. Membership removal revokes that membership's publishing access. See Domains for namespace labels and DNS setup.
share a public url
On a claimed domain, an admin or owner can publish a complete hostname outside an individual's namespace. For example, after studio.example.com is ready for Studio:
tnl publish web --host preview.studio.example.com
tnl url listA shared public URL belongs to the team. A member can publish under their own member slug instead, for example web.sam.studio.example.com. Shared public URLs are unavailable on the managed deployment domain; use a claimed domain. tnl url delete PUBLIC_URL_ID removes a saved public URL when it is no longer wanted. A member can delete their own public URL; admins and owners can delete team public URLs.