Netlife Sprout 🌱
🌱 A CLI-based scaffolder that outputs tailored project starters.
Netlife Sprout is a tool created by folks at Netlife.com, so that they could start new projects more effectively, with best practices, reuse and planet first in mind.
👉 The project is in ALPHA (work in progress).
Installation & Usage
Choose one of these methods:
npm init sprout
npx create-sprout
npm install -g create-sprout
...and then you'll be able to use the create-sprout
command.
Using the CLI
create-sprout
By default, when running create-sprout
without any option or flag, you'll be presented with prompts, so you can tailor the application to your needs without being familiar with available options or flags.
But for those interested in automation or simply in saving time, there are some pre-defined CLI commandos at your disposal:
1. The first config option is the template/project type
Currently fullstack-gatsby-sanity
or fullstack-next-sanity
.
create-sprout fullstack-next-sanity
--yes
or -y
2. When passed, prompts will be skipped. Useful when passing both choices and chosen flags, making the prompt unnecessary.
👉 Without defining the first config option (template choice), it will default to
Fullstack Gatsby Sanity
.
create-sprout --yes
create-sprout fullstack-gatsby-sanity -y
--git
or -g
3. When passed, git init
will be run, initialising a git
repo with all files unstaged. Default is false
.
create-sprout fullstack-next-sanity --yes --git
create-sprout fullstack-next-sanity -y -g
--install
or -i
4. When passed, npm install
will be run, initialising all dependencies specified in the chosen / tailored package.json
file.
create-sprout fullstack-next-sanity --yes --git --install
create-sprout fullstack-next-sanity -y -g -i
--gatsbyDefaultEnvironment
5. create-sprout --gatsbyDefaultEnvironment production
--nodeVersion
6. create-sprout --nodeVersion 12.18.0
--ownersName
7. create-sprout --ownersName 'Owner Inc.'
--projectName
8. create-sprout --projectName 'Nice Project Name'
--projectDescription
9. create-sprout --projectDescription 'Such Wow Description'
--repoOwner
10. create-sprout --repoOwner dreamyguy
--sanityAuthToken
11. create-sprout --sanityAuthToken lkasjflkjasldfjlkajsdkfjlkajsdfkljsalkjdfsomethingsomething
--sanityProjectId
12. create-sprout --sanityProjectId 701kayak107
--sanityDataset
13. create-sprout --sanityDataset production
--siteUrl
14. create-sprout --siteUrl http://thisistheurl.io
Using the full potential of the CLI, with all options, without even installing it first (using npx
):
npx create-sprout fullstack-gatsby-sanity --gatsbyDefaultEnvironment envelope --nodeVersion 12.18.0 --ownersName 'Owner Inc.' --projectName 'Naming Names in the Name' --projectDescription 'Such Wow Description' --repoOwner 'Dreamyguy' --sanityAuthToken lkasjflkjasldfjlkajsdkfjlkajsdfkljsalkjdfsomethingsomething --sanityDataset produccione --sanityProjectId 701kayak107 --siteUrl http://thisistheurl.io --yes --git --install
What kind of apps are available?
Currently only two: Fullstack Gatsby Sanity and Fullstack Next Sanity. None of them are fully functional at the moment. The project is in ALPHA (work in progress).
Watch this space for highly configurable starters with React, Sanity, Gatsby, NextJs, Bit integration, extensive testing and many other goodies, all bundlet as options within created-sprout.
Extended DOCS
License
Credits
Everyone involved in this project deserve a mention and a big thanks. If you got involved and are not listed, feel free to add your own name. Sorted alphabetically:
- Aleksander Andersen - @lordaust
- Haakon Borch - @haakonmb
- Kevin Bodi - @KevinBodi
- Kristi Faye-Lund - @kfayelun
- Lars Tollefsen - @LarsTollefsen
- Leo Toneff - @bragle
- Milosz Hygen - @miloszhygen
- Sjur Bjørndalsæter - @kodehode
- Wallace Sidhrée - @dreamyguy
Sources
Certain parts of Netlife Sprout are based on, inspired by and/or borrowed from some great open-source projects. There were great researches done as well:
- CLI:
- Heavily based on Create Some App, by Wallace Sidhrée.
- Inspired by Pegmata, by Milosz Hygen.
- Styles & components:
- Initial setup by Kristi Faye-Lund, Leo Toneff & Lars Tollefsen.
- Documentation:
- Initial research by Haakon Borch & Lars Tollefsen.
- Error logging:
- Initial research by Sjur Bjørndalsæter.
- Gatsby:
- Initial setup by Wallace Sidhrée.
- Sanity:
- Initial setup by Kevin Bodi.
- Testing rig:
- Heavily based on Figmatron 2000, by Wallace Sidhrée.