Skip to content

feat: add Atomic Source Control provider - #1

Open
vinceblock99 wants to merge 1 commit into
devfrom
feat/issue-171-source-control
Open

feat: add Atomic Source Control provider#1
vinceblock99 wants to merge 1 commit into
devfrom
feat/issue-171-source-control

Conversation

@vinceblock99

@vinceblock99 vinceblock99 commented Sep 3, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • add an Atomic Source Control provider for VS Code, including multi-root workspace support
  • show modified, added, deleted, untracked, and conflicted resources with working-copy and Quick Diff views
  • add, record, restore, refresh, and switch views without shell interpolation
  • validate the versioned CLI JSON protocol and provide an actionable upgrade hint for older clients
  • serialize CLI access around Atomic's exclusive database lock and prevent self-triggered refresh loops
  • discover repositories created after startup, clear stale SCM state on protocol failures, and guard restore paths against symlinks
  • package a minimal VSIX and verify it in CI

Requires atomicdotdev/atomic#188.

Closes atomicdotdev/atomic#171.

Screenshot 2026-09-03 at 2 37 36 PM

add
Screenshot 2026-09-03 at 2 38 29 PM

restore
Screenshot 2026-09-03 at 2 39 04 PM

Test Coverage

  • npm test — 14 unit and integration-boundary tests passed
  • npm run package — VSIX packaged successfully
  • live cross-repository test against the latest Atomic CLI exercised concurrent status, view list, and pristine-content requests
  • reproduced Atomic's database-lock behavior and verified per-repository command serialization

Pre-Landing Review

Independent security, maintainability, testing, API-contract, and adversarial reviews completed. All merge-blocking findings were fixed; final review reported no findings.

Design Review

No web UI files changed. The extension uses VS Code's native Source Control API and theme icons.

Plan Completion

No plan file detected.

Documentation

  • README.md documents Source Control features, required CLI JSON commands, usage, configuration, refresh behavior, development workflow, and schema compatibility.

Test plan

  • recognize Atomic repositories at startup and after atomic init
  • render SCM resource groups and current view
  • open modified/deleted/added diffs with the correct baseline
  • pass paths, messages, and view names as safe process arguments
  • reject incompatible JSON schemas and unsafe paths
  • serialize concurrent CLI operations
  • build and package the installable VSIX

Integrate Atomic status, record, restore, Quick Diff, and views with VS Code's Source Control UI.\n\nRefs atomicdotdev/atomic#171
@vinceblock99
vinceblock99 marked this pull request as draft September 3, 2026 00:37
@vinceblock99
vinceblock99 marked this pull request as ready for review September 3, 2026 18:39
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.

Missing vscode source control extension for atomic

1 participant