{"id":27131883,"url":"https://github.com/prmtrun/primate","last_synced_at":"2025-04-07T21:27:37.603Z","repository":{"id":50519158,"uuid":"482371916","full_name":"prmtrun/primate","owner":"prmtrun","description":"The universal web framework","archived":false,"fork":false,"pushed_at":"2025-04-07T18:27:26.000Z","size":5972,"stargazers_count":243,"open_issues_count":34,"forks_count":9,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-07T19:33:00.259Z","etag":null,"topics":["angular","bun","deno","eta","go","handlebars","htmx","javascript","marko","node","python","react","ruby","solid","svelte","typescript","voby","vue","web-components"],"latest_commit_sha":null,"homepage":"https://primatejs.com","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/prmtrun.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-04-16T22:10:36.000Z","updated_at":"2025-04-07T18:39:40.000Z","dependencies_parsed_at":"2023-12-21T04:37:20.805Z","dependency_job_id":"3f890872-888b-4803-b6c9-cb84a6cbd234","html_url":"https://github.com/prmtrun/primate","commit_stats":{"total_commits":1587,"total_committers":8,"mean_commits":198.375,"dds":0.04599873976055446,"last_synced_commit":"ec739216053f4804d019ea6bf10e84d8a06d4a7b"},"previous_names":["prmtrun/primate"],"tags_count":78,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prmtrun%2Fprimate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prmtrun%2Fprimate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prmtrun%2Fprimate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prmtrun%2Fprimate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/prmtrun","download_url":"https://codeload.github.com/prmtrun/primate/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247731752,"owners_count":20986722,"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":["angular","bun","deno","eta","go","handlebars","htmx","javascript","marko","node","python","react","ruby","solid","svelte","typescript","voby","vue","web-components"],"created_at":"2025-04-07T21:27:37.155Z","updated_at":"2025-04-07T21:27:37.594Z","avatar_url":"https://github.com/prmtrun.png","language":"TypeScript","readme":"\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"https://raw.githubusercontent.com/prmtrun/primate/master/assets/logo.svg\" alt=\"Primate\" width=\"60\"/\u003e\n\u003ch1\u003ePrimate\u003c/h1\u003e\n\u003ca href=\"https://primatejs.com/guide/getting-started\"\u003e\u003cimg src=\"https://img.shields.io/badge/read%20guide-555555?style=for-the-badge\"\u003e\u003c/a\u003e\n\u0026nbsp;\u003ca href=\"https://npmjs.com/primate\"\u003e\u003cimg src=\"https://img.shields.io/badge/npm%20create%20primate@latest-a16836?style=for-the-badge\"\u003e\u003c/a\u003e\n\u0026nbsp;\u003ca href=\"https://discord.gg/RSg4NNwM4f\"\u003e\u003cimg src=\"https://img.shields.io/discord/1256590312177012806?style=for-the-badge\u0026label=chat\u0026logoColor=fff\u0026color=5865f2\"\u003e\u003c/a\u003e\n\u003c/div\u003e\n\u003cbr\u003e\nA universal web framework that leaves you the choice of frontend, backend and runtime, in one stack.\n\n### Frontends\n[![Angular](https://img.shields.io/badge/Angular-DD0031.svg?logo=angular\u0026logoColor=fff\u0026style=for-the-badge)](https://primatejs.com/modules/angular)\n[![Eta](https://img.shields.io/badge/Eta-25c2a0.svg?logo=eta\u0026logoColor=fff\u0026style=for-the-badge)](https://primatejs.com/modules/eta)\n[![Handlebars](https://img.shields.io/badge/Handlebars-f0772b.svg?logo=handlebars.js\u0026logoColor=fff\u0026textColor=000\u0026style=for-the-badge)](https://primatejs.com/modules/handlebars)\n[![HTML](https://img.shields.io/badge/HTML-E34F26.svg?logo=html5\u0026logoColor=fff\u0026style=for-the-badge)](https://primatejs.com/modules/html)\n[![HTMX](https://img.shields.io/badge/HTMX-36C?logo=htmx\u0026logoColor=fff\u0026style=for-the-badge)](https://primatejs.com/modules/htmx)\n[![Markdown](https://img.shields.io/badge/Markdown-000000.svg?logo=markdown\u0026logoColor=fff\u0026style=for-the-badge)](https://primatejs.com/modules/markdown)\n[![Marko](https://img.shields.io/badge/Marko-2596BE.svg?logo=marko\u0026logoColor=fff\u0026style=for-the-badge)](https://primatejs.com/modules/marko)\n[![Poly](https://img.shields.io/badge/Poly-a13eff.svg?\u0026logoColor=fff\u0026style=for-the-badge)](https://primatejs.com/modules/poly)\n[![React](https://img.shields.io/badge/React-20232a.svg?logo=react\u0026logoColor=%2361DAFB\u0026style=for-the-badge)](https://primatejs.com/modules/react)\n[![Solid](https://img.shields.io/badge/Solid-2C4F7C?logo=solid\u0026logoColor=fff\u0026style=for-the-badge)](https://primatejs.com/modules/solid)\n[![Svelte](https://img.shields.io/badge/Svelte-f1413d.svg?logo=svelte\u0026logoColor=fff\u0026style=for-the-badge)](https://primatejs.com/modules/svelte)\n[![Voby](https://img.shields.io/badge/Voby-fff5db.svg?logo=eta\u0026logoColor=fff\u0026style=for-the-badge)](https://primatejs.com/modules/voby)\n[![Vue](https://img.shields.io/badge/Vue-4FC08D?logo=vuedotjs\u0026logoColor=fff\u0026style=for-the-badge)](https://primatejs.com/modules/vue)\n[![web Components](https://img.shields.io/badge/Web%20Components-29ABE2?logo=webcomponentsdotorg\u0026logoColor=fff\u0026style=for-the-badge)](https://primatejs.com/modules/web-components)\n\n### Backends\n[![Go](https://img.shields.io/badge/Go-02add6?logo=go\u0026logoColor=fff\u0026style=for-the-badge)](https://primatejs.com/modules/go)\n[![JavaScript](https://img.shields.io/badge/JavaScript-F7DF1E?logo=javascript\u0026logoColor=000\u0026style=for-the-badge)](https://primatejs.com/modules/backend)\n[![Python](https://img.shields.io/badge/Python-3776AB?logo=python\u0026logoColor=fff\u0026style=for-the-badge)](https://primatejs.com/modules/python)\n[![Ruby](https://img.shields.io/badge/Ruby-CC342D?logo=ruby\u0026style=for-the-badge)](https://primatejs.com/modules/ruby)\n[![TypeScript](https://img.shields.io/badge/TypeScript-3178C6?logo=typescript\u0026logoColor=fff\u0026style=for-the-badge)](https://primatejs.com/modules/typescript)\n\n### Runtimes\n[![NodeJS](https://img.shields.io/badge/Node-6DA55F?logo=node.js\u0026logoColor=fff\u0026style=for-the-badge)](https://primatejs.com/modules/runtime-support)\n[![Deno](https://img.shields.io/badge/Deno-000?logo=deno\u0026logoColor=fff\u0026style=for-the-badge)](https://primatejs.com/modules/runtime-support)\n[![Bun](https://img.shields.io/badge/Bun-000?logo=bun\u0026logoColor=fff\u0026style=for-the-badge)](https://primatejs.com/modules/runtime-support)\n\n### Databases\n[![MongoDB](https://img.shields.io/badge/MongoDB-4ea94b.svg?logo=mongodb\u0026logoColor=fff\u0026style=for-the-badge)](https://primatejs.com/modules/drivers#mongodb)\n[![MySQL](https://img.shields.io/badge/MySQL-4479A1?logo=mysql\u0026logoColor=fff\u0026style=for-the-badge)](https://primatejs.com/modules/drivers#mysql)\n[![PostgreSQL](https://img.shields.io/badge/PostgreSQL-316192.svg?logo=postgresql\u0026logoColor=fff\u0026style=for-the-badge)](https://primatejs.com/modules/drivers#postgresql)\n[![SQLite](https://img.shields.io/badge/SQLite-07405e.svg?logo=sqlite\u0026logoColor=fff\u0026style=for-the-badge)](https://primatejs.com/modules/drivers#postgresql)\n[![SurrealDB](https://img.shields.io/badge/SurrealDB-FF00A0.svg?logo=surrealdb\u0026logoColor=fff\u0026style=for-the-badge)](https://primatejs.com/modules/drivers#surrealdb)\n\n## License\n\nMIT\n\n## Contributing\n\nBy contributing to Primate, you agree that your contributions will be licensed\nunder its MIT license.\n\nClone this repo and https://github.com/prmtrun/app in the same location,\nand switch to the `dev` branch in the app repo. Then, in the app repo, run\n\n* `npm run node` for Node in development mode\n* `npm run node:prod` for Node in production mode\n* `npm run deno` for Deno in development mode\n* `npm run deno:prod` for Deno in production mode\n* `npm run bun` for Bun in development mode\n* `npm run bun:prod` for Bun in production mode\n* `npm run bun:compile` for compiling desktop app with Bun\n\n[read guide]: https://primatejs.com/guide/getting-started\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprmtrun%2Fprimate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprmtrun%2Fprimate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprmtrun%2Fprimate/lists"}