* Welcome to my corner of the web! *

repository-discovery

A TypeScript library enabling git repository discovery across GitHub, GitLab, Azure DevOps, and Bitbucket


A TypeScript library for discovering git repositories across multiple hosting providers. Supports flexible source specification for organizations, users, groups, workspaces, and individual repositories.

Installation

npm install repository-discovery

Features

  • Multi-platform support — GitHub, GitLab, Azure DevOps, and Bitbucket
  • Flexible filtering — Filter by archival status, exclude forks
  • Custom error handling — Specific exceptions for auth, rate limiting, and permissions
  • Self-hosted support — Configure custom host URLs for enterprise instances
  • AbortSignal support — Cancel operations gracefully

Usage

import { discoverRepositories } from 'repository-discovery';

const { repositories, errors } = await discoverRepositories({
  sources: [
    { provider: 'github', org: 'my-org' },
    { provider: 'gitlab', group: 'my-group' }
  ],
  continueOnError: true
});

Token Configuration

Tokens can be provided as strings or async functions for dynamic retrieval:

{
  token: async () => await getSecretFromVault('github-token')
}