- Compiler/parser for programming languages (to see if code compiles)
- Read and write access to a given directory on the file system (to automatically change a code base)
- Access to given tools, to be invoked in that directory (cargo test, npm test, ...)
Then I could just say what I want, lean back and have a functioning program in the end.