Project structure // UI components

You would need a homoiconic language, i.e. manipulate code as if it’s data (gross simplification). Not many languages are such. For example, Elixir is not, and LISP is.

It’s not easy to have a context-aware program that rewrites another program. Furthermore, Elixir also doesn’t have a standard – but IMO that’s not a problem because the generated AST by the compiler is fairly stable.

I’d love working on something like this but alas, no free time and energy in the last 2 years.