Giter Site home page Giter Site logo

akd-io / create-next-stack Goto Github PK

View Code? Open in Web Editor NEW
558.0 558.0 27.0 3.41 MB

Create Next Stack is a website and CLI tool used to easily set up the boilerplate of new Next.js apps.

Home Page: https://www.create-next-stack.com

License: MIT License

TypeScript 98.24% JavaScript 0.62% Batchfile 0.03% Shell 0.04% CSS 1.06%
boilerplate cli eslint frontend nextjs prettier react scaffolding starter starter-kit template typescript web

create-next-stack's Introduction

Hello! πŸ‘‹

My name is Anders and I am from πŸ‡©πŸ‡°Copenhagen, Denmark. I am a passionate frontend engineer obsessed with improving software development projects, from enhancing user and developer experience to increasing maintainability and agility.

I have spent the last 5 years consulting as a frontend web developer for a dozen different companies. I have worked with many teams, technologies, and processes and love the ever-changing environment's many learning opportunities.

Whether you are looking for a frontend lead to lay a good foundation for your next web development project or an experienced React developer to help finish the last user stories before the deadline, LinkedIn is the place to get in touch.

Create Next Stack πŸš€

Check out Create Next Stack, an open-source website and CLI tool that helps frontend teams get Next.js projects set up in minutes instead of days.

create-next-stack's People

Contributors

akd-io avatar dag-andersen avatar dependabot[bot] avatar jewlexx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

create-next-stack's Issues

More addons

Can you please add these addons:

  • tailwindcss
  • nightwindcss
  • typescript
  • no css toggle
  • heroicons/react

Add opt-out option

Hey, what if I want to spin up a project, but don't need a form library?
For whatever reason. I thought, maybe an opt-out here would be a good idea.

What do you think?

Add support for plain JavaScript (No TypeScript)

To make it as easy as possible I've been toying with the idea of renaming and transpiling the TypeScript files to JavaScript to strip them of their types.
Other than that:

  • create-next-app should be called without the --typescript flag.
  • All ".ts" and ".tsx" extension references in generated code and config files should be updated to support both JavaScript and TypeScript. (This will make it easier for users to add TS support later)

Change to scalable design of generated content

Problem

Create Next Stack currently generates a custom landing page using the styling method the user provides. This provides the best experience for users but puts a big burden on maintainers and therefore won't scale very well.

Solution

I propose the following solution:

  • pages/index.tsx will render templates/LandingPage/LandingPage.tsx, so all the user has to do to delete the generated React code is deleting the templates directory and edit pages/index.tsx.
  • The templates/LandingPage directory will hold LandingPage.tsx as well as:
    • Technology section components, providing examples for all installed technologies, located at templates/LandingPage/**/*.tsx
    • CSS Modules co-located with each component, that is, at templates/LandingPage/**/*.module.css

Streamline CLI output

  • Make use of chalk to highlight important details
  • Make use of listr?
  • Use [INFO], [DEBUG], [WARN] and [ERROR]-level logs.
    • In turn change the --debug flag to enable [DEBUG]-level logs instead of current behavior.

Turn questionnaire into a series of inquiries

The current questionnaire exists of one large inquirer.prompt()-call.
Turn this into a series of prompts instead to streamline the user experience.

  • Turn questionnaire into a series of prompts
  • Substitute assets/screenshot.svg with a video

CLI: Make tests run in parallel

All e2e tests are currently running in sequence because simultaneous calls to npm i -g yarn (--package-manager=yarn) or npm install -g mrm@^3.0.0 mrm-task-lint-staged@^6.0.0 (--package-manager=npm) cause crashes.

Add support for VSCode extension recommendations

Generate VSCode extension recommendations

To do:

  • Add extension recommendations to README.md
  • Add extension recommendations to .vscode/extensions.json
  • Make sure that if several extensions recommends the same extension, it'll only be added once.
  • Consider looking through other loops extracting data from plugins, can make sure all these loops filter out duplicates where relevant.

Plugin extensions to be supported:

CLI: Add technology usage examples

When the user first runs yarn dev or similar, they should be greeted with a list of example usages of each of the technologies they added.

This will also enhance our testing confidence a lot. Primarily because these examples would be tested automatically by the build & lint test that's currently run. But it will also enable us to copy over and run Cypress or React Testing Library tests on the generated examples in future tests.

Technologies to generate a content section for:

  • Next.js
  • React
  • TypeScript
  • ESLint
  • Package manager:
    • Yarn
    • npm
  • Styling:
    • Emotion
    • Styled Components
    • Tailwind CSS
    • CSS Modules
    • CSS Modules + Sass
  • Component Libraries:
    • Chakra UI
    • Material UI
  • Form libraries
    • React Hook Form
    • Formik
  • Framer Motion
  • Prettier
  • Husky
  • Lint Staged
  • GitHub Actions

Fix `cd .` in output when running `create-next-stack .`

When using the appName ., the CLI will write the following on a successful run:

Successfully created project app-project-directory!

To get started, run:

    cd .
    yarn dev

The cd . command is unnecessary and should be removed.

Support multithreading

In my line of work I constantly create new next stacks and it would help a lot if your tool would allow for creating multiple projects concurrently.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.