Iwacu

Terminal Commands

Every terminal command for building and navigating your tree — person, family, tree, and navigation commands.
This is the summer 2026 guide.
Some of it has changed since. A new guide (v1) is being written.

Terminal Commands

The terminal is the fastest way to build and navigate the tree. Open it with the 🌳 button. Drag the top edge to resize it.

Person commands

person add <alias> --first <name> [--last <name>] [--gender male|female|other] [--born YYYY-MM-DD] [--died YYYY-MM-DD]

Create a new person. The alias is the short name you use in all other commands. --first is required; everything else is optional.

person find <query>

Search people by name. Returns a list of matches with their IDs.

person show <alias>

Print full details for a person — name, dates, which families they belong to — and open their detail panel.

person list

List everyone in the tree with their aliases.

person alias <newAlias> <existingAliasOrName>

Give an existing person an additional alias. The second argument can be a known alias or a partial first-name match.

person edit <alias> [--first <name>] [--last <name>] [--gender ..] [--born ..] [--died ..]

Update any fields on a person. Only the flags you supply are changed.

person delete <alias>

Permanently delete a person. Removes all their family memberships, personal alias, and any family aliases where they held a parent role. The terminal prints a summary before deleting.

me [alias]

Set yourself as the focal person. With no argument, prints your current identity. Your alias appears in group chats and on the connection status map.

Family commands

family couple <familyAlias> <alias1> <alias2> --first1 <name> --gender1 male|female --first2 <name> --gender2 male|female [--last1 ..] [--last2 ..] [--born1 ..] [--died1 ..] [--born2 ..] [--died2 ..] [--name "Family Name"]

Create two people and a family node in one step. This is the fastest way to start a tree or add a new couple.

family new <familyAlias> <parentAlias1> [parentAlias2 ...] [--name "Family Name"]

Create a family node from existing people.

family child <familyAlias> <personAlias> [--first <name> --last .. --gender .. --born ..]

Add a child to a family. If --first is given, a new person is created on the spot; otherwise an existing alias is used.

family marry <newFamilyAlias> <childAlias> <spouseAlias> [--first .. --last .. --gender .. --born ..] [--name "Family Name"]

Create a bridged family: someone already in a family as a child starts their own family. If the spouse does not exist yet, include the person flags to create them inline.

family show <familyAlias|personAlias>

Print full details of a family and open the panel. Accepts a person alias too — shows all families that person belongs to, with a connected/total member count.

family open <familyAlias>

Open the family side panel directly (Members, Chat, Invite tabs).

family list

List all family nodes with their aliases and member counts.

family chat <familyAlias> <message>

Send a message to a family group chat from the terminal.

family invite <familyAlias>

Print the invite link for a family cell.

family join <invite-link>

Join a family cell using an invite link. The family node is added to your tree and its members appear in the chat.

Tree commands

tree demo

Load a sample Rwandan family tree. Clears any existing tree first. Good for exploring before building your real tree.

tree clear

Delete everything and start fresh. Aliases are cleared too.

tree focus <personAlias> [--origin]

Navigate the canvas to a person. With --origin, centres on their parents' family instead.

tree export [--format yaml|json|script]

Export the entire tree. Default format is YAML. Use --format script to export as a sequence of terminal commands that can rebuild the tree from scratch — useful for version control and the Script Editor. Use --format json for machine-readable output.

tree import

Prompts you to paste a YAML or JSON block into the terminal. Multi-line paste is detected automatically — you can also just paste without running the command first.

tree merge

Open the Connect Trees dialog to exchange QR codes with another person and link a shared ancestor. See Inviting and connecting.

tree link

Print the connect-trees link for your focal person — the same link the Connect Trees QR encodes, without opening the dialog. Hand this to whoever runs tree connect.

tree connect <link> <myPersonAlias> [--direction lateral|ancestor|descendant]

Consume a tree link from another tree, bridging it to a person in yours. The scriptable equivalent of the Connect Trees dialog — useful for setting up several trees and connecting them entirely from scripts, with no dialog interaction needed.

go <alias> [--origin]

Navigate to a person or family by alias or partial first-name match. With --origin, centres on the origin family.

aliases

List all registered person and family aliases with what they point to.

unalias <alias>

Remove a person or family alias. Does not delete the person or family — only the short name.

help

Print a summary of available commands.

Manage page and sync