{"id":16558745,"url":"https://github.com/wakingrufus/spring-funk","last_synced_at":"2025-07-18T22:07:49.227Z","repository":{"id":241903564,"uuid":"787456746","full_name":"wakingrufus/spring-funk","owner":"wakingrufus","description":"A framework for declarative DSL configuration for Spring Boot.","archived":false,"fork":false,"pushed_at":"2025-06-06T14:03:49.000Z","size":333,"stargazers_count":49,"open_issues_count":5,"forks_count":4,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-06T14:17:11.048Z","etag":null,"topics":["functional-programming","kotlin","spring-boot"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wakingrufus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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}},"created_at":"2024-04-16T14:58:06.000Z","updated_at":"2025-06-06T13:54:46.000Z","dependencies_parsed_at":"2024-10-23T01:10:17.402Z","dependency_job_id":"1703027d-4e0b-481f-9f67-8fef74e40aff","html_url":"https://github.com/wakingrufus/spring-funk","commit_stats":null,"previous_names":["wakingrufus/spring-dsl"],"tags_count":28,"template":false,"template_full_name":null,"purl":"pkg:github/wakingrufus/spring-funk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wakingrufus%2Fspring-funk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wakingrufus%2Fspring-funk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wakingrufus%2Fspring-funk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wakingrufus%2Fspring-funk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wakingrufus","download_url":"https://codeload.github.com/wakingrufus/spring-funk/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wakingrufus%2Fspring-funk/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265845019,"owners_count":23837704,"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":["functional-programming","kotlin","spring-boot"],"created_at":"2024-10-11T20:23:36.403Z","updated_at":"2025-07-18T22:07:49.203Z","avatar_url":"https://github.com/wakingrufus.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Spring FunK\n\nA framework for declarative DSL configuration for Spring Boot.\n\n[![Maven Central Version](https://img.shields.io/maven-central/v/io.github.wakingrufus/spring-funk-core?style=for-the-badge\u0026color=01AF01)](https://repo1.maven.org/maven2/io/github/wakingrufus/)\n\n## Introduction\n\nThis project delivers an API for accessing Spring's beans DSL and router DSL as well as some additional DSLs that don't exist in core Spring. \nSpring FunK is also designed for extension. This should make it ideal for platform engineers who are building on top of Spring Boot.\nSpring FunK will work with AutoConfigured Spring boot applications, but if your application is not using AOP at all (AutoConfiguration, Component Scanning, Spring annotations), it will also work with these features disabled in Spring, which will allow you to unlock very fast start-up times, similar to [spring-fu](https://github.com/spring-projects-experimental/spring-fu).\nFor more background, see the [Documentation](https://wakingrufus.github.io/spring-funk/introduction.html).\n\nThe TL;DR is that this library lets you write a Spring Boot application that looks like this:\n```kotlin\nclass ExampleApplication : SpringFunkApplication {\n    override fun dsl(): SpringDslContainer.() -\u003e Unit = {\n        webmvc {\n            enableWebMvc {\n                jetty()\n            }\n            router {\n                GET(\"/dsl\") {\n                    ServerResponse.ok().body(\"Hello World\")\n                }\n            }\n        }\n    }\n}\n```\n\n## Contributing\n\nIn order to build the project, clone the repository and run `./gradlew build`.\nContributions are very welcome for:\n- Documentation\n- Adding a module which will convert an existing Spring Boot AutoConfiguration into an ApplicationContextInitializer\n- Adding or modifying a module which will expose more Spring Boot configuration via the DSL.\n\nOther contributions may be welcome. Start by opening an [issue](https://github.com/wakingrufus/spring-funk/issues).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwakingrufus%2Fspring-funk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwakingrufus%2Fspring-funk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwakingrufus%2Fspring-funk/lists"}