Giter Club home page Giter Club logo

scripts-to-rule-them-all's Introduction

dxw's Scripts to Rule Them All

Template scripts to use in projects, based on GitHub's pattern with the same name.

Installation

For each language or stack, we have a set of scripts. To add them to a project, copy the full contents of the most appropriate folder to the root of the project and edit as needed. base is a good starting point if there's nothing more appropriate.

Contents

The template scripts for each language or stack assume the use of dxw's standard tools.

script/bootstrap

script/bootstrap should install all dependencies required to develop, build, and run the application.

The script can assume that any macOS environment uses Homebrew for package management and already has it installed. It can also assume that any non-development environment (such as CI) will install system dependencies prior to running the script.

script/setup

script/setup should set the application up in its initial state. If this isn't the first time working on a application, that means clearing any data or build artefacts, to return the application to a pristine state.

This should run script/bootstrap as an early step.

script/update

script/update should update the application to the latest configuration from any earlier version. This should update any dependencies and run any database migrations.

This should run script/bootstrap as an early step.

script/test

script/test should run the full test suite, including any linters. Linting tends to run faster than tests, so it's useful to put them first, so the suite fails faster.

A useful pattern to support is having an optional argument, a file path or pattern, for running a subset of the full suite.

This script should support being run in CI environments. If detection of the CI environment is required, use the presence of a CI environment variable.

This should run script/update as an early step.

script/server

If appropriate, script/server should start the application and any additional processes needed to support it.

This should run script/update as an early step.

script/build

If appropriate, script/build should create a production build of the application.

A useful pattern to support is having an optional argument to specify the target environment to build for.

This should run script/update as an early step.

script/console

If appropriate, script/console should open a console for the application.

A useful pattern to support is having an optional argument to specify an environment, to support connecting to other environments, like staging or production. By default, it should connect to the local development environment.

This should also do any setup required to connect to the console for the given environment.

No script/cibuild

We choose not to use a single build script for CI, preferring instead to have explicit steps in our CI configuration.

scripts-to-rule-them-all's People

Contributors

cristinaro avatar dependabot[bot] avatar dxw-rails-user avatar erbridge avatar floppy avatar jacksonj04 avatar pezholio avatar renovate[bot] avatar yndajas avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

scripts-to-rule-them-all's Issues

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Pending Approval

These branches will be created by Renovate only once you click their checkbox below.

  • Update dependency node to v20

Detected dependencies

github-actions
.github/workflows/ci.yml
  • actions/checkout v4
nodenv
.node-version
  • node 18.18.2
npm
package.json
  • prettier 3.0.3

  • Check this box to trigger a request for Renovate to run again on this repository

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.