Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/bevry/boundation

Automatic scaffolding and upgrading of your JavaScript ecosystem projects using Bevry's best practices
https://github.com/bevry/boundation

app scaffold scaffolder

Last synced: 2 months ago
JSON representation

Automatic scaffolding and upgrading of your JavaScript ecosystem projects using Bevry's best practices

Awesome Lists containing this project

README

        

# boundation

Status of the GitHub Workflow: bevry
NPM version
NPM downloads


GitHub Sponsors donate button
ThanksDev donate button
Liberapay donate button
Buy Me A Coffee donate button
Open Collective donate button
crypto donate button
PayPal donate button


Discord server badge
Twitch community badge

Automatic scaffolding and upgrading of your JavaScript ecosystem projects using Bevry's best practices

## Usage

Install the package globally on Node.js v12 or higher using `npm install --global boundation` then run `boundation` on your project or in an empty directory.

It will ask you several questions about your project, then initialise or upgrade the project with the latest Bevry best-practices.

## Features

- Supports JavaScript, TypeScript, CoffeeScript, and Website projects
- Automatic [Editions](https://github.com/bevry/editions) setup and upgrades for automatic selection of the best edition for the environment, allowing you to develop for the latest environment with the latest technology, then automatically test on and support older environments
- Automated edition generation so the one package can be used between Node.js, Web Browsers, and Deno where applicable
- Automated ES6 Import and CJS Require compatibility generation
- Automated compatible editions generated for Web Browsers, Node.js, Deno
- Each generated edition is targeted specifically for each version of each target that you intend to support, with each edition compatibility tested by [Testen](https://github.com/bevry/testen) and trimmed if redundant overlaps are present
- Uses [Projectz](https://github.com/bevry/projectz) to automatically generate and maintain your readme, license, badges, and the contributing file
- Automatically configures sensible defaults based on the features that your project is using, while maintaining support for your extensions and customisations, supports
- TSConfig for JavaScript and TypeScript projects
- ESLint for JavaScript and TypeScript projects
- Flow for JavaScript projects
- CoffeeLint for CoffeeSCript projects
- Zeit's Now and Next.js
- DocPad Plugins
- Automatically gives you documentation generation and publishing for the following:
- TypeDoc for TypeScript projects
- JSDoc for JavaScript projects
- YUIDoc for new CoffeeScript projects, and Biscotto for older projects
- Automated GitHub Actions setup and configuration for a variety of projects
- Automated package dependency upgrades and migrations to compatible versions
- Powerful NPM Scripts
- `npm run our:setup` for setting up the project for development
- automatic addition of your `my:setup:*` scripts
- `npm run our:compile` for compiling the project
- automatic addition of your `my:compile:*` scripts
- `npm run our:deploy` for linting
- automatic addition of your `my:deploy:*` scripts
- `npm run our:meta` for compiling the meta files
- automatic addition of your `my:meta:*` scripts
- `npm run our:verify` for linting and tests
- automatic addition of your `my:verify:*` scripts
- `npm run our:release` for for releasing your project
- on code projects, it will run verify, check for uncommitted changes, a changelog entry, performing the git tag automatically, and the git push
- on website projects, it will run verify and git push
- automatic addition of your `my:release:*` scripts

## Install

### [npm](https://npmjs.com "npm is a package manager for javascript")

#### Install Globally

- Install: `npm install --global boundation`
- Executable: `boundation`

#### Install Locally

- Install: `npm install --save boundation`
- Executable: `npx boundation`
- Import: `import pkg from ('boundation')`
- Require: `const pkg = require('boundation').default`

### [Editions](https://editions.bevry.me "Editions are the best way to produce and consume packages you care about.")

This package is published with the following editions:
- `boundation` aliases `boundation/source/index.js`
- `boundation/source/index.js` is [ESNext](https://en.wikipedia.org/wiki/ECMAScript#ES.Next "ECMAScript Next") source code for [Node.js](https://nodejs.org "Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine") 18 || 20 || 21 with [Import](https://babeljs.io/docs/learn-es2015/#modules "ECMAScript Modules") for modules

## History

[Discover the release history by heading on over to the `HISTORY.md` file.](https://github.com/bevry/boundation/blob/HEAD/HISTORY.md#files)

## Backers

### Code

[Discover how to contribute via the `CONTRIBUTING.md` file.](https://github.com/bevry/boundation/blob/HEAD/CONTRIBUTING.md#files)

#### Authors

- [Benjamin Lupton](https://balupton.com) — Accelerating collaborative wisdom.

#### Maintainers

- [Benjamin Lupton](https://balupton.com) — Accelerating collaborative wisdom.

#### Contributors

- [Benjamin Lupton](https://github.com/balupton) — [view contributions](https://github.com/bevry/boundation/commits?author=balupton "View the GitHub contributions of Benjamin Lupton on repository bevry/boundation")

### Finances

GitHub Sponsors donate button
ThanksDev donate button
Liberapay donate button
Buy Me A Coffee donate button
Open Collective donate button
crypto donate button
PayPal donate button

#### Sponsors

- [Andrew Nesbitt](https://nesbitt.io) — Software engineer and researcher
- [Balsa](https://balsa.com) — We're Balsa, and we're building tools for builders.
- [Codecov](https://codecov.io) — Empower developers with tools to improve code quality and testing.
- [Frontend Masters](https://FrontendMasters.com) — The training platform for web app engineering skills – from front-end to full-stack! 🚀
- [Mr. Henry](https://mrhenry.be)
- [Poonacha Medappa](https://poonachamedappa.com)
- [Rob Morris](https://github.com/Rob-Morris)
- [Sentry](https://sentry.io) — Real-time crash reporting for your web apps, mobile apps, and games.
- [Syntax](https://syntax.fm) — Syntax Podcast

#### Donors

- [Andrew Nesbitt](https://nesbitt.io)
- [Ángel González](https://univunix.com)
- [Armen Mkrtchian](https://mogoni.dev)
- [Balsa](https://balsa.com)
- [Chad](https://opencollective.com/chad8)
- [Codecov](https://codecov.io)
- [dr.dimitru](https://veliovgroup.com)
- [Elliott Ditman](https://elliottditman.com)
- [entroniq](https://gitlab.com/entroniq)
- [Frontend Masters](https://FrontendMasters.com)
- [GitHub](https://github.com/about)
- [Hunter Beast](https://cryptoquick.com)
- [Jean-Luc Geering](https://github.com/jlgeering)
- [Lee Driscoll](https://leedriscoll.me)
- [Michael Duane Mooring](https://mdm.cc)
- [Michael Harry Scepaniak](https://michaelscepaniak.com)
- [Mohammed Shah](https://github.com/smashah)
- [Mr. Henry](https://mrhenry.be)
- [Nermal](https://arjunaditya.vercel.app)
- [Pleo](https://pleo.io)
- [Poonacha Medappa](https://poonachamedappa.com)
- [Robert de Forest](https://github.com/rdeforest)
- [Rob Morris](https://github.com/Rob-Morris)
- [Scott Kempson](https://github.com/scokem)
- [Sentry](https://sentry.io)
- [ServieJS](https://github.com/serviejs)
- [Skunk Team](https://skunk.team)
- [Syntax](https://syntax.fm)
- [WriterJohnBuck](https://github.com/WriterJohnBuck)

## License

Unless stated otherwise all works are:

- Copyright © [Benjamin Lupton](https://balupton.com)

and licensed under:

- [Artistic License 2.0](http://spdx.org/licenses/Artistic-2.0.html)