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:

ProviderVirtual RepositoryBased On
JiraOne per Jira projectJira project key (e.g., “PROJ”)
LinearOne per Linear teamLinear team (e.g., “Engineering”)
NotionOne per Notion databaseNotion 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
FieldTypeDescription
repositoryNamestringRepository name (unique per tenant)
gitRemoteUrlstringGit remote URL
providerenum’github’, ‘gitlab’, ‘bitbucket’, or null (local)
externalIdstringProvider’s repository ID
namestringDisplay name from provider
fullNamestringFull path (e.g., “owner/repo”)
ownerstringRepository owner/organization
urlstringWeb URL to repository
apiUrlstringAPI endpoint URL
defaultBranchstringDefault branch (main, master, etc.)
isPrivatebooleanWhether repository is private
sourceTypestringHow repository was added
Source TypeDescription
localDetected from desktop app
githubConnected via GitHub integration
gitlabConnected via GitLab integration
bitbucketConnected via Bitbucket integration
jiraAssociated through Jira project
azure-devopsConnected via Azure DevOps

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

Diagram
SettingDefaultDescription
syncIssuestrueSync issues from this repository
syncPullRequeststrueSync pull requests from this repository
syncDeploymentsfalseSync 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:

TypeIndicators
monorepoMultiple package.json files, workspace config
typescripttsconfig.json present
pythonpyproject.toml, setup.py, requirements.txt
rustCargo.toml present
gogo.mod present

The detectedRepositoryType field stores this for filtering and grouping.

Diagram
FieldDescription
connectedAtWhen integration was first connected
lastSyncedAtMost recent successful sync
createdAtWhen repository record was created
updatedAtLast 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:

FieldDescription
githubRepoIdGitHub’s internal repository ID
defaultBranchDefault branch from GitHub
isPrivateRepository visibility

These enable:

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