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

  1. Go to enagrams.com/dashboard.
  2. Click New Workspace.
  3. Choose a slug (e.g. my-startup) — teammates will use this as their ENAGRAMS_WORKSPACE.

2. Invite Team Members

From the dashboard: Workspace → Team → Invite (enter email or user ID). Or via API:
POST /workspaces/:id/members
{
  "user_id": "teammate_user_id",
  "role": "member"
}
Roles:
  • Owner — full access, can delete workspace.
  • Admin — can manage members and settings.
  • Member — can create decisions, claim work packages, use MCP.

3. Share the Workspace Slug

Tell each teammate the slug. They’ll supply it during npx enagrams init.

Per-Developer Setup

Each developer, from their checkout of the repo:
npx enagrams init
The CLI opens a browser to authenticate, asks them to pick (or create) the workspace, and writes IDE configs for whichever of Cursor, Claude Code, and Codex it detects. After that:
  • IDE-specific tweaks: Cursor · Claude Code · Codex
  • Run enagrams status to verify they’re connected.
  • Optionally run enagrams watch in a spare terminal for auto-sync of approved changes.
Each developer gets their own API key automatically — it’s stored in ~/.config/enagrams/config.json, not 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:
Active workstream you can join: ena/auth-jwt ("Build JWT auth flow")
  members: Developer A
  reserved symbols:
    src/auth/login.ts::validateToken    (Developer A, 8 min)
    src/auth/middleware.ts::requireAuth (Developer A, 8 min)

Recent decisions (1):
  Chose JWT for auth (Developer A, 5 min ago)
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

ViewURLPurpose
Overview/dashboardActive agents, active workstreams, recent decisions
Activity Feed/dashboard/feedReal-time event stream
Workstreams/dashboard/workstreamsActive branches, members, tasks
Decisions/dashboard/decisionsFull decision timeline with stale flags
Conventions/dashboard/conventionsTier-grouped team rules
Tasks/dashboard/tasksPer-workstream kanban
Negotiations/dashboard/negotiationsOpen and resolved turns
Work Packages/dashboard/packagesMeeting-derived task board
Team/dashboard/teamPer-person drill-down
Knowledge Graph/dashboard/graphDecisions connected by shared symbols
Meetings/dashboard/meetingsTranscript ingestion and history