Skip to content

scaffolding feature as a sub-command (devenv scaffold as a counterpart to devenv init) #1354

Open
@stuzenz

Description

@stuzenz

Maybe not a high priority, thought it would be worth noting another possible UX/DX opportunity.

As much as the current workflow and API to declare environments using devenv is great, I feel that a nice counterpart for devenv init could be a devenv scaffold command where you might even have some auto-suggest/completion working with it

The end result would be something like what we have in the examples folder of the devenv project where the devenv.yaml and devenv.nix config is declared based on the scaffold request.

It would only be for a starting point to further work with - but it could be a nice opinionated way to provide a starting position for the devenv.nix that goes beyond the empty slate start currently provided by devenv init.

Thinking out loud here, the naming conventions for the scaffolding options could closely align with the existing schema. However, if an auto-suggest feature were integrated into the terminal, it could significantly enhance usability.

For example, the command might look like this:
devenv scaffold languages.python venv pkgs.pip languages.rust cargo services.postgres

Or even continuing with the same devenv init command, but parse it for additional options.
devenv init languages.python venv pkgs.pip languages.rust cargo services.postgres

I think the scaffolding idea aligns with the thinking behind devenv - that it would reduce some friction from a DX perspective in setting up environments.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions