Terminal integration
J
Joakim Isaksen
Adding a terminal integration for Devin could prove highly useful, as it would enable the user to run functions that may not be included in the UI, by creating commands for highly specific actions.
As an example, GitHub (a version control solution for developers) uses Git, a terminal program, to run its functions.
A good example for usage of this, would be in version control.
Some times, when fetching new changes, GitHub may ignore the local changes you have, and they seemingly dissappear.
Git has a lost&found function to recover local changes.
(I placed this request in the Version Control category, as in my opinion, this feature would be most useful in that category)
David Wollesen
open
David Wollesen
Thanks for your clarifications Joakim Isaksen. I can see the benefits of having the options to interact with Devin in a more CLI-kind-of-way. If we choose to prioritise this we would want to make sure that there are enough others also interested in it. Let us revisit it on the other side of the GA release and see how many upvotes it gets :)
J
Joakim Isaksen
Note: This does not need to be a CLI version. It could simply be a terminal software installed on the server to interact with Devin in a more vanilla fashion.
J
Joakim Isaksen
Another argument for this feature could be simpler automation.
If Devin can provide terminal commands, it is very accessible to automate actions, for instance with a batch/shell file.
This could provide interesting usage in a container such as Docker.
Terminal commands would also enable you to add more discrete functions to the arsenal, such as actions that do not deserve their own button/text box in the UI.
Keywords: Automation, Discrete functions
David Wollesen
under review
Thank you for your feature request! A CLI could indeed provide special actions, but I am not sure it is compatible with how Devin currently works.
The main reason for this is that everything on your development branch is hosted on your development server, and changes are thus not made (nor tracked) to any local files, but instead directly on open hosted files. There are many reasons for this. One being that it simply simplifies the whole idea about collaborative development because all developers just have access to the same file and can see live changes. However, it is in the longer term roadmap to support pushing updates to modules as patches (using FileMaker's Custom App Upgrade Tool CLI). But this tool is still not mature enough for us to implement and there is not really any way of automatically compartmentalizing the XML.
So, just to roll back, the current way Devin works does not handle any local changes and thus there are nothing to "fetch", "push" or "merge" to any remote branches. When you release a dev file it simply replaces the old master file. All dev and master files are handled on the dev server and all changes are tracked in the Devin Engine, which is also hosted on the dev server.
For the above reasons I am not sure a CLI would provide any useful functions? But there might be a perspective on this that I do not see. So please enlighten me if you have any good ideas 😊