Hi there,
I've heard about Otto through various talks and podcasts recently, there seems to be quite a buzz.
I know it's early days, but I'm interested because it seems that Otto would be an great way to help both contributors and users get Ghost running quicker. We've been considering the concept of supporting a 'one true install' mechanism for a while and it might just be that this will make that super easy.
I've just tried it out, and run into an issue as well as found a few questions. I've numbered them to make them easier to respond to :)
1. I ran 'otto compile' and 'otto dev' from inside the Ghost repository. Ghost is a Node.js application, which otto has detected. However, the development environment setup by otto has Node v4.1.0 installed - a version of Node that Ghost does not support, as defined by the engine config in the package.json file. In our case this means `npm install` doesn't work and I can't use the dev environment provided :( It seems to me if you want to make otto great at auto-detecting environment settings, then the engine setting in package.json needs to be taken into account for determining which version of Node to use for a project.
2. One thing I haven't managed to figure out from the docs: is there, or will there be a way to define development only dependencies? E.g. Ghost needs phantom.js for running tests, but running the app doesn't require that, so we'd want it for the dev environment and not the deployment environment.
3. From my initial reading, I thought that otto only required an Appfile, but now using it I find there is a dotfile .ottoid and a dotfolder .otto, however I haven't created my own Appfile yet. What is actually required? I ask because I'm kinda protective over adding endless bits and bobs to the root folder of the repo - just makes the repo look daunting IMO. I'd love to see things like otto, travis, bower, and everyone else using a `.dotfiles` folder or something similar to keep it all together and tidy - you guys have the power to make this a standard ;)
4. Again from my reading I wasn't quite able to be sure - for projects like Ghost where there are many many people installing / deploying it, does the encrypted credentials cache file mean that it'll work just fine if we have a default infrastructure in the Appfile, each user would be able to specify their own credentials when deploying?
5. I see that support for DO has an open PR that's being held back, which I fully understand. Also, I know, only too well that 'when will it be ready' questions are literally the worst and most frustrating things ever. However, otto has me excited, and we definitely would want to set DO as the default infrastructure so I'm keen to find out if we're looking at 3 months, 6 months or more like a year?
Sorry for so many questions. If there's some way that Ghost can be a beta testing project, I'd be all for that :)
Thanks,
Hannah