Skip to content

Allow third-party plugins #136

@radix

Description

@radix

Like stackage-cli and lein, it would be nice if Stack provided a plugin system. The most obvious use of it would be to provide new stack subcommands for doing things that aren't natively built in.

There's a whole other category of potential plugins, though, and it may demand its own separate issue: plugins that don't add subcommands but rather alter other behavior. For example, assuming the existence of a stack new command which sets up a basic skeleton of code, it would be useful to allow plugins to provide different templates (e.g. a yesod scaffold template).

This may just be up to the individual tools to provide, but the reason I bring this up in the same ticket is this: like Lein, it would be great if Stack managed the use of all plugins in a homogenous way. For example, it would be great if you could specify plugins to depend on in ~/.stack/plugins.yaml (or whatever a good name for a user-wide stack configuration file would be), as well as in $PROJECT/stack.yaml in a plugins key. Of course, it should only be necessary to specify the name/version of the plugin you want, as stack can take care of automatically downloading and installing them for you! And whether these plugins provide subcommands or alter other behavior shouldn't matter; they should be enabled by the user in the same way.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions