{"id":34794879,"url":"https://github.com/cratis/arc","last_synced_at":"2026-05-24T06:05:45.007Z","repository":{"id":239304283,"uuid":"799151211","full_name":"Cratis/Arc","owner":"Cratis","description":"Opinionated application model providing glue that makes application development more productive.","archived":false,"fork":false,"pushed_at":"2026-04-30T21:46:01.000Z","size":14450,"stargazers_count":7,"open_issues_count":14,"forks_count":5,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-30T23:13:54.726Z","etag":null,"topics":["bridge","cqrs","csharp","javascript","typescript"],"latest_commit_sha":null,"homepage":"https://cratis.io","language":"C#","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/Cratis.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-05-11T10:07:50.000Z","updated_at":"2026-04-30T21:44:51.000Z","dependencies_parsed_at":"2024-05-27T21:15:37.085Z","dependency_job_id":"150c126a-b3aa-4937-839a-ce259912961a","html_url":"https://github.com/Cratis/Arc","commit_stats":{"total_commits":741,"total_committers":10,"mean_commits":74.1,"dds":0.3643724696356275,"last_synced_commit":"44ce25b703b261184d713c0a23409df5d0289b70"},"previous_names":["cratis/applicationmodel","cratis/arc"],"tags_count":508,"template":false,"template_full_name":null,"purl":"pkg:github/Cratis/Arc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cratis%2FArc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cratis%2FArc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cratis%2FArc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cratis%2FArc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Cratis","download_url":"https://codeload.github.com/Cratis/Arc/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cratis%2FArc/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32536582,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-02T12:25:33.646Z","status":"ssl_error","status_checked_at":"2026-05-02T12:24:51.733Z","response_time":132,"last_error":"SSL_read: 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":["bridge","cqrs","csharp","javascript","typescript"],"created_at":"2025-12-25T10:38:55.999Z","updated_at":"2026-05-02T14:01:28.955Z","avatar_url":"https://github.com/Cratis.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cratis Arc\n\n## Packages / Deployables\n\n[![Nuget](https://img.shields.io/nuget/v/Cratis.Arc?logo=nuget)](http://nuget.org/packages/Cratis.Arc)\n[![NPM](https://img.shields.io/npm/v/@cratis/arc?label=@cratis/arc\u0026logo=npm)](https://www.npmjs.com/package/@cratis/arc)\n\n## Builds\n\n[![.NET Build](https://github.com/cratis/arc/actions/workflows/dotnet-build.yml/badge.svg)](https://github.com/cratis/arc/actions/workflows/dotnet-build.yml)\n[![JavaScript Build](https://github.com/cratis/arc/actions/workflows/javascript-build.yml/badge.svg)](https://github.com/cratis/arc/actions/workflows/javascript-build.yml)\n[![Documentation site](https://github.com/Cratis/Documentation/actions/workflows/pages.yml/badge.svg)](https://github.com/Cratis/Documentation/actions/workflows/pages.yml)\n\n## Description\n\nCratis Arc represents an opinionated approach to building consistent applications based on the concepts behind CQRS.\nIt offers extensions for different frameworks and is built on top of ASP.NET Core. One of the traits of Arc has is the\nbridging between the backend and the frontend. Arc provides a tool, called **ProxyGenerator** that generates TypeScript\ncode for recognized artifacts matching the criteria of what is considered a **commmand** or a **query**.\n\n## Contributing\n\nIf you want to jump into building this repository and possibly contributing, please refer to [contributing](./Documentation/contributing/index.md).\n\n### Prerequisites\n\nThe following are prerequisites to work with this repository.\n\n* [.NET 8+](https://dotnet.microsoft.com/en-us/).\n* [Node 16+](https://nodejs.org/en)\n* [Yarn](https://yarnpkg.com)\n\n### Central Package Management\n\nThis repository leverages [Central Package Management](https://learn.microsoft.com/en-us/nuget/consume-packages/Central-Package-Management), which\nmeans that all package versions are managed from a file at the root level called [Directory.Packages.props](./Directory.Packages.props).\n\nIn addition there are also [Directory.Build.props](https://learn.microsoft.com/en-us/visualstudio/msbuild/customize-by-directory?view=vs-2022#directorybuildprops-and-directorybuildtargets) files for\nsetting up common settings that are applied cross cuttingly.\n\n### Root package.json\n\nThe `package.json` found at the root level defines all the workspaces. It is assumed\n\nAll developer dependencies are defined in the top level `package.json`. The reason for this is to be able to provide global scripts\nfor every package to use for easier maintenance.\n\nThe `package.json` found at the top level contains scripts that can then be used in a child project for this to work properly.\n\nIn a package, all you need to do is to define the scripts to use the global scripts in the `package.json´ of that project:\n\n```json\n{\n    \"scripts\": {\n        \"prepublish\": \"yarn g:build\",\n        \"clean\": \"yarn g:clean\",\n        \"build\": \"yarn g:build\",\n        \"lint\": \"yarn g:lint\",\n        \"lint:ci\": \"yarn g:lint:ci\",\n        \"test\": \"yarn g:test\",\n        \"ci\": \"yarn g:ci\",\n        \"up\": \"yarn g:up\"\n    }\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcratis%2Farc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcratis%2Farc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcratis%2Farc/lists"}