{"id":15284581,"url":"https://github.com/pantheon-systems/decoupled-kit-js","last_synced_at":"2025-04-05T01:05:33.177Z","repository":{"id":37077693,"uuid":"465777081","full_name":"pantheon-systems/decoupled-kit-js","owner":"pantheon-systems","description":"Pantheon's monorepo for JavaScript SDKs, starter examples, and published npm packages.","archived":false,"fork":false,"pushed_at":"2024-10-03T04:29:39.000Z","size":15791,"stargazers_count":25,"open_issues_count":8,"forks_count":32,"subscribers_count":9,"default_branch":"canary","last_synced_at":"2025-03-28T23:02:21.671Z","etag":null,"topics":["create-app","decoupled-kit","drupal","gatsby","headless","jamstack","nextjs","starter-kit","webops","wordpress"],"latest_commit_sha":null,"homepage":"https://decoupledkit.pantheon.io/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pantheon-systems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-03-03T15:32:36.000Z","updated_at":"2025-02-08T10:59:36.000Z","dependencies_parsed_at":"2022-07-14T05:30:42.449Z","dependency_job_id":"92a8c315-ea3a-426b-836d-24062914087f","html_url":"https://github.com/pantheon-systems/decoupled-kit-js","commit_stats":{"total_commits":2000,"total_committers":20,"mean_commits":100.0,"dds":0.5820000000000001,"last_synced_commit":"bcaf99c5c593cbf4713c25108d708f0f359fd48a"},"previous_names":[],"tags_count":335,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pantheon-systems%2Fdecoupled-kit-js","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pantheon-systems%2Fdecoupled-kit-js/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pantheon-systems%2Fdecoupled-kit-js/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pantheon-systems%2Fdecoupled-kit-js/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pantheon-systems","download_url":"https://codeload.github.com/pantheon-systems/decoupled-kit-js/tar.gz/refs/heads/canary","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247271520,"owners_count":20911587,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["create-app","decoupled-kit","drupal","gatsby","headless","jamstack","nextjs","starter-kit","webops","wordpress"],"created_at":"2024-09-30T14:58:36.367Z","updated_at":"2025-04-05T01:05:33.160Z","avatar_url":"https://github.com/pantheon-systems.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Pantheon Systems Decoupled Kits\n\n![Unit Tests](https://github.com/pantheon-systems/decoupled-kit-js/actions/workflows/run-tests.yml/badge.svg)\n![Headless regression testing](https://github.com/pantheon-systems/decoupled-kit-js/actions/workflows/cli-addon-tests.yml/badge.svg)\n![Canary Release](https://github.com/pantheon-systems/decoupled-kit-js/actions/workflows/canary-release.yml/badge.svg)\n![Split Canary Sites](https://github.com/pantheon-systems/decoupled-kit-js/actions/workflows/canary-sites-split.yml/badge.svg)\n![Starter Split and Changesets](https://github.com/pantheon-systems/decoupled-kit-js/actions/workflows/release-and-split.yml/badge.svg)\n\n- [Prerequisites](#prerequisites)\n- [Getting Started](#getting-started)\n- [Versions and Releases](#versions-and-releases)\n- [Reporting](#bug-reports-and-feature-requests)\n- [Further Reading](#further-reading)\n\n## Prerequisites\n\nWelcome to the Pantheon Systems Decoupled Kit Monorepo\n\nThis repo is a collection of multiple projects, organized by `pnpm` workspaces.\n\n### Workspaces\n\nThere are two main workspaces in the monorepo, `starters`, and `packages`, along\nwith a `configs` workspace and `web` which houses the documentation.\n\n#### Starters\n\nEach directory in this workspace represents a starter kit that is mirrored to a\nstandalone repo at release time. Please use the monorepo to develop against the\nstarters.\n\n#### Packages\n\nThe starters have a dependency on one or more of our npm packages, which live in\nthis workspace. Each directory in this workspace represents a library to be\npublished on `npm`, and to be consumed by the public, and our starter kits.\n\n### Setup the Monorepo\n\nTo configure the monorepo for development, the following should be installed\nlocally:\n\n- Node.js LTS version. We recommend using\n  [nvm](https://github.com/nvm-sh/nvm)\n- [npm](https://docs.npmjs.com/cli/v8/commands/npm) version 10.x.x\n- [pnpm](https://pnpm.io/installation) version 8.x.x\n\n  We recommend using npm. Run the following command to install:\n\n  ```bash\n  npm install -g pnpm@8\n  ```\n\n---\n\n## Configure the Monorepo\n\nTo contribute to this project, follow the directions below. Also see\n[CONTRIBUTING.md](./CONTRIBUTING.md) for more information.\n\n1. [Fork this repo](https://github.com/pantheon-systems/decoupled-kit-js/fork)\n1. Clone your fork to your local machine.\n1. Install dependencies for all packages and starters using the following\n   command. A postinstall script will build the packages:\n   ```bash\n   pnpm install\n   ```\n1. Install the\n   [husky pre-commit hooks](https://github.com/pantheon-systems/decoupled-kit-js/blob/canary/.husky/pre-commit).\n   Run the following command:\n   ```bash\n   pnpm husky install\n   ```\n\n### Useful Scripts\n\nThere are several scripts you can use in the monorepo.\n\n- To see all available scripts:\n  ```bash\n  pnpm run\n  ```\n- Test all projects in the monorepo that have a test script:\n  ```bash\n  pnpm test\n  ```\n- Build all packages in the monorepo:\n  ```bash\n  pnpm build:pkgs\n  ```\n- Start the `nextjs-kit` in watch mode:\n  ```bash\n  pnpm watch:nextjs-kit\n  ```\n- Build and run the documentation:\n\n  ```bash\n  pnpm generate-docs \u0026\u0026 pnpm start:docs\n  ```\n\n- Run commands in a targeted project, folder, or workspace, using the\n  [`pnpm` filter flag](https://pnpm.io/filtering).\n\n  For example, to start the Gatsby starter (filter by namespace):\n\n  ```bash\n  pnpm --filter gatsby-wordpress-starter develop\n  ```\n\n- Lint the starters (filter by directory):\n\n  ```bash\n  pnpm --filter './starters/**' lint\n  ```\n\nIf you need to run a command in a specific project, use the alias in the ROOT\n`package.json` scripts (`pnpm run` to see the full list in your terminal), or\nuse a filter. Please do not `cd` into the project directory and use `npm` or\n`yarn`.\n\n---\n\n## Versions and Releases\n\n### Generating a Changeset\n\nTo generate a new changeset, run `pnpm changeset` in the root of the repository.\nThe generated Markdown files in the `.changeset` directory should be committed\nto the repository.\n\n### Creating and Publishing New Versions\n\nVersions and releases are created as part of our CI process and typically should\nnot be created manually.\n\n#### Canary Releases\n\nEach push to the `canary` (default) branch triggers the `canary-release.yml`\nGitHub Action workflow which will open a PR back to the repo, and on merge it\nwill release any package with a changeset to the `canary` tag on GitHub and npm.\n\n---\n\n## Bug Reports and Feature Requests\n\n- Is the code in this repository not working as expected?\n  [Open a bug report here](https://github.com/pantheon-systems/decoupled-kit-js/issues/new?template=bug-report-template.yml)\n\n- Is there something you would like to see added to this project?\n  [Open a feature request here](https://github.com/pantheon-systems/decoupled-kit-js/issues/new?template=feature-request-template.yml)\n\n---\n\n## Further Reading\n\nFor more information on contributing to this project, see\n[CONTRIBUTING.md](https://github.com/pantheon-systems/decoupled-kit-js/blob/canary/CONTRIBUTING.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpantheon-systems%2Fdecoupled-kit-js","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpantheon-systems%2Fdecoupled-kit-js","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpantheon-systems%2Fdecoupled-kit-js/lists"}