Skip to main content

Pantheon Systems Decoupled Kits

CircleCI

Prerequisites

To configure the monorepo for development, the following should be installed locally:

  • Nodejs version 18 LTS. We recomemnd using nvm

  • npm version 9.x.x

  • pnpm version 8.x.x

    We recommend using npm. Run the following command to install:

    npm install -g [email protected]

Getting Started

  1. Fork this repo.
  2. Clone your fork to your local machine.
  3. Install dependencies for all packages and starters using the following command:
    pnpm install
  4. Install the husky pre-commit hooks. Run the following command:
    pnpm husky install

Useful Scripts

There are several scripts you can use on your monorepo.

  • Test all projects in the monorepo that have a test script:

    pnpm test
  • Build all packages in the monorepo:

    pnpm build:pkgs
  • Build all starters in the monorepo:

    pnpm build:starters
  • Build all projects in the monorepo:

    pnpm build:all
  • Run commands in a targeted project, folder, or workspace, using the pnpm filter flag.

    For example, to start the Gatsby starter from the root of the monorepo (filter by namespace):

    pnpm --filter './starters/gatsby-wordpress-starter' develop
  • Lint in the starters and filter by directory:

    pnpm --filter './starters/**' lint
  • Run documentation:

    pnpm --filter './web' start

Versions and Releases

Generating a Changeset

To generate a new changeset, run pnpm changeset in the root of the repository. The generated Markdown files in the .changeset directory should be committed to the repository.

Creating and Publishing New Versions

Versions and releases are created as part of our CI process and typically should not be created manually.

Bug Reports and Feature Requests

  • Is the code in this repository not working as expected? Open a bug report here

  • Is there something you would like to see added to this project? Open a feature request here

Further Reading

For more information on contributing to this project, see CONTRIBUTING.md