Choosing Runtime
Runtime choice is not just about language preference. It changes how the plugin runs, what the execution machine must have installed, and how simple CI and handoff will be.
Choose Go When
- you want the strongest runtime lane
- you want typed handlers and the cleanest release story
- you want the least bootstrap friction in CI and on other machines
Choose Python Or Node When
- the plugin is repo-local by design
- your team already lives in that runtime
- you accept owning runtime bootstrap yourself
- you are comfortable with Python
3.10+or Node.js20+being present on the execution machine
Choose Shell Only When
- you need a narrow escape hatch
- you explicitly accept an experimental or advanced tradeoff
Safe Default Matrix
| Situation | Recommended choice |
|---|---|
| Strongest runtime lane | go |
| Main non-Go runtime lane | node --typescript |
| Local Python-first team | python |
| Escape hatch | shell |