Improving the Developer Experience Workflow #2379
mawburn
started this conversation in
Feature Requests & Suggestions
Replies: 2 comments 7 replies
-
Thanks for your feedback. The first thing I'll say is, ditch docker for developing on this project. It is dead simple without it. I'll do a quick write up for the list of commands I use. |
Beta Was this translation helpful? Give feedback.
3 replies
-
We do have this guide in the official docs that would've answered some of your questions: Turbo Repo isn't possible because we support 2 package managers (npm & bun) |
Beta Was this translation helpful? Give feedback.
4 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I believe that there is room to improve the developer experience for this repo. I'm not certain if there's a missing document or a detailed guide for everyone's flow, but, starting and running the repo in dev mode can be challenging. This certainly IS NOT a critique on the team or the project itself, but sometimes, these inconveniences happen with time, and it takes fresh eyes to identify things.
Identifying the Issue
Being new to this, my first PR has been a learning curve and gave me some insight into potential improvements. Despite the PR being small and trivial, getting the groundwork established wasn't. It actually took me quite a while between to work and life to get some time to sit down and figure out how to get a local dev environment up.
I set up the dev environment on two different MacOS machines, and the following steps were more or less the same on both. I don't use any other type of machine though, but I understand some of the limitations of other platforms. I admit, I might've overlooked some documented details, but here are the steps I followed:
npm install
, followed bynpm install
inapi
,data-provider
, andclient
folders. Post this, went back to root and again rannpm install
. At some point I also rannpm ci
to ensure everything was installed properly. There seems to be an insufficient documentation about this particular command, but it appears to perform more or less the same function as I did. Then I ranbackend:dev
andfrontend:dev
respectively.dev-compose.yml
to get the bare minimum features up and running.api/.env
, forcing me to modify the command to match the Port correctly forbackend:dev
.Suggested Remedies
a. Transition to Turbo Repo. I have been utilizing monorepos for node/js/ts projects since workspaces were first added to yarn and Turbo Repo has proven to be a game changer in terms of how to work with them. It makes things easier all around.
b. Switch to a more efficient workspace setup. The current arrangement seems like a chaotic blend of monorepo and other patterns, leading to disarray. A workspace revamp could be beneficial. Here is an example of a project that I have with a more standard yarn 1.x workspace. It's old, but the structure is still the same. The documentation isn't very good, but the repo structure should be familiar.
c. Beef up the documentation if I'm missing something, but I still think there is some room for some of the above.
docker-compose.yml
sincedeploy-compose.yml
is what I use on 2 small scale production instances I have running, but it might be useful to establish this as the basic installation requirement for operating in dev mode. Alternatively, adev-compose.yml
, similar to the one I used, could work.main
a tested branch vetted by multiple people on an occasional basis. PRs can merge to another branch which gets periodically reviewed on a local machine and then rebase into the main.a. Alternatively, setup a CI/CD pipeline that blocks merges to main until the full suite of tests are ran. Everything including linting, type checking, and tests including playwright. This is a lot more work both up front and in the long term though... but it cuts out the tedium.
My
dev-compose.yml
fileNote: I intentionally did not include any of the other services that seem to be in development still.
Beta Was this translation helpful? Give feedback.
All reactions