{"adoption": {"forks": 1337, "observed_at": "2026-08-28T04:09:55.937173+00:00", "stars": 7107}, "canonical_url": "https://ross.abutalabs.com/products/dotnetcore-cap", "card": {"archived": false, "artifact_type": "library", "description": "Distributed transaction solution in micro-service base on eventually consistency, also an eventbus with Outbox pattern", "domain": ["microservices", "backend", "apis"], "enriched": true, "function": ["message-queue", "middleware", "microservices", "serialization"], "health_score": 97, "homepage": "http://cap.dotnetcore.xyz", "language": "C#", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["dotnetcore/CAP"], "name": "dotnetcore/CAP", "platform": ["dotnet", "cross-platform", "cloud"], "pushed_at": "2026-08-01T13:10:06+00:00", "repo": "dotnetcore/CAP", "stars": 7107, "tags": ["eventbus", "outbox-pattern", "distributed-transactions", "eventual-consistency", "kafka", "rabbitmq", "local-message-table", "aspnet-core", "reliable-messaging", "delayed-messages", "messaging", "docker"], "topics": ["kafka", "rabbitmq", "distributed-transactions", "outbox-pattern", "eventbus", "microservices", "service-bus"], "urls": [], "use_cases": ["ensure atomicity between database writes and event publishing in microservices", "implement outbox pattern for reliable event delivery", "decouple microservices with a lightweight event bus", "publish delayed messages without relying on broker features", "achieve eventual consistency across services in a SOA system", "implement competing consumers and fan-out messaging patterns"], "what_it_is": "CAP is a .NET library providing a lightweight event bus and a distributed transaction solution based on the Outbox pattern (local message table) for eventual consistency in microservices. It guarantees reliable event delivery with automatic retries and integrates with message queues like Kafka and RabbitMQ.", "when_to_avoid": ["you need a standalone message queue without database-backed storage - CAP requires a database for its outbox", "you need immediate rollback of producer-side SQL when consumers fail - CAP only offers eventual consistency", "your stack is not .NET - CAP is a .NET Standard library", "you need strict synchronous distributed transactions (e.g., 2PC) rather than eventual consistency"], "when_to_choose": ["you're building .NET/ASP.NET Core microservices needing reliable event publishing tied to database transactions", "you want an event bus with no interface inheritance requirements and minimal configuration", "you need guaranteed message delivery with retries and a local message table", "you want pluggable message queue and storage backends (Kafka, RabbitMQ, MySQL, etc.)"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/dotnetcore-cap", "repo": "dotnetcore/CAP", "role": "main", "score": 92}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:55.937173+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:40:07.914844+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06cfec53f37327e41df3873a494b51de1df0f5c0d9f607a2bbe3d0dbc0264ddf", "fetched_at": "2026-08-28T04:09:55.937173+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dotnetcore/CAP"}, {"content_hash": "acb09a038e8081d89ea7c40515a42251fba7a823fe566614cbeeadf646a52039", "fetched_at": "2026-08-29T08:35:58.696511+00:00", "kind": "homepage", "missing": false, "url": "http://cap.dotnetcore.xyz"}, {"content_hash": "d70b44c58e094f9bc1b62bb7f103e5f5e122c41ec969a5e5ad84c59c1d0d4ef4", "fetched_at": "2026-08-29T08:35:58.699040+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/en/getting-started/quick-start"}, {"content_hash": "39f1cee3b0260960d44885dbd7068546772302b71178cec1be33d2e458d215e6", "fetched_at": "2026-08-29T08:35:58.701085+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/zh/getting-started/quick-start"}, {"content_hash": "ecfffe00dceacc3a1577b8510f88ec5885bb3164d6a9536da3ec26b4df8114d7", "fetched_at": "2026-08-29T08:35:58.703128+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/about/contact-us"}, {"content_hash": "bab42de04ffcd7f2ad8e5851b3732a394c1f3a0bbd1a32b0208e787e1108046d", "fetched_at": "2026-08-29T08:35:58.704814+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/en/getting-started/introduction"}, {"content_hash": "29c083f9ee66462465373674858c15ccc3c0fe85570cd689769d9cef406b9b4b", "fetched_at": "2026-08-29T08:35:58.706454+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/en/getting-started/contributing"}, {"content_hash": "52df2d043cc573a4d82558c6d1f62e745d98084c5b103956851467dcff5106bc", "fetched_at": "2026-08-29T08:35:58.707950+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/en/samples/faq"}, {"content_hash": "50f4fa7c2257581ec13b0da92a0309a5c848709bb123ea37752804871e59b735", "fetched_at": "2026-08-29T08:35:58.709570+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/zh/getting-started/introduction"}, {"content_hash": "b3939e4dc3f0ba4c01e633f2b13f8b51221279ed53c941946687115fd1710ef3", "fetched_at": "2026-08-29T08:35:58.711222+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/zh/getting-started/contributing"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:55.937173+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:40:07.914844+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06cfec53f37327e41df3873a494b51de1df0f5c0d9f607a2bbe3d0dbc0264ddf", "fetched_at": "2026-08-28T04:09:55.937173+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dotnetcore/CAP"}, {"content_hash": "acb09a038e8081d89ea7c40515a42251fba7a823fe566614cbeeadf646a52039", "fetched_at": "2026-08-29T08:35:58.696511+00:00", "kind": "homepage", "missing": false, "url": "http://cap.dotnetcore.xyz"}, {"content_hash": "d70b44c58e094f9bc1b62bb7f103e5f5e122c41ec969a5e5ad84c59c1d0d4ef4", "fetched_at": "2026-08-29T08:35:58.699040+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/en/getting-started/quick-start"}, {"content_hash": "39f1cee3b0260960d44885dbd7068546772302b71178cec1be33d2e458d215e6", "fetched_at": "2026-08-29T08:35:58.701085+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/zh/getting-started/quick-start"}, {"content_hash": "ecfffe00dceacc3a1577b8510f88ec5885bb3164d6a9536da3ec26b4df8114d7", "fetched_at": "2026-08-29T08:35:58.703128+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/about/contact-us"}, {"content_hash": "bab42de04ffcd7f2ad8e5851b3732a394c1f3a0bbd1a32b0208e787e1108046d", "fetched_at": "2026-08-29T08:35:58.704814+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/en/getting-started/introduction"}, {"content_hash": "29c083f9ee66462465373674858c15ccc3c0fe85570cd689769d9cef406b9b4b", "fetched_at": "2026-08-29T08:35:58.706454+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/en/getting-started/contributing"}, {"content_hash": "52df2d043cc573a4d82558c6d1f62e745d98084c5b103956851467dcff5106bc", "fetched_at": "2026-08-29T08:35:58.707950+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/en/samples/faq"}, {"content_hash": "50f4fa7c2257581ec13b0da92a0309a5c848709bb123ea37752804871e59b735", "fetched_at": "2026-08-29T08:35:58.709570+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/zh/getting-started/introduction"}, {"content_hash": "b3939e4dc3f0ba4c01e633f2b13f8b51221279ed53c941946687115fd1710ef3", "fetched_at": "2026-08-29T08:35:58.711222+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/zh/getting-started/contributing"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:40:07.914844+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06cfec53f37327e41df3873a494b51de1df0f5c0d9f607a2bbe3d0dbc0264ddf", "fetched_at": "2026-08-28T04:09:55.937173+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dotnetcore/CAP"}, {"content_hash": "acb09a038e8081d89ea7c40515a42251fba7a823fe566614cbeeadf646a52039", "fetched_at": "2026-08-29T08:35:58.696511+00:00", "kind": "homepage", "missing": false, "url": "http://cap.dotnetcore.xyz"}, {"content_hash": "d70b44c58e094f9bc1b62bb7f103e5f5e122c41ec969a5e5ad84c59c1d0d4ef4", "fetched_at": "2026-08-29T08:35:58.699040+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/en/getting-started/quick-start"}, {"content_hash": "39f1cee3b0260960d44885dbd7068546772302b71178cec1be33d2e458d215e6", "fetched_at": "2026-08-29T08:35:58.701085+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/zh/getting-started/quick-start"}, {"content_hash": "ecfffe00dceacc3a1577b8510f88ec5885bb3164d6a9536da3ec26b4df8114d7", "fetched_at": "2026-08-29T08:35:58.703128+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/about/contact-us"}, {"content_hash": "bab42de04ffcd7f2ad8e5851b3732a394c1f3a0bbd1a32b0208e787e1108046d", "fetched_at": "2026-08-29T08:35:58.704814+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/en/getting-started/introduction"}, {"content_hash": "29c083f9ee66462465373674858c15ccc3c0fe85570cd689769d9cef406b9b4b", "fetched_at": "2026-08-29T08:35:58.706454+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/en/getting-started/contributing"}, {"content_hash": "52df2d043cc573a4d82558c6d1f62e745d98084c5b103956851467dcff5106bc", "fetched_at": "2026-08-29T08:35:58.707950+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/en/samples/faq"}, {"content_hash": "50f4fa7c2257581ec13b0da92a0309a5c848709bb123ea37752804871e59b735", "fetched_at": "2026-08-29T08:35:58.709570+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/zh/getting-started/introduction"}, {"content_hash": "b3939e4dc3f0ba4c01e633f2b13f8b51221279ed53c941946687115fd1710ef3", "fetched_at": "2026-08-29T08:35:58.711222+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/zh/getting-started/contributing"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:09:55.937173+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:55.937173+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:55.937173+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:40:07.914844+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06cfec53f37327e41df3873a494b51de1df0f5c0d9f607a2bbe3d0dbc0264ddf", "fetched_at": "2026-08-28T04:09:55.937173+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dotnetcore/CAP"}, {"content_hash": "acb09a038e8081d89ea7c40515a42251fba7a823fe566614cbeeadf646a52039", "fetched_at": "2026-08-29T08:35:58.696511+00:00", "kind": "homepage", "missing": false, "url": "http://cap.dotnetcore.xyz"}, {"content_hash": "d70b44c58e094f9bc1b62bb7f103e5f5e122c41ec969a5e5ad84c59c1d0d4ef4", "fetched_at": "2026-08-29T08:35:58.699040+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/en/getting-started/quick-start"}, {"content_hash": "39f1cee3b0260960d44885dbd7068546772302b71178cec1be33d2e458d215e6", "fetched_at": "2026-08-29T08:35:58.701085+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/zh/getting-started/quick-start"}, {"content_hash": "ecfffe00dceacc3a1577b8510f88ec5885bb3164d6a9536da3ec26b4df8114d7", "fetched_at": "2026-08-29T08:35:58.703128+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/about/contact-us"}, {"content_hash": "bab42de04ffcd7f2ad8e5851b3732a394c1f3a0bbd1a32b0208e787e1108046d", "fetched_at": "2026-08-29T08:35:58.704814+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/en/getting-started/introduction"}, {"content_hash": "29c083f9ee66462465373674858c15ccc3c0fe85570cd689769d9cef406b9b4b", "fetched_at": "2026-08-29T08:35:58.706454+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/en/getting-started/contributing"}, {"content_hash": "52df2d043cc573a4d82558c6d1f62e745d98084c5b103956851467dcff5106bc", "fetched_at": "2026-08-29T08:35:58.707950+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/en/samples/faq"}, {"content_hash": "50f4fa7c2257581ec13b0da92a0309a5c848709bb123ea37752804871e59b735", "fetched_at": "2026-08-29T08:35:58.709570+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/zh/getting-started/introduction"}, {"content_hash": "b3939e4dc3f0ba4c01e633f2b13f8b51221279ed53c941946687115fd1710ef3", "fetched_at": "2026-08-29T08:35:58.711222+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/zh/getting-started/contributing"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:55.937173+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:55.937173+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:40:07.914844+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06cfec53f37327e41df3873a494b51de1df0f5c0d9f607a2bbe3d0dbc0264ddf", "fetched_at": "2026-08-28T04:09:55.937173+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dotnetcore/CAP"}, {"content_hash": "acb09a038e8081d89ea7c40515a42251fba7a823fe566614cbeeadf646a52039", "fetched_at": "2026-08-29T08:35:58.696511+00:00", "kind": "homepage", "missing": false, "url": "http://cap.dotnetcore.xyz"}, {"content_hash": "d70b44c58e094f9bc1b62bb7f103e5f5e122c41ec969a5e5ad84c59c1d0d4ef4", "fetched_at": "2026-08-29T08:35:58.699040+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/en/getting-started/quick-start"}, {"content_hash": "39f1cee3b0260960d44885dbd7068546772302b71178cec1be33d2e458d215e6", "fetched_at": "2026-08-29T08:35:58.701085+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/zh/getting-started/quick-start"}, {"content_hash": "ecfffe00dceacc3a1577b8510f88ec5885bb3164d6a9536da3ec26b4df8114d7", "fetched_at": "2026-08-29T08:35:58.703128+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/about/contact-us"}, {"content_hash": "bab42de04ffcd7f2ad8e5851b3732a394c1f3a0bbd1a32b0208e787e1108046d", "fetched_at": "2026-08-29T08:35:58.704814+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/en/getting-started/introduction"}, {"content_hash": "29c083f9ee66462465373674858c15ccc3c0fe85570cd689769d9cef406b9b4b", "fetched_at": "2026-08-29T08:35:58.706454+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/en/getting-started/contributing"}, {"content_hash": "52df2d043cc573a4d82558c6d1f62e745d98084c5b103956851467dcff5106bc", "fetched_at": "2026-08-29T08:35:58.707950+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/en/samples/faq"}, {"content_hash": "50f4fa7c2257581ec13b0da92a0309a5c848709bb123ea37752804871e59b735", "fetched_at": "2026-08-29T08:35:58.709570+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/zh/getting-started/introduction"}, {"content_hash": "b3939e4dc3f0ba4c01e633f2b13f8b51221279ed53c941946687115fd1710ef3", "fetched_at": "2026-08-29T08:35:58.711222+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/zh/getting-started/contributing"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:55.937173+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:55.937173+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:55.937173+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:40:07.914844+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06cfec53f37327e41df3873a494b51de1df0f5c0d9f607a2bbe3d0dbc0264ddf", "fetched_at": "2026-08-28T04:09:55.937173+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dotnetcore/CAP"}, {"content_hash": "acb09a038e8081d89ea7c40515a42251fba7a823fe566614cbeeadf646a52039", "fetched_at": "2026-08-29T08:35:58.696511+00:00", "kind": "homepage", "missing": false, "url": "http://cap.dotnetcore.xyz"}, {"content_hash": "d70b44c58e094f9bc1b62bb7f103e5f5e122c41ec969a5e5ad84c59c1d0d4ef4", "fetched_at": "2026-08-29T08:35:58.699040+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/en/getting-started/quick-start"}, {"content_hash": "39f1cee3b0260960d44885dbd7068546772302b71178cec1be33d2e458d215e6", "fetched_at": "2026-08-29T08:35:58.701085+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/zh/getting-started/quick-start"}, {"content_hash": "ecfffe00dceacc3a1577b8510f88ec5885bb3164d6a9536da3ec26b4df8114d7", "fetched_at": "2026-08-29T08:35:58.703128+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/about/contact-us"}, {"content_hash": "bab42de04ffcd7f2ad8e5851b3732a394c1f3a0bbd1a32b0208e787e1108046d", "fetched_at": "2026-08-29T08:35:58.704814+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/en/getting-started/introduction"}, {"content_hash": "29c083f9ee66462465373674858c15ccc3c0fe85570cd689769d9cef406b9b4b", "fetched_at": "2026-08-29T08:35:58.706454+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/en/getting-started/contributing"}, {"content_hash": "52df2d043cc573a4d82558c6d1f62e745d98084c5b103956851467dcff5106bc", "fetched_at": "2026-08-29T08:35:58.707950+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/en/samples/faq"}, {"content_hash": "50f4fa7c2257581ec13b0da92a0309a5c848709bb123ea37752804871e59b735", "fetched_at": "2026-08-29T08:35:58.709570+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/zh/getting-started/introduction"}, {"content_hash": "b3939e4dc3f0ba4c01e633f2b13f8b51221279ed53c941946687115fd1710ef3", "fetched_at": "2026-08-29T08:35:58.711222+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/zh/getting-started/contributing"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:55.937173+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:55.937173+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:40:07.914844+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06cfec53f37327e41df3873a494b51de1df0f5c0d9f607a2bbe3d0dbc0264ddf", "fetched_at": "2026-08-28T04:09:55.937173+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dotnetcore/CAP"}, {"content_hash": "acb09a038e8081d89ea7c40515a42251fba7a823fe566614cbeeadf646a52039", "fetched_at": "2026-08-29T08:35:58.696511+00:00", "kind": "homepage", "missing": false, "url": "http://cap.dotnetcore.xyz"}, {"content_hash": "d70b44c58e094f9bc1b62bb7f103e5f5e122c41ec969a5e5ad84c59c1d0d4ef4", "fetched_at": "2026-08-29T08:35:58.699040+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/en/getting-started/quick-start"}, {"content_hash": "39f1cee3b0260960d44885dbd7068546772302b71178cec1be33d2e458d215e6", "fetched_at": "2026-08-29T08:35:58.701085+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/zh/getting-started/quick-start"}, {"content_hash": "ecfffe00dceacc3a1577b8510f88ec5885bb3164d6a9536da3ec26b4df8114d7", "fetched_at": "2026-08-29T08:35:58.703128+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/about/contact-us"}, {"content_hash": "bab42de04ffcd7f2ad8e5851b3732a394c1f3a0bbd1a32b0208e787e1108046d", "fetched_at": "2026-08-29T08:35:58.704814+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/en/getting-started/introduction"}, {"content_hash": "29c083f9ee66462465373674858c15ccc3c0fe85570cd689769d9cef406b9b4b", "fetched_at": "2026-08-29T08:35:58.706454+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/en/getting-started/contributing"}, {"content_hash": "52df2d043cc573a4d82558c6d1f62e745d98084c5b103956851467dcff5106bc", "fetched_at": "2026-08-29T08:35:58.707950+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/en/samples/faq"}, {"content_hash": "50f4fa7c2257581ec13b0da92a0309a5c848709bb123ea37752804871e59b735", "fetched_at": "2026-08-29T08:35:58.709570+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/zh/getting-started/introduction"}, {"content_hash": "b3939e4dc3f0ba4c01e633f2b13f8b51221279ed53c941946687115fd1710ef3", "fetched_at": "2026-08-29T08:35:58.711222+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/zh/getting-started/contributing"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:40:07.914844+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06cfec53f37327e41df3873a494b51de1df0f5c0d9f607a2bbe3d0dbc0264ddf", "fetched_at": "2026-08-28T04:09:55.937173+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dotnetcore/CAP"}, {"content_hash": "acb09a038e8081d89ea7c40515a42251fba7a823fe566614cbeeadf646a52039", "fetched_at": "2026-08-29T08:35:58.696511+00:00", "kind": "homepage", "missing": false, "url": "http://cap.dotnetcore.xyz"}, {"content_hash": "d70b44c58e094f9bc1b62bb7f103e5f5e122c41ec969a5e5ad84c59c1d0d4ef4", "fetched_at": "2026-08-29T08:35:58.699040+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/en/getting-started/quick-start"}, {"content_hash": "39f1cee3b0260960d44885dbd7068546772302b71178cec1be33d2e458d215e6", "fetched_at": "2026-08-29T08:35:58.701085+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/zh/getting-started/quick-start"}, {"content_hash": "ecfffe00dceacc3a1577b8510f88ec5885bb3164d6a9536da3ec26b4df8114d7", "fetched_at": "2026-08-29T08:35:58.703128+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/about/contact-us"}, {"content_hash": "bab42de04ffcd7f2ad8e5851b3732a394c1f3a0bbd1a32b0208e787e1108046d", "fetched_at": "2026-08-29T08:35:58.704814+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/en/getting-started/introduction"}, {"content_hash": "29c083f9ee66462465373674858c15ccc3c0fe85570cd689769d9cef406b9b4b", "fetched_at": "2026-08-29T08:35:58.706454+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/en/getting-started/contributing"}, {"content_hash": "52df2d043cc573a4d82558c6d1f62e745d98084c5b103956851467dcff5106bc", "fetched_at": "2026-08-29T08:35:58.707950+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/en/samples/faq"}, {"content_hash": "50f4fa7c2257581ec13b0da92a0309a5c848709bb123ea37752804871e59b735", "fetched_at": "2026-08-29T08:35:58.709570+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/zh/getting-started/introduction"}, {"content_hash": "b3939e4dc3f0ba4c01e633f2b13f8b51221279ed53c941946687115fd1710ef3", "fetched_at": "2026-08-29T08:35:58.711222+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/zh/getting-started/contributing"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:40:07.914844+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06cfec53f37327e41df3873a494b51de1df0f5c0d9f607a2bbe3d0dbc0264ddf", "fetched_at": "2026-08-28T04:09:55.937173+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dotnetcore/CAP"}, {"content_hash": "acb09a038e8081d89ea7c40515a42251fba7a823fe566614cbeeadf646a52039", "fetched_at": "2026-08-29T08:35:58.696511+00:00", "kind": "homepage", "missing": false, "url": "http://cap.dotnetcore.xyz"}, {"content_hash": "d70b44c58e094f9bc1b62bb7f103e5f5e122c41ec969a5e5ad84c59c1d0d4ef4", "fetched_at": "2026-08-29T08:35:58.699040+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/en/getting-started/quick-start"}, {"content_hash": "39f1cee3b0260960d44885dbd7068546772302b71178cec1be33d2e458d215e6", "fetched_at": "2026-08-29T08:35:58.701085+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/zh/getting-started/quick-start"}, {"content_hash": "ecfffe00dceacc3a1577b8510f88ec5885bb3164d6a9536da3ec26b4df8114d7", "fetched_at": "2026-08-29T08:35:58.703128+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/about/contact-us"}, {"content_hash": "bab42de04ffcd7f2ad8e5851b3732a394c1f3a0bbd1a32b0208e787e1108046d", "fetched_at": "2026-08-29T08:35:58.704814+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/en/getting-started/introduction"}, {"content_hash": "29c083f9ee66462465373674858c15ccc3c0fe85570cd689769d9cef406b9b4b", "fetched_at": "2026-08-29T08:35:58.706454+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/en/getting-started/contributing"}, {"content_hash": "52df2d043cc573a4d82558c6d1f62e745d98084c5b103956851467dcff5106bc", "fetched_at": "2026-08-29T08:35:58.707950+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/en/samples/faq"}, {"content_hash": "50f4fa7c2257581ec13b0da92a0309a5c848709bb123ea37752804871e59b735", "fetched_at": "2026-08-29T08:35:58.709570+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/zh/getting-started/introduction"}, {"content_hash": "b3939e4dc3f0ba4c01e633f2b13f8b51221279ed53c941946687115fd1710ef3", "fetched_at": "2026-08-29T08:35:58.711222+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/zh/getting-started/contributing"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:40:07.914844+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06cfec53f37327e41df3873a494b51de1df0f5c0d9f607a2bbe3d0dbc0264ddf", "fetched_at": "2026-08-28T04:09:55.937173+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dotnetcore/CAP"}, {"content_hash": "acb09a038e8081d89ea7c40515a42251fba7a823fe566614cbeeadf646a52039", "fetched_at": "2026-08-29T08:35:58.696511+00:00", "kind": "homepage", "missing": false, "url": "http://cap.dotnetcore.xyz"}, {"content_hash": "d70b44c58e094f9bc1b62bb7f103e5f5e122c41ec969a5e5ad84c59c1d0d4ef4", "fetched_at": "2026-08-29T08:35:58.699040+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/en/getting-started/quick-start"}, {"content_hash": "39f1cee3b0260960d44885dbd7068546772302b71178cec1be33d2e458d215e6", "fetched_at": "2026-08-29T08:35:58.701085+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/zh/getting-started/quick-start"}, {"content_hash": "ecfffe00dceacc3a1577b8510f88ec5885bb3164d6a9536da3ec26b4df8114d7", "fetched_at": "2026-08-29T08:35:58.703128+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/about/contact-us"}, {"content_hash": "bab42de04ffcd7f2ad8e5851b3732a394c1f3a0bbd1a32b0208e787e1108046d", "fetched_at": "2026-08-29T08:35:58.704814+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/en/getting-started/introduction"}, {"content_hash": "29c083f9ee66462465373674858c15ccc3c0fe85570cd689769d9cef406b9b4b", "fetched_at": "2026-08-29T08:35:58.706454+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/en/getting-started/contributing"}, {"content_hash": "52df2d043cc573a4d82558c6d1f62e745d98084c5b103956851467dcff5106bc", "fetched_at": "2026-08-29T08:35:58.707950+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/en/samples/faq"}, {"content_hash": "50f4fa7c2257581ec13b0da92a0309a5c848709bb123ea37752804871e59b735", "fetched_at": "2026-08-29T08:35:58.709570+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/zh/getting-started/introduction"}, {"content_hash": "b3939e4dc3f0ba4c01e633f2b13f8b51221279ed53c941946687115fd1710ef3", "fetched_at": "2026-08-29T08:35:58.711222+00:00", "kind": "site_page", "missing": false, "url": "https://cap.dotnetcore.xyz/user-guide/zh/getting-started/contributing"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 95, "longevity": 100, "rhythm": 83}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3549, "days_push": 32, "days_rel": 32, "gap_med": 43.0, "n_releases_24m": 11}, "score": 92, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}