Exploring Development Workflow Options for Replit and Intellij IDE

First off I like replit because it’s really easy to share and iterate for smaller things. I like to move fast with my development. But I can’t stand developing on the browser. It’s just a nightmare. So I want to use my own IDE (intellij). I’ve used Forklift 3 + sftp to the replit instance, but it’s very slow. Provided the changes will mostly occur on my end and then propogate up I was considering utilizing Intellij’s deployment functionality to automatically push up changes. But this concerns me because I won’t get the relevant downstream changes as I will be ssh’ing into the instance and then running things from there.
I was also looking into different protocols and it seems like NFS could work. But because I’m not able to install any packages it’s kind of a wash. The best I can think of is either there’s a way to lazy sync my local documents and the ones on the server (allowing them to get out of sync due to the workflow making since for that). But Forklift 3 is not able to do that (at least not that I can tell).
I recall once logging into a remote host filesystem using my intellij IDE, but when I try to do that I get some weird errors that I’ve tried and failed to fix.

2023-04-23 04:28:43,803 INFO uname -sm stdout: Linux x86_64
2023-04-23 04:28:44,013 INFO echo $SHELL stdout: /bin/bash
2023-04-23 04:28:44,326 INFO uname -sm stdout: Linux x86_64
2023-04-23 04:28:44,635 INFO echo $SHELL stdout: /bin/bash
2023-04-23 04:28:44,952 INFO /bin/bash -lc echo\ REMOTE_EXEC_OUTPUT_MARKER_\ &&\ echo\ $HOME stdout: REMOTE_EXEC_OUTPUT_MARKER_ [REDACTED]
2023-04-23 04:28:45,258 INFO /bin/bash -lc echo\ REMOTE_EXEC_OUTPUT_MARKER_\ &&\ echo\ $XDG_CACHE_HOME stdout: REMOTE_EXEC_OUTPUT_MARKER_
2023-04-23 04:28:45,571 WARN exit code: 1 /bin/bash -lc echo\ REMOTE_EXEC_OUTPUT_MARKER_\ &&\ test\ -f\ [REDACTED] stdout: REMOTE_EXEC_OUTPUT_MARKER_
2023-04-23 04:28:45,873 INFO /bin/bash -lc echo\ REMOTE_EXEC_OUTPUT_MARKER_\ &&\ dirname\ [REDACTED] stdout: REMOTE_EXEC_OUTPUT_MARKER_ [REDACTED]
2023-04-23 04:28:46,174 INFO /bin/bash -lc echo\ REMOTE_EXEC_OUTPUT_MARKER_\ &&\ ls\ -la\ [REDACTED] stdout: REMOTE_EXEC_OUTPUT_MARKER_ total 2940 drwxr-xr-x 1 runner runner 596 Apr 23 08:40 . drwxr-xr-x 1 runner runner 34 Apr 23 07:28 .. -rw-r--r-- 1 runner runner 1000848 Apr 23 08:40 remote-dev-worker_609bb1edddae1ee85f1ab1e3a1d5ec2b88487d43f3dfc26fd826926f2de9dda2.5240978087875.tmp -rw-r--r-- 1 runner runner 1000848 Apr 23 07:29 remote-dev-worker_609bb1edddae1ee85f1ab1e3a1d5ec2b88487d43f3dfc26fd826926f2de9dda2.952608275083.tmp -rw-r--r-- 1 runner runner 1000848 Apr 23 07:29 remote-dev-worker_609bb1edddae1ee85f1ab1e3a1d5ec2b88487d43f3dfc26fd826926f2de9dda2.971682679791.tmp
2023-04-23 04:28:46,388 INFO /bin/bash -lc echo\ REMOTE_EXEC_OUTPUT_MARKER_\ &&\ mkdir\ -p\ [REDACTED] stdout: REMOTE_EXEC_OUTPUT_MARKER_
2023-04-23 04:28:46,620 WARN exit code: null (timeout) dd of=[REDACTED] stdout: stdout used for binary data

Anyway, I was thinking one way that could probably work was if I hosted the ssh server and the their instance connected to me, that way their syncing would be slow but it wouldn’t impact my ability to do work efficiently (it being slow causes my IDE to freeze constantly and it’s very annoying).

I plan to provide a comprehensive guide in the future, but for now, I have utilized IntelliJ’s deployment feature, which includes an SFTP plugin and deployment workflow. Although it requires some familiarization, it functions effectively. Ideally, I would prefer to develop directly on the remote Repl, but it seems to be unfeasible at the moment.