{"id":50372425,"url":"https://github.com/JhoanGon/magary","last_synced_at":"2026-06-01T10:00:44.499Z","repository":{"id":331522129,"uuid":"1030094798","full_name":"JhoanGon/magary","owner":"JhoanGon","description":"Library components","archived":false,"fork":false,"pushed_at":"2026-05-20T07:52:41.000Z","size":73941,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-20T08:13:42.771Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://magary.pages.dev","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JhoanGon.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":null,"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},"funding":{"github":"JhoanGon","buy_me_a_coffee":"praiddev"}},"created_at":"2025-08-01T04:48:01.000Z","updated_at":"2026-05-20T07:52:45.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/JhoanGon/magary","commit_stats":null,"previous_names":["jhoangon/magary"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/JhoanGon/magary","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JhoanGon%2Fmagary","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JhoanGon%2Fmagary/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JhoanGon%2Fmagary/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JhoanGon%2Fmagary/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JhoanGon","download_url":"https://codeload.github.com/JhoanGon/magary/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JhoanGon%2Fmagary/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33769492,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-01T02:00:06.963Z","response_time":115,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2026-05-30T08:00:26.077Z","updated_at":"2026-06-01T10:00:44.486Z","avatar_url":"https://github.com/JhoanGon.png","language":"TypeScript","funding_links":["https://github.com/sponsors/JhoanGon","https://buymeacoffee.com/praiddev"],"categories":["Third Party Components"],"sub_categories":["UI Libraries"],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/JhoanGon/magary/main/projects/demo-app/public/assets/magary_logo.webp\" alt=\"Magary Logo\" width=\"120\" /\u003e\n  \u003ch1\u003eMagary\u003c/h1\u003e\n  \u003cp\u003e\u003cstrong\u003eStandalone-first Angular UI library for real product teams.\u003c/strong\u003e\u003c/p\u003e\n\n  \u003cp\u003e\n    \u003ca href=\"https://badge.fury.io/js/ng-magary\"\u003e\u003cimg src=\"https://badge.fury.io/js/ng-magary.svg\" alt=\"npm version\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/JhoanGon/magary/actions/workflows/ci.yml\"\u003e\u003cimg src=\"https://github.com/JhoanGon/magary/actions/workflows/ci.yml/badge.svg\" alt=\"CI\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://angular.dev\"\u003e\u003cimg src=\"https://img.shields.io/badge/Angular-v17_|_v18_|_v19_|_v20_|_v21-dd0031.svg?logo=angular\" alt=\"Angular Compatibility\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://magary.pages.dev\"\u003e\u003cimg src=\"https://img.shields.io/badge/Docs-magary.pages.dev-0ea5e9\" alt=\"Docs\" /\u003e\u003c/a\u003e\n    \u003ca href=\"LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/License-MIT-blue.svg\" alt=\"License\" /\u003e\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n---\n\nMagary is an Angular UI library and documentation workspace built for teams that care about consistency, maintainability, release discipline, and delivery quality. The repository includes the published `ng-magary` package, the public demo/documentation app, and the validation tooling used to keep the library stable.\n\n## At a glance\n\n| Area | Purpose |\n|------|---------|\n| `projects/ng-magary` | Published Angular UI library distributed on npm as `ng-magary` |\n| `projects/demo-app` | Documentation and live demos used for product review, QA, and accessibility verification |\n| `e2e/playwright` | Visual and accessibility smoke coverage for critical flows |\n| `tools/ci` | Contract, compatibility, compliance, and quality-gate tooling |\n| `docs` | Supporting guidance, recipes, and release-facing documentation |\n\n## Why Magary\n\n- Standalone-first API designed for modern Angular applications.\n- Curated public root API with stable naming and explicit exports.\n- Components shaped for real dashboards, product surfaces, and internal tools.\n- Documentation, smoke tests, accessibility checks, and release governance in the same workspace.\n- Consumer compatibility checks across Angular 17 through 21.\n\n## Quick path\n\n```bash\npnpm install\npnpm run build\npnpm run qa:all\n```\n\nExpected outcome:\n\n- the library builds\n- the demo app builds\n- unit, visual smoke, and accessibility smoke gates pass\n\n## Daily commands\n\n| Command | What it does |\n|--------|---------------|\n| `pnpm run build:lib` | Build the published `ng-magary` package |\n| `pnpm run build:demo` | Build the documentation and demo application |\n| `pnpm run lint` | Lint TypeScript and Angular templates |\n| `pnpm run test:unit` | Run all Angular unit tests |\n| `pnpm run test:unit:ci` | Run the CI unit gate with warning checks |\n| `pnpm run test:visual:smoke` | Run Playwright smoke coverage for key UI flows |\n| `pnpm run test:a11y:smoke` | Run Playwright + AXE accessibility smoke coverage |\n| `pnpm run check:consumer-matrix` | Validate compatibility against Angular 17-21 consumer apps |\n| `pnpm run qa:all` | Run the full local release gate |\n\n## Quality model\n\nMagary is maintained with explicit release controls rather than informal best effort.\n\n| Gate | Intent |\n|------|--------|\n| API contract | Prevent accidental public API drift |\n| No-any check | Keep library and spec surfaces type-safe |\n| Third-party compliance | Validate notices and license inventory |\n| Unit tests | Protect component behavior and contracts |\n| Visual smoke | Catch critical UX regressions quickly |\n| A11y smoke | Catch serious and critical accessibility regressions |\n| Consumer matrix | Validate real install/build scenarios across Angular majors |\n\n## For library consumers\n\nIf you want to install and use the package in an Angular application, start here:\n\n- npm package README: [`projects/ng-magary/README.md`](projects/ng-magary/README.md)\n- public docs and demos: [magary.pages.dev](https://magary.pages.dev)\n\nThe package README is copied into `dist/ng-magary` during publish and becomes the README shown on npm.\n\n## Release-facing docs\n\n- [`CHANGELOG.md`](CHANGELOG.md)\n- [`docs/MIGRATION_COMPATIBILITY.md`](docs/MIGRATION_COMPATIBILITY.md)\n- [`docs/RELEASE_WORKFLOW.md`](docs/RELEASE_WORKFLOW.md)\n- [`docs/SEMVER_POLICY.md`](docs/SEMVER_POLICY.md)\n\n## Compliance and third-party notices\n\nLicense copies and attribution records live here:\n\n- [`THIRD_PARTY_NOTICES.md`](THIRD_PARTY_NOTICES.md)\n- [`third_party/licenses/`](third_party/licenses/)\n\nValidation command:\n\n```bash\npnpm run check:third-party\n```\n\n## Tooltip stylesheet requirement\n\nComponents such as `magaryTooltip` render overlays at `document.body` level to escape stacking contexts. Consumers must load the shared tooltip stylesheet in their global styles:\n\n```scss\n@use 'ng-magary/styles/tooltip.scss';\n```\n\n---\n\n\u003cp align=\"center\"\u003e\n  Built for Angular teams shipping real products.\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJhoanGon%2Fmagary","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FJhoanGon%2Fmagary","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJhoanGon%2Fmagary/lists"}