epandco / epandco/unthink-cli

Separating out the unthink-stack to it's own repo.

Open
#65 12 comments 0 reactions 0 assignees View on GitHub
cli discussion proposal template
Dominant language
TypeScript
Stars
1
Forks
1
PR merge metrics
No merged PRs in 30d

Description

I would like to revisit separating out the unthink-stack template into it's own repo. Having it in the CLI repo got the tool out quickly but I think as this stack expands it will be hard to maintain the changes.

A few specific examples that I think would push us to doing this and I think also opens up a broader conversation about the `feature` functionality we want to add to the CLI.

1. Serverless is a goal and as I think through the "base" template it is a bit different than the current `unthink-stack` and would include different scripts.
2. To that end there would be a different "base" template for Azure and AWS because of how each wants their projects to be.
3. Similarly in the future say we needed an angular App while the server side pieces may stay largely the same the front end structure would differ and the scripts would too.

That leads me to that broader conversation where it feels like the CLI repo just needs to the core menu of what "kind" of stack you want and after that the features/menus are provided by a plugin for that "stack".

So thinking each variation of the stack is it's own repo/plugin for glue gun that offers context specific options. In fact I wonder if we can go a step further in how we break up the pieces to create combinations like so:

Potential repos/plugins:

- unthink-stack-server-express
- unthink-stack-server-aws-lambda
- unthink-stack-server-azure-functions
- unthink-stack-client-riot
- unthink-stack-client-angular

I'm including `angular` only to show variation on the client side with it but the point is that the CLI then could let you build out your stack potentially if we can ensure client/server is decoupled so that you can pick and choose like that.

The benefit here to me is that each can be maintained and versioned separately and not trying to account for this is one monolithic `unthink-stack` directory in the CLI. Each plugin would likely have features tailored to it so it makes sense I think to push features down into those as well.

Certainly need more discussion around this just trying to kick it off.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.