CoForge
CoForge lets developers create and join shared VS Code collaboration sessions, synchronize workspace changes, and coordinate saved document versions with other collaborators. Marketplace: https://marketplace.visualstudio.com/items?itemName=coforge.coforge FeaturesCollaboration SessionsCreate and join collaboration sessions using a unique session ID. Workspace SynchronizationCollaborators can synchronize the shared workspace state. Save-Based Document SynchronizationDocument editing remains local while users type. A successful save becomes a collaboration event. First-Save-WinsThe server uses document revisions. If multiple users are editing the same revision: the first valid save is accepted. Subsequent stale saves are rejected. File ManagementSupport:
WebSocket CommunicationCoForge uses WebSockets for collaboration/session communication. ReconnectionClients can reconnect and synchronize with the latest accepted workspace/document state. VS Code IntegrationCoForge works directly through the VS Code Command Palette. How synchronization worksCoForge intentionally does not synchronize every keystroke between users. Each collaborator can edit their local copy independently. When a user saves, CoForge sends the saved document version to the collaboration server. The server checks the document revision. If the save is based on the current revision, it is accepted and becomes the new collaborative version. If another collaborator has already saved a newer revision, the stale save is rejected.
How to Use CoForgeSTART → SHARE SESSION ID → JOIN → COLLABORATE → SAVE → STOP Start a Collaboration Session1. Open your projectOpen the workspace/project you want to collaborate on in VS Code. 2. Open Command PalettePress:
3. Start CoForgeSearch for:
Select it. CoForge creates a collaboration session. You will receive a unique session ID. Example:
IMPORTANT: This is only an example. Your actual session ID will be different. 4. Share the Session IDCopy the session ID and send it to your teammate. Example: Host:
Join a Collaboration Session1. Open the project/workspaceOpen VS Code on the collaborator's computer. 2. Open Command PalettePress:
3. Join CoForgeSearch:
Select it. 4. Enter the Session IDEnter the session ID provided by the host. Example:
5. ConnectOnce connected, CoForge synchronizes the collaboration/workspace state. The collaborator can now work in the shared session. Collaborative EditingTyping is local. CoForge does not broadcast every keystroke. This allows each developer to work normally without cursor jumping or live-edit conflicts. When you are ready to publish your changes to the collaboration session, save the file. Example: User A edits:
User B edits:
Both can work independently. When A saves first: A's saved version becomes the accepted version. B receives the accepted version. If B tries to save an older revision afterward: CoForge rejects the stale save. First-Save-WinsInitial revision: 10 User A edits locally. User B edits locally. Both are based on revision 10. A saves: SAVE revision 10 Server: 10 == current revision ACCEPT Current revision becomes: 11 B then tries: SAVE revision 10 Server: 10 != current revision 11 REJECT B receives the current revision 11. This prevents stale edits from overwriting an already accepted collaborative version. Stop Collaboration1. Open Command PalettePress:
2. Search:
3. Select the commandStops the local client's active collaboration connection. Command Reference
Quick StartHost:
Collaborator:
Finish:
Architecture
Document save flow:
Tech Stack
Testing8 test suites passed — 78 tests passed. DevelopmentInstall:
Compile:
Test:
Package:
Server:
Production server build:
Project Structure
Known LimitationsSave-Based SynchronizationCoForge intentionally uses save-based synchronization rather than per-keystroke live synchronization. Unsaved changes remain local until the user saves. First-Save-WinsIf multiple collaborators edit the same document revision, the first valid save is accepted. Later stale saves are rejected. PersistenceCollaborative save behavior is currently designed around VS Code's save lifecycle. Roadmap
Changelogv1.0.8
|