‹ view all

Version control is archaic.

I sometimes dream about my ideal fully-versioned collaborative coding environment. Changes appear in real-time to all collaborators like google docs. The new code being typed isn’t active, it’s staged, it doesn’t actually run for anyone except the author. For everyone else it appears greyed-out like comments, like a hunk in a diff tool. A little button next to each change allows commit/push in a single tap, to activate that piece of code for everybody.

Conflicts are impossible, not permitted.

Commit/revert is indistinguishable from save/undo and there’s no save button; everything autosaves, the save points are synthesised into smart auto-commits that allow you to scrub back through the entire project history at your leisure, to set bookmarks which serve as versions.

All hacked on top of git.

Create New Project links to a community-maintained template library where every new instance is automatically scaffolded, added to GitHub and linked to a hosted build pipeline in one click.

I’d love that so much.