{"id":24332400,"url":"https://github.com/ragu-framework/ragu","last_synced_at":"2025-09-27T18:31:40.836Z","repository":{"id":39643330,"uuid":"291631560","full_name":"ragu-framework/ragu","owner":"ragu-framework","description":"🔪 A micro-frontend framework with Server Side Rendering.","archived":false,"fork":false,"pushed_at":"2023-01-07T04:56:49.000Z","size":10336,"stargazers_count":88,"open_issues_count":47,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-10T17:31:46.836Z","etag":null,"topics":["hacktoberfest","micro-frontend","micro-frontend-framework","micro-frontends","react","server-side-rendering","vue"],"latest_commit_sha":null,"homepage":"https://ragu-framework.github.io/","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/ragu-framework.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-08-31T06:18:30.000Z","updated_at":"2024-11-01T13:40:39.000Z","dependencies_parsed_at":"2023-02-06T12:30:57.646Z","dependency_job_id":null,"html_url":"https://github.com/ragu-framework/ragu","commit_stats":null,"previous_names":["carlosmaniero/ragu"],"tags_count":87,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ragu-framework%2Fragu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ragu-framework%2Fragu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ragu-framework%2Fragu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ragu-framework%2Fragu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ragu-framework","download_url":"https://codeload.github.com/ragu-framework/ragu/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234452229,"owners_count":18834783,"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":["hacktoberfest","micro-frontend","micro-frontend-framework","micro-frontends","react","server-side-rendering","vue"],"created_at":"2025-01-18T02:18:44.923Z","updated_at":"2025-09-27T18:31:40.370Z","avatar_url":"https://github.com/ragu-framework.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\" style=\"color: #343a40\"\u003e\n  \u003cp align=\"center\" \u003e\n    \u003cimg src=\"repository-assets/logo.png\" alt=\"Ragu\" align=\"center\"\u003e\n  \u003c/p\u003e\n  \u003ch1 align=\"center\"\u003eRagu: A micro-frontend framework\u003c/h1\u003e\n\u003c/p\u003e\n\nRagu is a micro-frontend framework designed to enable multiple teams to\nwork at the same product but in different codebase.\n\n![Ragu](https://github.com/carlosmaniero/ragu/workflows/Ragu/badge.svg)\n[![Coverage Status](https://coveralls.io/repos/github/ragu-framework/ragu/badge.svg?branch=main)](https://coveralls.io/github/carlosmaniero/ragu?branch=main)\n![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg) \n![npm version](https://badge.fury.io/js/ragu-server.svg)\n![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)\n\n## Articles:\n\n- [Micro-frontends with React, Vue and Ragu](https://medium.com/@carlosmaniero/micro-frontends-with-react-vue-and-ragu-c5a2e3ecc2ab)\n- [Transforming your Vue.js project into Micro-frontends with Server Side Rendering](https://medium.com/@carlosmaniero/transforming-your-vue-js-project-into-micro-frontends-with-server-side-rendering-9cdaab16f5e9)\n\n\n## Installation\n\n```shell script\nnpx ragu-server init my-project\n```\n\n## Core principles:\n\n### No artefact integration 📦 ➡️ 📦 \nThe most common pattern when organization want to share code between teams \nis to create a private npm package and use this package across products. \nOne of the main issues of this approach is that every time the shared package \nis updated a new build is required for each application that used the shared package.\n\nRead more at\n[Front-end integration via artifact - ThoughtWorks Tech Radar](https://www.thoughtworks.com/en/radar/techniques/front-end-integration-via-artifact)\n\n\n### Build system included 🚚\nRagu Server comes with a build system on top of webpack which you can extend\nthough the ragu server configuration.\n\n\n### Server side rendering 📄\nRagu server enables SSR by default and exposes an API where you can get\nthe HTML result from any component. You can write your own Ragu client \nfor any language.\n\nRead more about [Ragu Server](https://github.com/carlosmaniero/ragu/tree/main/ragu-server)\n\n### Framework agnostic 🧩\nYou can write a Ragu Component using any framework you want since they enable you to have the render result as HTML\nstring (such as [ReactDOMServer.renderToString](https://reactjs.org/docs/react-dom-server.html#rendertostring)) \nand have a hydration mechanism such as [ReactDOM.hydrate](https://reactjs.org/docs/react-dom.html#hydrate).\n\n\n![Ragu Repository](./repository-assets/ragu-architecture.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fragu-framework%2Fragu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fragu-framework%2Fragu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fragu-framework%2Fragu/lists"}