Add local Git versioning and GitHub sync for projects#20
Open
Add local Git versioning and GitHub sync for projects#20
Conversation
Replace the GitHub OAuth workflow with per-project local Git repositories backed by encrypted PAT-based GitHub sync. Each project's file root is now its own Git repo — publishing creates a commit, and an optional upstream can be configured with a Personal Access Token. Key changes: - Add GitService (isomorphic-git) for init, commit, push, pull, log, revert, discard, and conflict detection - Add Git API routes and shared helpers (params, getRemoteConfig) - Replace OAuth app integration with encrypted PAT in project settings - Surface merge conflicts in the semantic model UI (graph/tree show a banner, YAML tab shows raw markers, explorer shows warning icon) - Instruct the semantic model agent about Git context and new tools (revert_file, discard_all_changes) - Filter dotfiles from all file listings and hash computations - Add "Initialize Git" migration button for existing projects - Show publish history (commit log) in project settings - Fix statusMatrix destructuring bug in discardAllChanges - Extract duplicated route helpers into shared utils Made-with: Cursor
|
🚅 Deployed to the archmax-pr-20 environment in archmax SemLayer
|
Docker image readydocker pull ghcr.io/archmaxai/archmax:pr-20 |
added 2 commits
April 18, 2026 13:15
- Add unit tests for GitService.reinit() and mergeUnrelatedHistories() - Add publish hash tests for root-dir scope, all file types, and skip dirs - Add API route tests for /git (status, init, reinit, log) - Refactor publish-toolbar and settings to use typed API hooks - Add Version Control & GitHub guide to docs site - Document Git support in README - Rename Git buttons: "Re-init Git" → "Reinitialize Connection", "Remove" → "Disconnect" (far right) - Archive completed openspec changes Made-with: Cursor
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
isomorphic-git. Publishing a project now creates a Git commit, and an optional upstream can be configured with a Personal Access Token in project settings.revert_file/discard_all_changestools.param,getRemoteConfig,getGitService), fixdiscardAllChangesstatusMatrix destructuring bug, removeanycasts, filter dotfiles from all file listings and hash computations.Test plan
pnpm typecheckpasses across all packagespnpm lintpasses (includes API emitting build)GitService,PublishService,SemanticModelFileServiceconflict detection, and agent tools)revert_filetoolMade with Cursor