tl;dr: Quick-as-lightning project instantiator.
I write tons of little apps in my free time. CLIs, frontends, packages, serverless projects... etc. The problem is, probably 75% of my time is taken up by dumb, mindless grind-work getting things like eslint/ava/process flow put together, and it's really hampered how quickly I can churn things out.
So this repo is a meta-repo. It allows you to instantiate a new project, in a style I find agreeable, in mere seconds. It doesn't hide anything, it doesn't magic away anything that isn't just completely dull as dishwater. It's just here to let me build. fast.
If there's anything in here that can be removed, it probably already has been. But make no mistake, I'm making some choices here. Every project uses ava
. Every project uses reasonable prettier
/eslint
rules. Every project is tied to a github repo. Custom configuration at instantiation time is a luxury for when this tool is used by anyone not named one19
, and only then. I will be debating optionally adding typescript
to some things, same with flow
. Otherwise, it'll be super duper barebones and no frills. Open an issue if you'd like, but a PR would be infinitely preferrable to my sanity, and yours, whomever you are. I hate this configuration shit, and this project is made to help me escape it, please don't drag me into more of it if you don't have to.
tl;dr: yarn global add @brightsole/new && new TYPEOF SOMETHING
You can create a variety of project types:
CLI
tl;dr: new cli [new-location-folderName] -[options]
New
can create an easy-to-start-with cli project with the command: new cli
. It takes one argument, the folderName, and tries to use that as the app name. You may also specify an alternate to override it with -n
. More options forthcoming.
The new cli has a few nice features: signale
, for a running log cli system, commander
the standard of excellence for consuming & using command line arguments & options, lodash
and ava
for testing.
Arg | Longform | Description | Example |
---|
* | | folderName/name of the new project | new cli <folderName> |
-n | --pretty-name | custom internal name to override folderName | new cli ../bingle -n 'super-bingle' |
FRONT
tl;dr: new front [new-location-folderName] -[options]
New
also allows you to create a new frontend
project. It has a few nice features: jest
for testing, parcel-bundler
for hot reload and production builds, axios
for network requests, styled-components
for css-in-js, and a-plus-forms
and a-plus-forms-json-validator
for forms & validation.
Arg | Longform | Description | Example |
---|
* | | folderName/name of the new project | new front <folderName> |
-n | --pretty-name | custom internal name to override folderName | new front ../bingle -n 'bingle-frontend' |