Fork me on GitHub
#practicalli
<
2023-03-29
>
practicalli-johnny20:03:33

I created a https://github.com/practicalli/clojure-service-template which I will be using to create a deps-new project template over the next few days The template repository currently includes • dev/user.clj for development tools ◦ launches Portal data inspector, listening on nREPL and displays all evaluation results ◦ Mulog event log with publisher to send event logs to portal ◦ find-deps to search for Clojure libraries • .dir-local.el for Emacs Cider jack-in config, including :build and :dev/reloaded aliases • build.clj build script with clean, jar and uberjar tasks • Dockerfile with a multistage build configuration, using the official docker images for Clojure (build) and eclipse-temurin (open-jdk runtime). Configuration is optimized for docker layer caching • docker-compose.yaml for building & orchestrating services locally, including a postgresql image (more example images could be included) • GitHub workflows and configuration • code-quality.yaml config using setup-clojure action that provides a Clojure CLI environment (including openjdk) with clj-kondo, a test runner and cljstyle code format check • Makefile with tasks to simplify CLI commands and provide a consistent interface across all projects. Includes tasks to run a repl, test runner, docker compose, clean projects, etc I am considering what code to include by default, which will probably include an http server (httpkit) with routing (reitit-ring) and example handlers Any other tools, config or code suggestions are welcome