> Why did you choose "installs the minimal required version" instead of > maximum? We currently assume Nimble will grab a higher version, so we don't > test the minimum version at all. GitHub tags are a pain. I wish there was a > way around them, but I can't think of a quick solution.
Github tags are better than having to edit a nimble file and then also tagging. The version in the Nimble file is redundancy of the worst kind, it frequently goes out of sync and nobody notices. Minimal version selection makes lockfiles far less important, basically you get reproducible builds for free. > How do you handle situations when dependencies of the project need different > versions of the same package? It installs the higher version of the package and lets the programmer handle the problem himself, on his own. In the future it will rename the older package to package_commit and patch the `import` statements. But Nimble does not handle that case either, yet we manage. > How do you account for something needing .dlls included as well, especially > for Windows? Due to its simplicity, Atlas supports "foreign" dependencies naturally. You can `require "https://.../deps.dlls"` and it will end up in your workspace. You can then use a custom task to move the DLLs next to your `.exe`. Custom tasks are supported but not run automatically. > How do you manage something like Pixie which includes 200MB of testing data, > which isn't necessary to install? By telling Pixie's author he should have this testing data in a separate github repository which is downloaded and used in its CI. ;-) Or by doing nothing. It's not a big problem: You don't mind this data whenever somebody clones your project manually either. > Why did you choose to install into the "_dep" folder instead of, say, just > the root project folder? It's configurable and the default is not to use a "_deps" folder, the docs could be clearer on this. > What Atlas features will you be adding next? The ones I need to be able to patch my book to contain `atlas --autoWorkspace use pixels`