Hi team, I just had an idea to make our work easier.
I suggest adding a simple Makefile to all projects. there are many projects with lots of scripts and tools. A Makefile helps new developers start working quickly.
I think a standard command like make run or make build in all projects is great. This command runs the project code, so we don’t need to remember how to start it every time.
You can also add more things to the Makefile to make work easier. The goal is to make this standard across all projects, so everyone saves time.
let me give you an example in other project I do use it like this for example :
imagine the project has backend and frontend:
in backend:
make run ---- will run —> source .venv/bin/activate && python server.py
in frontend:
make run ---- will run —> pnpm run dev
…
in the desktop app I always run this to run the project:
DELTA_CHAT_RPC_SERVER=/some_path/deltachat-rpc-server pnpm -w dev:electron --allow-unsafe-core-replacement
so it can be replace like this:
on .env (which is not track by git) you mention DELTA_CHAT_RPC_SERVER place
and everytime you just run make run then it will run that.
if you see it is valuable I can try add it and then just test it is useful or not
I don’t see enough benefit in that - we already have pnpm scripts.
But nothing speaks against making a local/personal makefile for yourself or a shell alias. (back in the day I had made my own repo with helper scripts, then we had 3 instead of just 2 repos to connect, but nowadays I just clone the repos manually)
Replacing the DELTA_CHAT_RPC_SERVER is not the standard way of doing things, when you are using a locally compiled core version (for the purpose of adding new apis), then you should use the bin/link_core/link_local.sh script instead.
The usecase for DELTA_CHAT_RPC_SERVER is to test small core changes (like bugfixes) that don’t change the api. It only switches out the used rpc-server binary, it does not update the autogenerated deltachat api client (@deltachat/jsonrpc-client), so you can not use this method when you change the api.