cursorless icon indicating copy to clipboard operation
cursorless copied to clipboard

Separate Cursorless into multiple parts

Open pokey opened this issue 3 years ago • 0 comments

The problem

The fact that all of the Cursorless code exists as part of the VSCode extension presents a few problems:

  • It is difficult / impossible to do #435
  • Other applications (eg https://github.com/david-tejada/rango) can't leverage our hat algorithms
  • We can't easily share code with our docs site, which would enable one source of truth between docs and code
  • We can't easily fake / mock pieces of VSCode to enable proper unit testing (today nearly all Cursorless tests are end-to-end)

The solution

We'd like to migrate to nx. We'll proceed as follows

  • [ ] Superficial transformation where we convert Cursorless to an nx repo, but keep all of the extension code in a single nx app. Note that the current cursorless-nx directory will become the root of the repo
  • [ ] Migrate the website directory to a docs nx app. Not sure exactly how to get docusaurus to work as an nx app
  • [ ] Migrate pieces of the Cursorless core to nx libraries as needed for using them in docs site or #435. Note that we'll rely on the abstractions introduced in https://github.com/cursorless-dev/cursorless/tree/main/src/ide to abstract away VSCode

pokey avatar Sep 09 '22 09:09 pokey