Home

Awesome

Practicalli project templates

██████╗ ██████╗  █████╗  ██████╗████████╗██╗ ██████╗ █████╗ ██╗     ██╗     ██╗
██╔══██╗██╔══██╗██╔══██╗██╔════╝╚══██╔══╝██║██╔════╝██╔══██╗██║     ██║     ██║
██████╔╝██████╔╝███████║██║        ██║   ██║██║     ███████║██║     ██║     ██║
██╔═══╝ ██╔══██╗██╔══██║██║        ██║   ██║██║     ██╔══██║██║     ██║     ██║
██║     ██║  ██║██║  ██║╚██████╗   ██║   ██║╚██████╗██║  ██║███████╗███████╗██║
╚═╝     ╚═╝  ╚═╝╚═╝  ╚═╝ ╚═════╝   ╚═╝   ╚═╝ ╚═════╝╚═╝  ╚═╝╚══════╝╚══════╝╚═╝

Overview

Create new projects with a REPL driven development focus, including production level features where relevant. The templates are used by deps-new via a user or project alias.

Templates provide

Configuration

Latest Release

io.github.practicalli/project-templates {:git/tag "2024-09-09" :git/sha "0d11ca4"}

Add alias

:project/create alias is provided by Practicalli Clojure CLI Config.

The project/create alias definition combines seancorfield/deps-new and practicalli/project-templates so that all Practicalli templates are available within one alias.

  :project/create
  {:replace-deps {io.github.seancorfield/deps-new
                  {:git/tag "v0.8.0" :git/sha "2f96530"}
                  io.github.practicalli/project-templates
                  {:git/tag "2024-09-09" :git/sha "0d11ca4"}}
   :exec-fn      org.corfield.new/create
   :exec-args    {:template practicalli/application
                  :name practicalli/playground}}

Latest Release page includes the release :git/tag and :git/sha values for io.github.practicalli/project-templates

Usage

Create a new project using the :project/create alias from Practicalli Clojure CLI Config, using practicalli/minimal template by default

clojure -T:project/create

Override the defaults used to create a project using command line options

clojure -T:project/create :template practicalli/service \
:name practicalli/gameboard :target-dir gameboard-service

Templates Roadmap

🧰 General purpose

🕸️ Web UI

🔬 Data Science ‍

🐈 Miscellaneous

3rd party templates

Sponsor Practicalli

Sponsor practicalli-johnny

The majority of my work is focused on the Practicalli series of books and videos and supporting projects.

Thank you to Cognitect, Nubank and a wide range of other sponsors for your continued support

Development

List all the available project tasks using the make help

make

This project uses make tasks to run the Clojure tests, kaocha test runner and package the service into an uberjar. The Makefile uses clojure commands and arguments that can be used directly if not using make.

Start a Clojure REPL process with a rich terminal UI, nREPL server for editor connection and including the build.clj script on the class path

make repl

Run kaocha unit test runner to check the template configuration against the seancorfield/deps-new template specification

make test

Run tests when ever there are file changes using kaocha watch (requires :test/watch from Practicalli Clojure CLI Config)

make test-watch

Practicalli Blog: Create deps-new template for Clojure CLI projects

License

Copyright © 2023 Practicalli

Creative Commons Attribution Share-Alike 4.0 International