{"adoption": {"forks": 269, "observed_at": "2026-08-28T04:06:40.394239+00:00", "stars": 2352}, "canonical_url": "https://ross.abutalabs.com/products/serverless", "card": {"archived": false, "artifact_type": "learning-resource", "description": "This is intended to be a repo containing all of the official AWS Serverless architecture patterns built with CDK for developers to use. All patterns come in Typescript and Python with the exported CloudFormation also included.", "domain": ["cloud-computing", "infrastructure-as-code", "developer-tools", "tutorials"], "enriched": true, "function": ["infrastructure-as-code", "serverless", "developer-tools", "documentation"], "health_score": 20, "homepage": "https://cdkpatterns.com", "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["cdk-patterns/serverless"], "name": "cdk-patterns/serverless", "platform": ["cloud", "python", "cli"], "pushed_at": "2024-01-30T06:00:03+00:00", "repo": "cdk-patterns/serverless", "stars": 2352, "tags": ["aws-cdk", "serverless-patterns", "cloudformation", "lambda", "architecture-patterns", "event-driven-architecture", "nodejs", "typescript"], "topics": ["serverless", "cdk", "aws", "lambda-functions", "dynamodb", "stepfunctions", "eventbridge", "sqs", "cloudformation", "typescript", "python", "appsync", "graphql", "sns", "aws-cdk", "lambda-destinations"], "urls": [], "use_cases": ["find aws cdk serverless architecture patterns", "scaffold a serverless project template with cdk", "learn event-driven aws architectures like eventbridge and step functions", "generate cloudformation templates from cdk patterns", "learn aws cdk through real examples", "bootstrap a lambda api project with dynamodb"], "what_it_is": "An open-source collection of AWS serverless architecture patterns implemented with AWS CDK, available in both TypeScript and Python with exported CloudFormation templates. It includes a CLI (cdkp) for scaffolding individual patterns and provides unit tests and Well-Architected learnings for each pattern.", "when_to_avoid": ["you target non-AWS clouds or container-based serverless", "you need a production framework rather than reference patterns to copy", "you need Python lambda implementations - some patterns reuse JS lambdas"], "when_to_choose": ["you build on AWS serverless (Lambda, DynamoDB, EventBridge, Step Functions) and want proven architecture starting points", "you want the same pattern in TypeScript or Python CDK with unit tests", "you want vanilla CloudFormation output alongside CDK code"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/serverless", "repo": "cdk-patterns/serverless", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:40.394239+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:36:30.764521+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "df81b04843ed60578345f61ea87d05610ed955ffba63973cb7c90ebdaa64e325", "fetched_at": "2026-08-28T04:06:40.394239+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cdk-patterns/serverless"}, {"content_hash": "3a4d22509e3a67d5c981fb4273e56b58ef965c5a397da7d05dceecbb53676854", "fetched_at": "2026-08-29T10:17:33.262742+00:00", "kind": "homepage", "missing": false, "url": "https://cdkpatterns.com"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:40.394239+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:36:30.764521+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "df81b04843ed60578345f61ea87d05610ed955ffba63973cb7c90ebdaa64e325", "fetched_at": "2026-08-28T04:06:40.394239+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cdk-patterns/serverless"}, {"content_hash": "3a4d22509e3a67d5c981fb4273e56b58ef965c5a397da7d05dceecbb53676854", "fetched_at": "2026-08-29T10:17:33.262742+00:00", "kind": "homepage", "missing": false, "url": "https://cdkpatterns.com"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:36:30.764521+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "df81b04843ed60578345f61ea87d05610ed955ffba63973cb7c90ebdaa64e325", "fetched_at": "2026-08-28T04:06:40.394239+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cdk-patterns/serverless"}, {"content_hash": "3a4d22509e3a67d5c981fb4273e56b58ef965c5a397da7d05dceecbb53676854", "fetched_at": "2026-08-29T10:17:33.262742+00:00", "kind": "homepage", "missing": false, "url": "https://cdkpatterns.com"}], "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:06:40.394239+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:40.394239+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:40.394239+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:36:30.764521+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "df81b04843ed60578345f61ea87d05610ed955ffba63973cb7c90ebdaa64e325", "fetched_at": "2026-08-28T04:06:40.394239+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cdk-patterns/serverless"}, {"content_hash": "3a4d22509e3a67d5c981fb4273e56b58ef965c5a397da7d05dceecbb53676854", "fetched_at": "2026-08-29T10:17:33.262742+00:00", "kind": "homepage", "missing": false, "url": "https://cdkpatterns.com"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:40.394239+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:40.394239+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:36:30.764521+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "df81b04843ed60578345f61ea87d05610ed955ffba63973cb7c90ebdaa64e325", "fetched_at": "2026-08-28T04:06:40.394239+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cdk-patterns/serverless"}, {"content_hash": "3a4d22509e3a67d5c981fb4273e56b58ef965c5a397da7d05dceecbb53676854", "fetched_at": "2026-08-29T10:17:33.262742+00:00", "kind": "homepage", "missing": false, "url": "https://cdkpatterns.com"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:40.394239+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:40.394239+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:40.394239+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:36:30.764521+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "df81b04843ed60578345f61ea87d05610ed955ffba63973cb7c90ebdaa64e325", "fetched_at": "2026-08-28T04:06:40.394239+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cdk-patterns/serverless"}, {"content_hash": "3a4d22509e3a67d5c981fb4273e56b58ef965c5a397da7d05dceecbb53676854", "fetched_at": "2026-08-29T10:17:33.262742+00:00", "kind": "homepage", "missing": false, "url": "https://cdkpatterns.com"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:40.394239+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:40.394239+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:36:30.764521+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "df81b04843ed60578345f61ea87d05610ed955ffba63973cb7c90ebdaa64e325", "fetched_at": "2026-08-28T04:06:40.394239+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cdk-patterns/serverless"}, {"content_hash": "3a4d22509e3a67d5c981fb4273e56b58ef965c5a397da7d05dceecbb53676854", "fetched_at": "2026-08-29T10:17:33.262742+00:00", "kind": "homepage", "missing": false, "url": "https://cdkpatterns.com"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:36:30.764521+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "df81b04843ed60578345f61ea87d05610ed955ffba63973cb7c90ebdaa64e325", "fetched_at": "2026-08-28T04:06:40.394239+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cdk-patterns/serverless"}, {"content_hash": "3a4d22509e3a67d5c981fb4273e56b58ef965c5a397da7d05dceecbb53676854", "fetched_at": "2026-08-29T10:17:33.262742+00:00", "kind": "homepage", "missing": false, "url": "https://cdkpatterns.com"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:36:30.764521+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "df81b04843ed60578345f61ea87d05610ed955ffba63973cb7c90ebdaa64e325", "fetched_at": "2026-08-28T04:06:40.394239+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cdk-patterns/serverless"}, {"content_hash": "3a4d22509e3a67d5c981fb4273e56b58ef965c5a397da7d05dceecbb53676854", "fetched_at": "2026-08-29T10:17:33.262742+00:00", "kind": "homepage", "missing": false, "url": "https://cdkpatterns.com"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:36:30.764521+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "df81b04843ed60578345f61ea87d05610ed955ffba63973cb7c90ebdaa64e325", "fetched_at": "2026-08-28T04:06:40.394239+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cdk-patterns/serverless"}, {"content_hash": "3a4d22509e3a67d5c981fb4273e56b58ef965c5a397da7d05dceecbb53676854", "fetched_at": "2026-08-29T10:17:33.262742+00:00", "kind": "homepage", "missing": false, "url": "https://cdkpatterns.com"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2425, "days_push": 946, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}