t3-oss / create-t3-app

The best way to start a full-stack, typesafe Next.js app
https://create.t3.gg
MIT License
25.45k stars 1.17k forks source link

feat: Optional tools for team work #1267

Closed ObaidQatan closed 1 year ago

ObaidQatan commented 1 year ago

Is your feature request related to a problem? Please describe.

The boilerplate is powerful, however when I work together with team members, we always wanted our favorite tools for checking and testing maybe. Integration of tools like jest, husky, ci, and branch-protection would be great.

Describe the solution you'd like to see

Developers can definitely choose the libraries they prefer, however when working with a team, wouldn't it be better if we just stick into particular loved tools to ensure applying the same rules (as in frameworks) ? Something like this:

? Which packages would you like to enable? nextAuth, prisma, tailwind, trpc
? Would you like to integrate team tools? [Y\n] y
? Enable branch protection? [Y\n] y
> Enter protected branch name: dev

This will initialize:

Describe alternate solutions

These tools can also be installed optionally, the same way prisma, nextAuth, trcp and tailwind are integrated:

? Which packages would you like to enable? nextAuth, prisma, tailwind, trpc, husky, jest

Additional information

Similar case I have seen, initially Prettier was not configured by default, some people may even prefer other alternatives. However, in team work, differences in code prettying rules may result to problems like meaningless conflicts when merging PR, or difficulty in debugging other members code.

c-ehrlich commented 1 year ago

There are so many different ways to set these things up that no matter what we include more people will be annoyed by it than happy about it. The goal of Create T3 App is to take care of the boilerplate around these specific packages for you, not provide everything that your team could ever need for a project. That part is your job.