An organization's account, run by its people: invitations, joining in public and hidden, pushing to its repositories, and someone leaving. ## acme You are logged in as the account of a small company, Acme, which wants its own home for its code rather than one developer's. Make this account an organization: invite {alice} as an admin, and {bob} as a member. Create a repository `widgets` here with a README saying what it is. Check who is in the organization and how each stands. ## alice {acme} invited you to their organization as an admin. Accept, so anyone can see you are a member. Then, for the organization, invite {carol} too, as a member. On `widgets`, owned by {acme}, add a file `widget.py` with a function `make(name)` that returns a dict holding the name, committed to `main` directly. ## bob {acme} invited you to their organization. Join it, so that anyone can see you are a member. In `widgets`, owned by {acme}, add a test for `make(name)` on a new branch and open a pull into `main`. Check who can see your membership. ## carol You were invited to {acme}'s organization. Join it, but keep your membership hidden: only its members should see it. Then review {bob}'s pull on `widgets` and merge it if it looks right. Check whether someone outside the organization could tell you are a member. ## alice {bob} is moving on. Take them out of {acme}'s organization, then check the members as the organization shows them now, and that {carol}'s membership still shows only to members. Make {carol} an admin. ## bob {alice} took you out of {acme}'s organization. Check what you can still do in `widgets`: try to push a small change to a branch, and report what happened.