These cubes represent the core organizational structure of your GuideMode deployment. They primarily serve as dimension tables for filtering and grouping data in other cubes, but also provide basic count metrics.
Source Table: projects
Description: Project information including local projects detected by the desktop app and connected repositories from GitHub/GitLab.
Dimension Type Description idstring Unique project ID projectNamestring Local project name (from desktop) gitRemoteUrlstring Git remote URL detectedProjectTypestring Detected type (typescript, python, etc.) sourceTypestring How project was added
Dimension Type Description providerstring Source provider (github, gitlab, etc.) externalIdstring Provider’s ID namestring Repository name fullNamestring Full name (org/repo) ownerstring Repository owner urlstring Repository URL apiUrlstring API URL defaultBranchstring Default branch isPrivatestring Private repository flag
Dimension Type Description syncIssuesstring Sync issues enabled syncPullRequestsstring Sync PRs enabled syncDeploymentsstring Sync deployments enabled lastSyncedAttime Last sync timestamp connectedAttime Connection timestamp
Dimension Type Description createdAttime Record creation time updatedAttime Last update time
Measure Description countTotal projects
The Projects cube connects to:
Join Relationship Description TeamsbelongsToMany Teams assigned to project TeamProjectshasMany Junction table entries IssueshasMany Issues in project PullRequestshasMany PRs in project DeploymentshasMany Deployments from project DiscoveryFlowhasMany Discovery flow facts DeliveryFlowhasMany Delivery flow facts DeploymentFlowhasMany Deployment flow facts
Project Inventory: List all connected projects
Sync Status: Monitor sync settings and timing
Provider Distribution: Count projects by provider
Type Analysis: Group projects by detected type
Source Table: teams
Description: Team structure information, including GitHub team integration details.
Dimension Type Description idstring Unique team ID namestring Team name slugstring URL-safe team identifier descriptionstring Team description privacystring Privacy setting (secret, closed)
Dimension Type Description githubTeamIdnumber GitHub team ID githubOrgLoginstring GitHub organization login githubOrgNamestring GitHub organization name avatarUrlstring Team avatar URL
Dimension Type Description createdAttime Record creation time githubCreatedAttime GitHub team creation time lastSyncedAttime Last sync timestamp
Measure Description countTotal teams
The Teams cube connects to many other cubes for filtering:
Join Relationship Description ProjectsbelongsToMany Projects assigned to team TeamMembershasMany Team membership entries TeamProjectshasMany Team-project assignments IssuesbelongsToMany Issues via projects PullRequestsbelongsToMany PRs via projects DeploymentsbelongsToMany Deployments via projects SurveyResponsesbelongsToMany Surveys via members DiscoveryFlowbelongsToMany Discovery via projects DeliveryFlowbelongsToMany Delivery via projects DeploymentFlowbelongsToMany Deployments via projects
Team Directory: List all teams
GitHub Sync Status: Monitor team synchronization
Cross-Cube Filtering: Filter any cube by team
Teams is the most commonly used filter dimension:
// Filter any cube by team
{ member: "Teams.id", operator: "equals", values: ["team-uuid"] }
{ member: "Teams.name", operator: "equals", values: ["Engineering"] }
Source Table: users
Description: User information for all users in your organization, filtered by tenant membership.
Dimension Type Description idstring Unique user ID namestring Display name usernamestring Username emailstring Email address
Dimension Type Description githubIdnumber GitHub user ID avatarUrlstring Profile avatar URL
Dimension Type Description createdAttime Account creation time firstSessionUploadedAttime First session upload
Measure Description countTotal users
Join Relationship Description TeamsbelongsToMany Teams user belongs to TeamMembershasMany Team membership entries
The Users cube automatically filters to users in the current tenant via the tenant_users junction table. You’ll only see users who are members of your organization.
User Directory: List organization members
Onboarding Tracking: Monitor first session uploads
Activity Analysis: Track user activity via sessions
Cross-Cube Filtering: Filter by user in other cubes
Most cubes support team filtering via joins:
measures: [ " Sessions.count " ],
dimensions: [ " Teams.name " ],
filters: [{ member: " Teams.id " , operator: " equals " , values: [ " team-1 " ] }]
measures: [ " Issues.count " , " Issues.openCount " ],
dimensions: [ " Projects.name " ],
filters: [{ member: " Projects.id " , operator: " equals " , values: [ " proj-1 " ] }]
measures: [ " Assessments.count " , " Assessments.thumbsUpPercentage " ],
dimensions: [ " Users.name " ],
filters: [{ member: " Users.id " , operator: " equals " , values: [ " user-1 " ] }]
// PRs by team and project
measures: [ " PullRequests.count " , " PullRequests.medianCycleTimeDays " ],
dimensions: [ " Teams.name " , " Projects.name " ],
{ member: " Teams.name " , operator: " equals " , values: [ " Frontend " ] },
{ member: " Projects.provider " , operator: " equals " , values: [ " github " ] }
│ ├── TeamMembers → Users
│ └── TeamProjects → Projects
│ └── TeamMembers → Teams