[low-prio] Make repo more friendly for other code editors
Currently, all team members use VSCode, but that doesn't always have to be the case. In principle, we don't want to enforce any code editor. If someone feels more productive in another one, they should use that one.
In the past, we suggested VSCode because we love it and because we customized our dev experience in it, e.g. by setting up ESLint with the VSCode ESLint extension. Or think of the Ruby LSP plugin which provides excellent support for Ruby code highlighting, IntelliSense and many more niceties when working with Ruby code.
But the truth is that many of these tools can actually also be used in other editors. E.g. Ruby LSP supports multiple editors and team members should be free to use any editor & plugins they want to in order get good Ruby support when they are working with Ruby files. I mean RubyMine even has its own powerful Ruby features even without having to install a plugin (at least that's what I heard, I don't use it).
- [ ] So what about editor configuration, e.g. a configuration that we use 2 spaces to indent, or that our maximum hard line length is 100? For this, we should set up Editor Config, which is natively supported by many code editors. Great!
- [ ] Next, what about linting? Well, we already have a
.config/eslint.mjsfile. In VSCode we use the ESLint extension, which makes uses of that configuration file. Well, other editors could just use their own ESLint extension and read the same configuration. Furthermore, in case there is no ESLint extension for the other editor, we could set up GitHooks with Husky, see also this blog post for general best practices. This way, we can setup commands that run before every commit or even when files are staged, seelint-staged. But we already run linting in the CI/CD pipeline as well... - [ ] Then, what about tests? We should not run them as pre-hooks since they take too long. Generally, our unit tests run in Docker. Via custom commands we manage to be able to execute those tests right from within VSCode. But this should somehow be possible in other editors as well, and if not one can still run them in the command-line. Maybe one would have to add another Just command, but that' about it.
Let's only tackle this issue once we face the situation that a team member doesn't want to use VSCode. Otherwise, we're just wasting time since the setup is working fine for us right now. But it shouldn't be too difficult to make everything work in other IDEs as well.
In case another team member needs better support in other IDEs, please reply to this issue with further suggestions and which IDE you are using such that we can provide the best dev experience to the whole team.