{"id":13717787,"url":"https://github.com/luminus-framework/luminus-template","last_synced_at":"2026-04-09T05:32:09.028Z","repository":{"id":6074316,"uuid":"7300454","full_name":"luminus-framework/luminus-template","owner":"luminus-framework","description":"a template project for the Luminus framework","archived":false,"fork":false,"pushed_at":"2026-02-27T12:52:25.000Z","size":2963,"stargazers_count":649,"open_issues_count":33,"forks_count":144,"subscribers_count":31,"default_branch":"master","last_synced_at":"2026-02-27T16:25:48.451Z","etag":null,"topics":["clojure","webframework"],"latest_commit_sha":null,"homepage":"http://www.luminusweb.net/","language":"Clojure","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/luminus-framework.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","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}},"created_at":"2012-12-24T00:44:06.000Z","updated_at":"2026-02-27T12:52:30.000Z","dependencies_parsed_at":"2024-06-18T21:26:00.476Z","dependency_job_id":"2154e4a4-9034-4da8-bb06-e96b6b987b4e","html_url":"https://github.com/luminus-framework/luminus-template","commit_stats":{"total_commits":1958,"total_committers":153,"mean_commits":"12.797385620915033","dds":"0.16598569969356491","last_synced_commit":"c44ca80492ca5fd686369f8e8d73928ff4430111"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/luminus-framework/luminus-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luminus-framework%2Fluminus-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luminus-framework%2Fluminus-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luminus-framework%2Fluminus-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luminus-framework%2Fluminus-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/luminus-framework","download_url":"https://codeload.github.com/luminus-framework/luminus-template/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luminus-framework%2Fluminus-template/sbom","scorecard":{"id":605140,"data":{"date":"2025-08-11","repo":{"name":"github.com/luminus-framework/luminus-template","commit":"4fa3efedcebd510b5df715f5b737db5978d5c9e9"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.9,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":1,"reason":"Found 5/30 approved changesets -- score normalized to 1","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: containerImage not pinned by hash: resources/leiningen/new/luminus/core/Dockerfile:1: pin your Docker image by updating openjdk:8-alpine to openjdk:8-alpine@sha256:94792824df2df33402f201713f932b58cb9de94a0cd524164a0f2283343547b3","Info:   0 out of   1 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 5 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-21T01:25:19.013Z","repository_id":6074316,"created_at":"2025-08-21T01:25:19.014Z","updated_at":"2025-08-21T01:25:19.014Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31587801,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"online","status_checked_at":"2026-04-09T02:00:06.848Z","response_time":112,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["clojure","webframework"],"created_at":"2024-08-03T00:01:27.114Z","updated_at":"2026-04-09T05:32:09.008Z","avatar_url":"https://github.com/luminus-framework.png","language":"Clojure","readme":"# Luminus-Template\n\n[![Clojars Project](https://img.shields.io/clojars/v/luminus/lein-template.svg)](https://clojars.org/luminus/lein-template)\n\nA Leiningen template for projects using [Luminus](http://www.luminusweb.net/).\n\nThe template initializes a base Luminus application.\n\n## Requirements\n\nLuminus requires Leiningen version 2.5.3+\n\n## Usage\n\nThe Luminus template ships out of the box with your latest Leiningen. Run the following\ncommand to create a new Luminus project which uses the default profile template:\n\n```bash\nlein new luminus \u003cyour project name\u003e\n```\n\nHowever, if you would like to attach further functionality to your template you can append [profile hints][ph] for these extended features:\n\n\n\n| Profile      | Category      | Description                                                                                                                                                     | Compare                                                                          |\n| :---:        | :---:         | :---:                                                                                                                                                           | :---:                                                                            |\n| +aleph       | server        | adds the [Aleph](https://github.com/ztellman/aleph) server                                                                                                      | [diff](https://github.com/nfedyashev/luminusdiff/compare/3.85..3.85+aleph)       |\n| +http-kit    | server        | adds the fast [HTTP Kit](https://github.com/http-kit/http-kit) web server to the project                                                                        | [diff](https://github.com/nfedyashev/luminusdiff/compare/3.85..3.85+http-kit)    |\n| +immutant    | server        | adds the [immutant](https://github.com/immutant/immutant) web server to the project. Note: this project is no longer funded/maintained                          | [diff](https://github.com/nfedyashev/luminusdiff/compare/3.85..3.85+immutant)    |\n| +jetty       | server        | adds the [jetty](https://github.com/luminus-framework/luminus-jetty) web server to the project                                                                  | [diff](https://github.com/nfedyashev/luminusdiff/compare/3.85..3.85+jetty)       |\n| +undertow    | server        | adds the [ring-undertow](https://github.com/luminus-framework/ring-undertow-adapter) server. **This is a default server.**                                      | [diff](https://github.com/nfedyashev/luminusdiff/compare/3.85..3.85+undertow)    |\n| +h2          | database      | adds db.core namespace and [H2 database][h2] dependencies                                                                                                       | [diff](https://github.com/nfedyashev/luminusdiff/compare/3.85..3.85+h2)          |\n| +postgres    | database      | adds db.core namespace and [PostgreSQL database][pg] dependencies                                                                                                | [diff](https://github.com/nfedyashev/luminusdiff/compare/3.85..3.85+postgres)    |\n| +mysql       | database      | adds db.core namespace and [MySQL/MariaDB database][my] dependencies                                                                                            | [diff](https://github.com/nfedyashev/luminusdiff/compare/3.85..3.85+mysql)       |\n| +mongodb     | database      | adds support for [MongoDB][mongo] using the [Monger][monger] library                                                                                            | [diff](https://github.com/nfedyashev/luminusdiff/compare/3.85..3.85+mongodb)     |\n| +datomic     | database      | adds support for the [Datomic](http://www.datomic.com/) database                                                                                                | [diff](https://github.com/nfedyashev/luminusdiff/compare/3.85..3.85+datomic)     |\n| +sqlite      | database      | adds support for the [SQLite](https://www.sqlite.org/) database                                                                                                 | [diff](https://github.com/nfedyashev/luminusdiff/compare/3.85..3.85+sqlite)      |\n| +xtdb        | database      | adds support for the [XTDB](https://xtdb.com/) database                                                                                                        | [diff](https://github.com/nfedyashev/luminusdiff/compare/3.85..3.85+xtdb)      |\n| +graphql     | service API   | adds GraphQL support using [Lacinia](https://github.com/walmartlabs/lacinia)                                                                                    | [diff](https://github.com/nfedyashev/luminusdiff/compare/3.85..3.85+graphql)     |\n| +swagger     | service API   | adds support for [Swagger-UI](https://github.com/swagger-api/swagger-ui)                                                                                        | [diff](https://github.com/nfedyashev/luminusdiff/compare/3.85..3.85+swagger)     |\n| +service     | service API   | removes static assets and the layout, adds Swagger support                                                                                                      | [diff](https://github.com/nfedyashev/luminusdiff/compare/3.85..3.85+service)     |\n| +cljs        | ClojureScript | adds [ClojureScript][cljs] support to the project                                                                                                               | [diff](https://github.com/nfedyashev/luminusdiff/compare/3.85..3.85+cljs)        |\n| +reagent     | ClojureScript | adds [ClojureScript][cljs] support with [Reagent](https://reagent-project.github.io/) to the project along with an example                                      | [diff](https://github.com/nfedyashev/luminusdiff/compare/3.85..3.85+reagent)     |\n| +re-frame    | ClojureScript | adds [ClojureScript][cljs] support with [re-frame](https://github.com/Day8/re-frame) to the project along with an example                                       | [diff](https://github.com/nfedyashev/luminusdiff/compare/3.85..3.85+re-frame)    |\n| +kee-frame   | ClojureScript | adds [kee-frame](https://github.com/ingesolvoll/kee-frame) to the project                                                                                       | [diff](https://github.com/nfedyashev/luminusdiff/compare/3.85..3.85+kee-frame)   |\n| +shadow-cljs | ClojureScript | adds [shadow-cljs](https://github.com/thheller/shadow-cljs) support to the project, replacing the default cljsbuild and figwheel setup                          | [diff](https://github.com/nfedyashev/luminusdiff/compare/3.85..3.85+shadow-cljs) |\n| +boot        | misc          | causes the project to run with [Boot](https://github.com/boot-clj/boot) instead of [Leiningen](https://github.com/technomancy/leiningen/)                       | [diff](https://github.com/nfedyashev/luminusdiff/compare/3.85..3.85+boot)        |\n| +auth        | misc          | adds [Buddy](https://github.com/funcool/buddy) dependency and authentication middleware                                                                         | [diff](https://github.com/nfedyashev/luminusdiff/compare/3.85..3.85+auth)        |\n| +auth-jwe    | misc          | adds [Buddy](https://github.com/funcool/buddy) dependency with the [JWE](https://jwcrypto.readthedocs.io/en/stable/jwe.html) backend                            | [diff](https://github.com/nfedyashev/luminusdiff/compare/3.85..3.85+auth-jwe)    |\n| +oauth       | misc          | adds [OAuth](https://github.com/mattrepl/clj-oauth) dependency                                                                                                  | [diff](https://github.com/nfedyashev/luminusdiff/compare/3.85..3.85+oauth)       |\n| +hoplon      | misc          | adds [ClojureScript][cljs] support with [Hoplon](https://github.com/hoplon/hoplon) to the project                                                               | [diff](https://github.com/nfedyashev/luminusdiff/compare/3.85..3.85+hoplon)      |\n| +cucumber    | misc          | adds support for browser based UI testing with [Cucumber][cucumber] and [clj-webdriver][clj-webdriver]                                                          | [diff](https://github.com/nfedyashev/luminusdiff/compare/3.85..3.85+cucumber)    |\n| +sassc       | misc          | adds support for [SASS/SCSS](http://sass-lang.com/) files using [SassC](http://github.com/sass/sassc) command line compiler                                     | [diff](https://github.com/nfedyashev/luminusdiff/compare/3.85..3.85+sassc)       |\n| +war         | misc          | adds support of building WAR archives for deployment to servers such as Apache Tomcat **(should NOT be used for [Immutant apps running on WildFly][immutant])** | [diff](https://github.com/nfedyashev/luminusdiff/compare/3.85..3.85+war)         |\n| +site        | misc          | creates template for site using the specified database (H2 by default) and ClojureScript                                                                        | [diff](https://github.com/nfedyashev/luminusdiff/compare/3.85..3.85+site)        |\n| +kibit       | misc          | adds [lein-kibit](https://github.com/jonase/kibit) plugin                                                                                                       | [diff](https://github.com/nfedyashev/luminusdiff/compare/3.85..3.85+kibit)       |\n| +servlet     | misc          | adds middleware for handling Servlet context                                                                                                                    | [diff](https://github.com/nfedyashev/luminusdiff/compare/3.85..3.85+servlet)     |\n| +basic       | misc          | generates a bare bones luminus project                                                                                                                          | [diff](https://github.com/nfedyashev/luminusdiff/compare/3.85..3.85+basic)       |\n| +async       | misc          | support for async (= 3 argument) ring handlers                                                                                                                  |        |\n\n\nTo add a profile simply pass it as an argument after your application name, e.g.:\n\n```bash\nlein new luminus myapp +cljs\n```\n\nYou can also mix multiple profiles when creating the application, e.g.:\n\n```bash\nlein new luminus myapp +auth +postgres\n```\n\nTo build as a executable [Java ARchive (JAR)][jar] standalone, run the following command:\n\n```bash\nlein uberjar\n```\nOr if using the +boot profile:\n```bash\nboot uberjar\n```\n\nTo run the resulting standalone executable `.jar` file, do as you would with any other:\n\n```bash\nuser$ java -jar target/myapp.jar\n15-Sep-14 16:06:21 APc47d.4f39.65e6.uhn.ca INFO [myapp.handler] -\n-=[myapp started successfully]=-\n16:06:21.685 INFO  [org.projectodd.wunderboss.web.Web] (main) Registered web context /\n15-Sep-14 16:06:21 APc47d.4f39.65e6.uhn.ca INFO [myapp.core] - server started on port: 3002\n```\n\n## Performance Testing\n\nThe app can be stress tested by running the [Apache benchmark](https://httpd.apache.org/docs/2.2/programs/ab.html) command:\n\n```\nab -c 10 -n 1000 http://127.0.0.1:3000/\n```\n\nThe memory and CPU usage can be inspected by running either `jconsole` or `jvisualvm` and attaching them to a running Luminus server.\n\n## Async Ring Handlers\n\nUsing async ring handlers is possible but adds another layer of\ncomplexity.  If things go wrong you'll see a blank screen, possibly\nwithout any error message.\n\nThe server (undertow, jetty, servlet) and every middleware in the chain has to \nsupport async request handling.\n\nTo enable: add `:async? true` to your config maps.\n\nTested combinations:\n\n* default (undertow)\n* +war\n* +servlet +war (this implies jetty9): http://localhost:3000/your-ns instead of just /\n* +jetty +war: http://localhost:3000/your-ns instead of just /\n* +jetty: works\n* +http-kit\n* +aleph\n\n## Other Templates\n\n* [chestnut](https://github.com/plexus/chestnut)\n* [duct](https://github.com/duct-framework/duct)\n* [fulcro-template](https://github.com/fulcrologic/fulcro-template)\n* [pedestal](https://github.com/pedestal/pedestal)\n* [reagent-template](https://github.com/reagent-project/reagent-template)\n* [re-frame-template](https://github.com/Day8/re-frame-template)\n* [reagent-figwheel](https://github.com/gadfly361/reagent-figwheel)\n* [reagent-seed](https://github.com/gadfly361/reagent-seed)\n* [vase](https://github.com/cognitect-labs/vase)\n\n\nThere is also a public [comparison chart](https://goo.gl/ZZH8fm) of the common templates.\n\n## License\n\nCopyright © 2016 Dmitri Sotnikov\n\nDistributed under the [MIT License](http://opensource.org/licenses/MIT).\n\n[ph]: \u003chttp://www.luminusweb.net/docs/profiles.html\u003e\n[tbs]: \u003chttp://twitter.github.io/bootstrap/\u003e\n[cljs]: \u003chttps://github.com/clojure/clojurescript\u003e\n[h2]: \u003chttp://www.h2database.com/html/main.html\u003e\n[pg]: \u003chttp://www.postgresql.org/\u003e\n[my]: \u003chttps://mariadb.org/\u003e\n[dc]: \u003chttps://www.dailycred.com/\u003e\n[kit]: \u003chttp://http-kit.org/\u003e\n[war]: \u003chttp://en.wikipedia.org/wiki/WAR_file_format_(Sun)\u003e\n[jar]: \u003chttp://en.wikipedia.org/wiki/Jar_file\u003e\n[cucumber]: \u003chttp://cukes.info\u003e\n[clj-webdriver]: \u003chttps://github.com/semperos/clj-webdriver\u003e\n[mongo]: \u003chttp://www.mongodb.com\u003e\n[monger]: \u003chttp://clojuremongodb.info\u003e\n[immutant]: \u003chttp://www.luminusweb.net/docs/deployment.md#deploying_to_wildfly\u003e\n","funding_links":[],"categories":["Back-End Development"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluminus-framework%2Fluminus-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fluminus-framework%2Fluminus-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluminus-framework%2Fluminus-template/lists"}