C.W.K.
Stream
Lesson 03 of 04 · published

Why Not Fork VS Code or Obsidian

~11 min · fork, vscode, monaco, obsidian

Level 0Cold Draft
0 XP0/33 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete
"Cursor forks a code IDE because it wants that chrome. Rekindle flees it. Borrow the heart, not the house."

The VS Code Fork (Cursor's Path)

The obvious shortcut to "an AI editor" is to fork VS Code, the way Cursor did. For Cursor it's correct — Cursor is building a code IDE and wants all that chrome. For Rekindle it's exactly wrong, for three reasons. VS Code is roughly ten times the house Sublime was — the same half-unwanted-features problem, at maximum scale. Its heart is Monaco, a code editor whose model is line/column code cells, not prose. And a fork carries a permanent rebase tax against Microsoft's upstream: every VS Code release is a merge you must reconcile. Cursor has a team for that tax; a team of two does not.

The Obsidian Fork (Impossible Anyway)

The other instinct is to fork Obsidian, since it fits so closely. You can't: Obsidian is closed-source (free, Electron, proprietary). But even if you could, you shouldn't, and here's the unlock from Track 2 again — Obsidian's editing strength is CodeMirror 6's, not Obsidian's. The thing you'd fork Obsidian to get is a layer Obsidian itself borrowed. So the fork buys you a heavy Electron shell wrapped around a core you can take directly.

Borrow the Heart, Not the House

Both forks make the same mistake: taking a whole house to get one room. The room Rekindle wants is the editing core, and it's available as a clean MIT library. So Rekindle borrows the heart (CodeMirror 6) and builds its own light body (Tauri), instead of inheriting someone's entire application and their maintenance burden.

Fork VS Code    inherit a code IDE + Monaco (code model) + MS rebase tax
Fork Obsidian   impossible (closed) — and you'd wrap Electron around CM6 anyway
Borrow CM6      take exactly the editing core, in your own light shell

# Take the room, not the house. The room is MIT and portable.

Code

Take the room, not the house·text
Path            What you actually get
--------------  ---------------------------------------------------
Fork VS Code    a code IDE + Monaco (code/line-column model) +
                a permanent Microsoft-upstream rebase tax
Fork Obsidian   impossible (closed source); even if not, you'd be
                wrapping Electron around the CM6 you could take directly
Borrow CM6      exactly the editing core, MIT, in your own Tauri shell

# Forking takes a whole house to get one room.
# The room Rekindle wants (the editing core) is portable on its own.

External links

Exercise

Think of an app you'd love to build 'like, but different.' Ask: do I need the whole app, or one subsystem inside it? Then find whether that subsystem exists as a standalone library. If it does, forking the app is almost certainly the wrong move — you'd inherit a house to get a room, plus a lifetime of merging someone else's releases.
Hint
The question that dissolves most 'should I fork X?' debates: what is the ONE part of X I actually want, and is that part available on its own? If yes, borrow the part. Forking is for when you genuinely need the whole house.

Progress

Progress is local-only — sign in to sync across devices.
Spotted a bug or have feedback on this page?Report an Issue

Comments 0

🔔 Reply notifications (sign in)
Sign inPlease sign in to comment.

No comments yet — be the first.