Skip to content

feat: Add multi-repo support - #16

Merged
rhoades-brown merged 1 commit into
mainfrom
multi_repo_support
May 29, 2026
Merged

feat: Add multi-repo support#16
rhoades-brown merged 1 commit into
mainfrom
multi_repo_support

Conversation

@rhoades-brown

Copy link
Copy Markdown
Owner

Summary

Adds support for syncing multiple GitHub repositories to specific vault directories, each with independent sync state and configuration.

Changes

New Features

  • Additional repositories settings section — Add, remove, and configure extra repos from the settings tab
  • Per-repo sync — Each additional repo gets its own GitHubService and SyncService instance
  • Path overlap validation — Prevents configuring repos with overlapping vault directories
  • Independent auth — Each repo can use the main token or a separate PAT
  • SyncView integration — Additional repo changes appear in the sync view with repo badges
  • Main repo exclusion — Automatically excludes additional repo directories from main repo sync

Files Changed

  • main.ts — AdditionalRepoRuntime interface, initializeAdditionalRepos(), syncAdditionalRepos(), getMainRepoIgnorePatterns()
  • src/types/settings.ts — AdditionalRepoConfig interface, added \�dditionalRepos\ to settings
  • src/services/syncService.ts — \localBasePath\ support, \ oRelativeLocalPath(), \ oAbsoluteLocalPath()\
  • src/ui/settingsTab.ts — Additional repos settings UI section
  • src/views/SyncView.ts — Multi-repo change aggregation with repo labels
  • styles.css — Additional repo card and badge styles
  • ** ests/services/syncService.test.ts** — 21 new tests for path validation, ignore patterns, and path conversion

Verification

  • ✅ Build passes
  • ✅ All 119 tests pass (98 existing + 21 new)
  • ✅ Lint passes with zero errors

@rhoades-brown
rhoades-brown merged commit 63d1665 into main May 29, 2026
4 checks passed
@rhoades-brown
rhoades-brown deleted the multi_repo_support branch May 29, 2026 21:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant