{"id":13393639,"url":"https://github.com/pinterest/gestalt","last_synced_at":"2025-05-14T12:06:59.198Z","repository":{"id":37952754,"uuid":"121806807","full_name":"pinterest/gestalt","owner":"pinterest","description":"A set of React UI components that supports Pinterest’s design language","archived":false,"fork":false,"pushed_at":"2025-04-10T19:57:12.000Z","size":68949,"stargazers_count":4290,"open_issues_count":0,"forks_count":372,"subscribers_count":68,"default_branch":"master","last_synced_at":"2025-05-07T11:41:52.561Z","etag":null,"topics":["design-system","javascript","react"],"latest_commit_sha":null,"homepage":"https://gestalt.pinterest.systems/","language":"TypeScript","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pinterest.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-02-16T22:17:51.000Z","updated_at":"2025-04-30T10:41:02.000Z","dependencies_parsed_at":"2023-09-22T04:32:13.868Z","dependency_job_id":"9c458f39-70ce-4470-935f-8a2155a456b8","html_url":"https://github.com/pinterest/gestalt","commit_stats":{"total_commits":5474,"total_committers":158,"mean_commits":34.64556962025316,"dds":0.5697844355133358,"last_synced_commit":"d2769c2c8279205690ee8bd0028196a657b5948e"},"previous_names":[],"tags_count":2770,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pinterest%2Fgestalt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pinterest%2Fgestalt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pinterest%2Fgestalt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pinterest%2Fgestalt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pinterest","download_url":"https://codeload.github.com/pinterest/gestalt/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254140741,"owners_count":22021218,"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":["design-system","javascript","react"],"created_at":"2024-07-30T17:00:57.756Z","updated_at":"2025-05-14T12:06:59.139Z","avatar_url":"https://github.com/pinterest.png","language":"TypeScript","readme":"# [Gestalt](https://gestalt.pinterest.systems/) \u0026middot; [![NPM Version](https://img.shields.io/npm/v/gestalt.svg)](https://www.npmjs.com/package/gestalt) [![License](https://img.shields.io/npm/l/gestalt?style=flat)](https://github.com/pinterest/gestalt/blob/master/LICENSE)\n\nGestalt is Pinterest’s design system. Our system includes a React component library with comprehensive guidelines, best practices, tools, and resources to support designers and engineers delivering a high-quality product.\n\n[Visit the official Gestalt Documentation](https://gestalt.pinterest.systems/)\n\n## Installation\n\nThe package can be installed via npm:\n\n```bash\nnpm i gestalt --save\nnpm i gestalt-charts --save\nnpm i gestalt-datepicker --save\n```\n\nOr via yarn:\n\n```bash\nyarn add gestalt\nyarn add gestalt-charts\nyarn add gestalt-datepicker\n```\n\n## Usage\n\nGestalt exports each component as ES6 modules and a single, precompiled CSS file:\n\n```js\nimport { Text } from 'gestalt';\nimport 'gestalt/dist/gestalt.css';\nimport 'gestalt/dist/gestalt-datepicker.css';\n```\n\nThat syntax is Webpack specific (and will work with Create React App), but you can use Gestalt anywhere that supports ES6 module bundling and global CSS.\n\n## Development\n\nGestalt is a [multi-project monorepo](https://yarnpkg.com/lang/en/docs/workspaces/). The docs and components are all organized as separate packages that share similar tooling.\n\nInstall project dependencies and run tests:\n\n```bash\nyarn\nyarn test\n```\n\nBuild and watch Gestalt \u0026 run the docs server:\n\n```bash\nyarn start\n```\n\nVisit [http://localhost:8888/](http://localhost:8888) and click on a component to view the docs.\n\n## Codemods\n\nWhen a release will cause breaking changes — in usage or in typing — we provide a codemod to ease the upgrade process. Codemods are organized by release in `/packages/gestalt-codemods`.\n\n### Codemod Usage\n\nClone the Gestalt repo locally if you haven't already. Run the relevant codemod(s) in the relevant directory of your repo (not the Gestalt repo): anywhere the component to be updated is used. Example usage for a codebase using TypeScript:\n\n```bash\nyarn codemod --parser=tsx -t={relative/path/to/codemod} relative/path/to/your/code.tsx\n```\n\nFor a dry run to see what the changes will be, add the `-d` (dry run) and `-p` (print output) flags (pipe stdout to a file for easier inspection if you like).\n\n## Releasing\n\nEvery commit to master performs a release. As a reviewer, ensure the correct label is attached to every PR. Please follow [semantic versioning](https://semver.org/).\n\n- `patch release`: documentation updates / spelling mistakes in code / internal scripts\n- `minor release`: add component / add component props / API change with codemod\n- `major release`: backwards incompatible API change without codemod\n\nExample PR title: `Avatar: Add outline prop`\n\n## Typescript Support\n\nGestalt officiallty supports and maintains Typescript declarations files.\n\n### Issues\n\nGestalt is Pinterest's open-sourced design system. However, Gestalt's web component library is almost exclusively developed by a 5 engineer team within Pinterest, and our primary customers are Pinterest engineers who use Gestalt. The team’s priority is the needs of our internal Pinterest customers.\n\nWe do not have resources to work on features or issues requested only by external developers. We also handle a very large amount of internal support requests, so we do not have the resources to respond to external Github issues.\n\nPinterest is staying open source, as it's a great resource for the design and engineering community, but we don't provide support to external developers. If you need to get in touch, send us an [email](mailto:designsystems@pinterest.com?subject=Github%20Request%3A).\n\n### Troubleshooting\n\nTake a look at our [FAQ](https://gestalt.pinterest.systems/get_started/faq) section if you run into any development problems.\n","funding_links":[],"categories":["JavaScript","TypeScript","UI Frameworks \u0026 Libraries","UI Frameworks"],"sub_categories":["Responsive","style"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpinterest%2Fgestalt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpinterest%2Fgestalt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpinterest%2Fgestalt/lists"}