Skip to content

Repositories

A Repository in GuideMode is the central organizing unit for all work. While repositories typically represent codebases, GuideMode extends this concept to all providers - including work tracking tools like Jira, Linear, and Notion that don’t have traditional code repositories.

This unified model allows you to connect both discovery work (research, spikes, exploration) and delivery work (features, bugs, deployments) to the same teams, enabling end-to-end metrics across your entire workflow.

Repositories in GuideMode:

  • Organize all work - issues from any provider belong to a repository
  • Enable team ownership - assign repositories to teams for filtering and metrics
  • Track code changes through pull requests (for code-based providers)
  • Monitor deployments to various environments
  • Link to AI sessions from coding assistants
Diagram

Traditional repositories from code hosting providers:

  • GitHub, GitLab, Bitbucket - Full repository with issues, PRs, and deployments
  • Local - Detected from desktop app via git remote URL

These provide the complete picture: issues, pull requests, deployments, and AI session linking.

For providers without code repositories, GuideMode creates virtual repositories to attach issues to:

Provider Virtual Repository Based On
Jira One per Jira project Jira project key (e.g., “PROJ”)
Linear One per Linear team Linear team (e.g., “Engineering”)
Notion One per Notion database Notion database mapping

Virtual repositories allow:

  • Issues from Jira/Linear/Notion to be assigned to teams
  • Discovery work to be tracked alongside delivery work
  • Unified metrics across all your tools

Without virtual repositories, work from non-code providers would have no team ownership. By creating a repository for each Jira project or Linear team, you can:

  1. Assign teams - Connect discovery work in Notion to the same team doing delivery in GitHub
  2. Filter dashboards - See all work for a team, regardless of which tool it’s in
  3. Calculate metrics - Lead time from Notion discovery to GitHub deployment

When you use the GuideMode desktop app for AI coding sessions:

  1. The app detects the current working directory
  2. Extracts the git remote URL
  3. Creates or matches a repository record
  4. Links your sessions to that repository

This happens automatically - no configuration needed.

Repositories connected via integrations (GitHub, GitLab, etc.) provide:

  • Issue synchronization
  • Pull request tracking
  • Deployment monitoring
  • Webhook updates for real-time data
Field Type Description
repositoryName string Repository name (unique per tenant)
gitRemoteUrl string Git remote URL
provider enum ‘github’, ‘gitlab’, ‘bitbucket’, or null (local)
externalId string Provider’s repository ID
name string Display name from provider
fullName string Full path (e.g., “owner/repo”)
owner string Repository owner/organization
url string Web URL to repository
apiUrl string API endpoint URL
defaultBranch string Default branch (main, master, etc.)
isPrivate boolean Whether repository is private
sourceType string How repository was added
Source Type Description
local Detected from desktop app
github Connected via GitHub integration
gitlab Connected via GitLab integration
bitbucket Connected via Bitbucket integration
jira Associated through Jira project
azure-devops Connected via Azure DevOps

Each repository has individual sync settings that control what data is synchronized:

Diagram
Setting Default Description
syncIssues true Sync issues from this repository
syncPullRequests true Sync pull requests from this repository
syncDeployments false Sync deployments (requires additional setup)

You might disable sync for a repository when:

  • It’s a fork you don’t actively work on
  • It contains sensitive issues you don’t want tracked
  • It’s archived but still in your organization
  • You want to reduce sync load for large organizations

Repositories can be assigned to teams, establishing ownership:

Diagram

Note that shared-utils is assigned to both teams - repositories can have multiple team owners.

  • Filter dashboards by team to see their repositories
  • DORA metrics calculated per team
  • Issue/PR attribution to owning teams
  • Deployment tracking by team

The desktop app uses this logic to detect repositories:

  1. Read .git/config to find remote URLs
  2. Normalize the URL (remove auth tokens, standardize format)
  3. Match against existing repositories by URL
  4. Create new repository if no match found

GuideMode can detect repository types for analytics:

Type Indicators
monorepo Multiple package.json files, workspace config
typescript tsconfig.json present
python pyproject.toml, setup.py, requirements.txt
rust Cargo.toml present
go go.mod present

The detectedRepositoryType field stores this for filtering and grouping.

Diagram
Field Description
connectedAt When integration was first connected
lastSyncedAt Most recent successful sync
createdAt When repository record was created
updatedAt Last modification to repository settings

When AI sessions are uploaded from the desktop app:

  1. Session includes the repository context (path, git remote)
  2. GuideMode matches to existing repository
  3. Session is linked for analytics
  4. Repository metrics update

This enables:

  • Viewing sessions per repository
  • Correlating AI assistance with code changes
  • Tracking productivity by codebase

For GitHub repositories, additional fields are available:

Field Description
githubRepoId GitHub’s internal repository ID
defaultBranch Default branch from GitHub
isPrivate Repository visibility

These enable:

  • Precise webhook matching
  • Branch-based filtering
  • Privacy-aware handling