Now that the CLI support outputting to the yaml format, I think the last step is to improve the usability of inline scripts. Right now they are just yaml strings: https://github.com/windmill-labs/windmill-sync-example/blob/main/.wmill/f/examples/ban_user_example.flow.yaml#L15 but it means you cannot leverage your code editor in their respective languages. I'm thinking of unpacking single flows into folders with inline script as actual files in their respective languages. It would allow an almost full local development cycle for flows short of running them. It would also make reviews using PRs a lot more convenient. Thoughts?
Would love to see inline scripts as separat files. I notice it when I was searching for code to edit in my repo. Would def be an improvment for local development
That's one possibility given the current building blocks. However, the orchestrator can be implemented for a local execution in a simpler way since the correctness and distributed nature are a lot relaxed. You do not need to guarantee transactionality and recoverability of each step. I believe it would be entirely feasible to write a pure local executor that does not need any database and could execute the full flow. The secrets and variables could be fetched once into a "context" file
The other thing would be to add the flow builder as a vscode extension reusing most of the existing frontend as building blocks, and then it would be full circle
what would be the benefits here? that your code change is on the local instance asap? would it not be possible to just use wmill cli to push changes to the local dev container? something like while true; do wmill sync push --raw --yes; sleep 1; donewhile true; do wmill sync push --raw --yes; sleep 1; done I do not see the need to have a flow builder in vscode when you have it in windmill. it almost feels like your missing the point of windmill, but maybe other people see benefits I do not see.
Yes you could. Iframe would also work. I think there are lots of possibilities. One feedback that I receive is that being able to do IaaC for review is very important to more senior teams so that's probably the first thing to nail, and then it will be dev experience locally.
while true; do wmill sync push --raw --yes; sleep 1; done
while true; do wmill sync push --raw --yes; sleep 1; done