{"id":20973619,"url":"https://github.com/haiilo/catalyst","last_synced_at":"2026-04-07T13:01:26.648Z","repository":{"id":37428063,"uuid":"426142570","full_name":"haiilo/catalyst","owner":"haiilo","description":"A framework agnostic design system and component library based on web components and SCSS.","archived":false,"fork":false,"pushed_at":"2026-01-25T19:52:33.000Z","size":71728,"stargazers_count":14,"open_issues_count":51,"forks_count":8,"subscribers_count":8,"default_branch":"main","last_synced_at":"2026-01-26T11:12:05.782Z","etag":null,"topics":["design-system","stencil-js","web-components"],"latest_commit_sha":null,"homepage":"https://haiilo.github.io/catalyst/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/haiilo.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-11-09T08:08:52.000Z","updated_at":"2026-01-25T19:47:19.000Z","dependencies_parsed_at":"2025-11-27T10:05:57.722Z","dependency_job_id":null,"html_url":"https://github.com/haiilo/catalyst","commit_stats":{"total_commits":717,"total_committers":17,"mean_commits":42.1764705882353,"dds":0.3458856345885635,"last_synced_commit":"5011d4a6f76292d6ac5ed784a84ef0cb4d84ada8"},"previous_names":["coyoapp/catalyst"],"tags_count":823,"template":false,"template_full_name":null,"purl":"pkg:github/haiilo/catalyst","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haiilo%2Fcatalyst","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haiilo%2Fcatalyst/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haiilo%2Fcatalyst/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haiilo%2Fcatalyst/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/haiilo","download_url":"https://codeload.github.com/haiilo/catalyst/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haiilo%2Fcatalyst/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29041057,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-03T10:09:22.136Z","status":"ssl_error","status_checked_at":"2026-02-03T10:09:16.814Z","response_time":96,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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","stencil-js","web-components"],"created_at":"2024-11-19T04:20:22.508Z","updated_at":"2026-02-03T10:17:55.525Z","avatar_url":"https://github.com/haiilo.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Catalyst Design System\n\n[![Deploy](https://github.com/haiilo/catalyst/actions/workflows/deploy.yml/badge.svg)](https://github.com/haiilo/catalyst/actions/workflows/deploy.yml)\n\n| Package | Description | Status | Docs |\n| ------- | ----------- | ------ | ---- |\n| `@haiilo/catalyst`           | Core web components               | [![Core](https://github.com/haiilo/catalyst/actions/workflows/core.yml/badge.svg)](https://github.com/haiilo/catalyst/actions/workflows/core.yml) | [README](https://github.com/haiilo/catalyst/blob/main/core/README.md) |\n| `@haiilo/catalyst-tokens`    | Style Dictionary design tokens    | [![Tokens](https://github.com/haiilo/catalyst/actions/workflows/tokens.yml/badge.svg)](https://github.com/haiilo/catalyst/actions/workflows/tokens.yml) | [README](https://github.com/haiilo/catalyst/blob/main/tokens/README.md) |\n| `@haiilo/catalyst-angular`   | Angular bindings for components   | [![Angular](https://github.com/haiilo/catalyst/actions/workflows/angular.yml/badge.svg)](https://github.com/haiilo/catalyst/actions/workflows/angular.yml) | [README](https://github.com/haiilo/catalyst/blob/main/angular/README.md) |\n| `@haiilo/catalyst-angular-formly`   | Angular custom types for [Formly](https://formly.dev/)   | [![Angular](https://github.com/haiilo/catalyst/actions/workflows/angular.yml/badge.svg)](https://github.com/haiilo/catalyst/actions/workflows/angular.yml) | [README](https://github.com/haiilo/catalyst/blob/main/angular/README.md) |\n| `@haiilo/catalyst-react`     | React bindings for components     | [![React](https://github.com/haiilo/catalyst/actions/workflows/react.yml/badge.svg)](https://github.com/haiilo/catalyst/actions/workflows/react.yml) | [README](https://github.com/haiilo/catalyst/blob/main/react/README.md) |\n\n## Setup\n\nPlease take a look at the official design documentation at\nhttps://design.haiilo.com and follow the [Getting Started](https://design.haiilo.com/7a807c8eb/p/12e811-getting-started)\nguide to learn how to setup your project locally.\n\nWhen installing dependencies with `npm` or `Yarn` Classic, all packages are\nhoisted to the root of the modules directory. As a result, source code has\naccess to dependencies that are not added as dependencies to the project. In the\npast, this has resulted in a number of indeterministic errors, that are very\nhard to debug. As a consequence, this monorepo uses `pnpm` as a package manager.\nPlease follow the [installation guide](https://pnpm.io/installation) to get\nstarted.\n\nWhen working with `pnpm`, we recommend to set the following aliases in your \n`.bashrc`, `.zshrc`, or `config.fish`:\n\n```\nalias pn='pnpm'\nalias pnr='pnpm run'\nalias pni='pnpm install'\nalias pns='pnpm run start'\nalias pnb='pnpm run build'\nalias pnt='pnpm run test'\n```\n\n## Release\n\n### Creating a new version via CI (recommended)\n\nThe entire release process is automated via Google's [release please](https://github.com/googleapis/release-please) action. Release Please automates `CHANGELOG` generation, the creation of GitHub releases, and version bumps for all projects of the monorepo. As of now, the version numbers of all projects are kept in sync. That means that releasing a new version will increase the version of every project, even if the project has not been changed.\n\nEvery commit that is prefixed with [conventional commit](https://www.conventionalcommits.org/en/v1.0.0/) guidelines triggers the creation (or update) of a release PR in the GitHub project. The PR is labeled with \"[autorelease: pending](https://github.com/haiilo/catalyst/pulls?q=is%3Apr+is%3Aopen+label%3A%22autorelease%3A+pending%22)\". These Release PRs are kept up-to-date as additional work is merged. When you're ready to tag a release, simply merge the release PR. When the Release PR is merged, release-please takes the following steps:\n\n* Updates the `CHANGELOG` file(s), along with other language specific files (for example `package.json`).\n* Tags the commit with the version number.\n* Creates a GitHub Release based on the tag.\n\nAdditionally, the new release is directly published to npm.\n\n### Manually creating a new version (not recommended)\n\nAll projects in the repository are using [semantic-release](https://www.npmjs.com/package/semantic-release) and define helper scripts in the respective `package.json` files. To create a new release bundle (i.e. release all projects in a new version), simply use the following combination of utility scripts provided in the top level `package.json`:\n\n* Run `pnpm run release:{patch|minor|major}` to create a new version in every project of the repository.\n* Run `pnpm run build` to build all projects.\n* Run `pnpm install` to install dependencies for every project.\n* Run `pnpm run publish` to publish every project to npmjs.com.\n* Run `git push --follow-tags origin main` to push your changes.\n\n**Note:** Make sure you are logged in with your npm account and you have permissions to release under the haiilo organisation. Otherwise contact one of the collaborators to request access.\n\n## Local development\nSince the catalyst project is monorepo and managing multiple packages via workspaces, we can't simply refer the output folders in file protocol, we need to prepare it first and resolve workspace dependencies.\n\nSteps:\n1. Make changes;\n2. Run `pnpm build`;\n\nExtra steps for testing the changes in angular package:\n1.  Run `pnpm install` again;\n2. For \n   - [angular](angular/projects/catalyst) Go to `/angular/dist/catalyst`;\n   - [angular-formly](angular/projects/catalyst-formly) Go to `/angular/dist/catalyst-formly`; \n3. Run `pnpm pack`;\n\nIn consumer project:\nIn package json replace those packages you want to test with file protocol path: \n```\n\"@haiilo/catalyst\": \"file:../../../catalyst/core\",\n\"@haiilo/catalyst-angular\": \"file:../../../catalyst/angular/dist/catalyst/haiilo-catalyst-angular-13.4.0.tgz\",\n```\nor\n```\n\"@haiilo/catalyst\": \"file:../../../catalyst/core\",\n\"@haiilo/catalyst-react\": \"file:../../../catalyst/react/dist\",\n```\n\n## Pre-releases\n\u003e [!WARNING]  \n\u003e Making a successful pre-release requires several careful manual steps, if you are not sure, better to go with regular release.\n\u003e\n\u003e At the moment Release Please is used for pre-releases as well as for releases\n\n1. Update `beta` branch with `main` branch (or alternatively make sure that all commits from `main` are contained in `beta`);\n2. Create feature branch from `beta` branch;\n3. Make the changes in you feature branch, open PR, wait for green pipeline and approve, merge your PR to `beta`;\n4. Release Please creates or updates already existed pre-release PR.\n5. When you're ready to tag a pre-release, simply merge the pre-release PR.\n\u003eIMPORTANT! After testing of your pre-release branch is done you need to release you changes.\n6. Create PR `beta` \u003e `main`. **While merging make sure the commit message is** [conventional](https://www.conventionalcommits.org/en/v1.0.0/). Otherwise, your changes will be ignored by regular release.\n7. Go with regular release steps.\n\n## Code contributors\n\nThis project exists thanks to all the people who contribute.\n\n\u003ca href=\"https://github.com/haiilo/catalyst/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=haiilo/catalyst\" /\u003e\n\u003c/a\u003e\n\n## License\n\nThe license can be found in the [LICENSE](https://github.com/haiilo/catalyst/blob/main/LICENSE) file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhaiilo%2Fcatalyst","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhaiilo%2Fcatalyst","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhaiilo%2Fcatalyst/lists"}