{"adoption": {"forks": 54, "observed_at": "2026-08-28T04:03:50.953072+00:00", "stars": 1168}, "canonical_url": "https://ross.abutalabs.com/products/kotless", "card": {"archived": false, "artifact_type": "framework", "description": "Kotlin Serverless Framework", "domain": ["web-development", "cloud-computing", "backend", "infrastructure-as-code"], "enriched": true, "function": ["web-framework", "deployment", "infrastructure-as-code", "serverless", "routing", "cli"], "health_score": 20, "homepage": null, "language": "Kotlin", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["JetBrains/kotless"], "name": "JetBrains/kotless", "platform": ["jvm", "cloud"], "pushed_at": "2024-02-01T10:43:00+00:00", "repo": "JetBrains/kotless", "stars": 1168, "tags": ["kotlin", "serverless", "faas", "aws-lambda", "azure-functions", "terraform-generation", "ktor", "spring-boot", "gradle-plugin", "devops", "gradle"], "topics": ["kotlin", "serverless", "web", "devops", "faas", "lambda", "gradle-plugin"], "urls": [], "use_cases": ["deploy a Kotlin web app to AWS Lambda without writing Terraform", "convert an existing Ktor application into a serverless deployment", "run Spring Boot apps as serverless functions on AWS or Azure", "generate Terraform code from Kotlin application code", "locally emulate AWS environment for serverless debugging", "define scheduled events and routing with annotations for serverless apps"], "what_it_is": "Kotless is a Kotlin serverless framework that generates Terraform deployment code directly from application code, supporting its own DSL as well as introspection of Ktor and Spring Boot applications. It ships as a Gradle plugin that deploys web applications to AWS Lambda and Azure serverless platforms and supports local emulation and IDE debugging.", "when_to_avoid": ["you deploy to platforms other than AWS or Azure", "your project is not on the JVM or does not use Gradle", "you need a framework with frequent updates and a large community", "you want full manual control over your Terraform infrastructure code"], "when_to_choose": ["you write Kotlin and want one-button serverless deployment to AWS or Azure", "you have existing Ktor or Spring Boot apps you want to run serverlessly", "you want Terraform generated automatically from your application code", "you prefer deployment integrated into your Gradle build"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/kotless", "repo": "JetBrains/kotless", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:50.953072+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:28:45.504578+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "885756ab8ca3953a1905f6ddf1631869a172a8462efa79e55c2a81c079a6d039", "fetched_at": "2026-08-28T04:03:50.953072+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JetBrains/kotless"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:50.953072+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:28:45.504578+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "885756ab8ca3953a1905f6ddf1631869a172a8462efa79e55c2a81c079a6d039", "fetched_at": "2026-08-28T04:03:50.953072+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JetBrains/kotless"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:28:45.504578+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "885756ab8ca3953a1905f6ddf1631869a172a8462efa79e55c2a81c079a6d039", "fetched_at": "2026-08-28T04:03:50.953072+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JetBrains/kotless"}], "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:03:50.953072+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:50.953072+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:50.953072+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:28:45.504578+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "885756ab8ca3953a1905f6ddf1631869a172a8462efa79e55c2a81c079a6d039", "fetched_at": "2026-08-28T04:03:50.953072+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JetBrains/kotless"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:50.953072+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:50.953072+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:28:45.504578+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "885756ab8ca3953a1905f6ddf1631869a172a8462efa79e55c2a81c079a6d039", "fetched_at": "2026-08-28T04:03:50.953072+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JetBrains/kotless"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:50.953072+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:50.953072+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:50.953072+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:28:45.504578+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "885756ab8ca3953a1905f6ddf1631869a172a8462efa79e55c2a81c079a6d039", "fetched_at": "2026-08-28T04:03:50.953072+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JetBrains/kotless"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:50.953072+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:50.953072+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:28:45.504578+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "885756ab8ca3953a1905f6ddf1631869a172a8462efa79e55c2a81c079a6d039", "fetched_at": "2026-08-28T04:03:50.953072+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JetBrains/kotless"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:28:45.504578+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "885756ab8ca3953a1905f6ddf1631869a172a8462efa79e55c2a81c079a6d039", "fetched_at": "2026-08-28T04:03:50.953072+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JetBrains/kotless"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:28:45.504578+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "885756ab8ca3953a1905f6ddf1631869a172a8462efa79e55c2a81c079a6d039", "fetched_at": "2026-08-28T04:03:50.953072+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JetBrains/kotless"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:28:45.504578+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "885756ab8ca3953a1905f6ddf1631869a172a8462efa79e55c2a81c079a6d039", "fetched_at": "2026-08-28T04:03:50.953072+00:00", "kind": "readme", "missing": false, "url": "https://github.com/JetBrains/kotless"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "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": 2634, "days_push": 944, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}