Skip to main content

Overview

Enagrams is most powerful when every developer on the team connects their agent to the same workspace. This guide walks through onboarding a team of 2–10 developers.

Workspace Setup (Owner)

1. Create the Workspace

Pick the path that matches where you are:
  • You have the repo cloned locally — from the repo root, run npx enagrams init. The CLI authenticates you, binds the workspace to this repo, and writes all IDE configs in one shot.
  • You want to set it up before cloning — create it in the dashboard with New Workspace, then click Connect GitHub on the new workspace and pick the repo. The Enagrams GitHub App resolves the repo fingerprint server-side and binds it for you.
See Workspace Management → Creating a Workspace for all four paths and when to use each.
If you create the workspace in the dashboard without the GitHub App, use the repo’s basename as the slug (github.com/org/chatgpt-wrapperchatgpt-wrapper). The CLI uses slug-matches-basename as the trigger for a one-keystroke “bind this repo to <workspace> shortcut when a teammate runs init.

2. Invite Team Members

From the dashboard: Workspace → Team → Invite (enter email). The teammate gets an email with an accept link. Pick a role when you invite or change it later:
  • Owner — full access, can delete workspace, bind/unbind repo.
  • Admin — can manage members, bind/unbind repo, change settings.
  • Member — can create decisions, claim work packages, use MCP.
Enagrams is invite-only — teammates can’t join by guessing the slug or running init in the bound repo. The invite email is the only path in. See Sharing a Workspace for the full flow the teammate sees.

3. Tell Teammates to Run enagrams login

Nothing to share manually — no slugs, no API keys, no invite codes. Once you’ve sent the dashboard invite, each teammate clones the repo and runs:
The CLI fingerprints the repo, recognizes it’s already bound to your workspace, and — because the teammate just accepted your invite — fast-paths them to a “Continue with <workspace> prompt. One keystroke and they’re in. If a teammate runs login before you’ve sent the invite, they’ll see:
That’s the hint — they forward it to you, you invite them, they retry.

Per-Developer Setup

Once a teammate has accepted an invite:
init detects the already-bound workspace and skips straight to writing IDE configs for whichever of Cursor, Claude Code, and Codex it finds installed. After that:
  • IDE-specific tweaks: Cursor · Claude Code · Codex
  • enagrams status to verify the session is live.
  • enagrams watch in a spare terminal for a live team dashboard.
Each developer gets their own API key automatically, stored in ~/.config/enagrams/config.json (global, like gh or vercel) — never in the repo.
Never share API keys. Each developer needs their own — it’s how Enagrams tracks which human is behind each agent session.

Running Your First Coordinated Session

Scenario: Two developers, same codebase

Developer A starts a Cursor conversation:
“Build the user authentication flow with JWT tokens. Open a workstream for it.”
Their agent calls workstream_start to create ena/auth-jwt, begins working, and acquires symbol-level reservations on the auth files. Developer B starts a Cursor conversation soon after:
“Add user registration to the API.”
Their agent’s briefing shows:
Developer B’s agent joins the workstream with workstream_join (if registration is the same effort) or starts a new one, builds registration compatible with the JWT decision, and avoids the locked symbols.
  1. Start of day — open the Activity Feed to see active agents and workstreams.
  2. Before a task — check Work Packages for anything from recent meetings; claim what’s yours.
  3. Working — start or join a workstream. Hooks handle locking automatically.
  4. Shipping — call confirm_ready to run the test gate, then sync_commit after committing. Teammates on enagrams watch get the change automatically.
  5. After a meeting — paste the transcript at Meetings to extract decisions and generate work packages.

Dashboard Views