Reload work-in-progress plugin without Jekyll restart?

When I am writing custom _plugins/something.rb, every time I change and save it I have to restart the whole Jekyll site for the changes to take effect. Is it possible to avoid this?

No, it is not possible with vanilla Jekyll because the Ruby code is loaded into memory just once per build session.
Jekyll does not reload Ruby code and the config file(s) for technical reasons similar to above.

When I develop plugins, I use a very minimal site and uses numerous calls to puts where I’m doubtful of a result and simply runs with bundle exec jekyll build after each edit to the plugin.

I only use bundle exec jekyll serve when I’m working on the site’s content and theme templates.

That’s sad :frowning:. So this part of docs is not applicable to Jekyll?

That documentation is only for Liquid. Not for every project that Liquid.
Jekyll’s server runs outside the scope of Liquid.

you should be able to do this with gulp - it will run jekyll build on any change - or at least on what you tell it to watch.

This is a little old but should still apply:
https://rdyar.github.io/2016/03/25/gulp-file-for-jekyll-browser-sync/