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 pnpm@8.x

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