Profiles
Profiles are clj-new template arguments. They are helpful when you are starting a new project and know ahead of time what functionality you will need. In such cases, you can use profiles to set up a new Kit project without having to manually add libraries and wire them together.
Unlike modules, profiles are tied to clj-new, the project generation tool. You can only use them when creating a project.
Running clojure -Tclj-new create :template io.github.kit-clj :name yourname/app
will create an application using the default profile template. However, if you would like to attach further functionality to your template you can append profile hints for the extended functionality.
Default libs included with no profile specified:
kit-core
kit-undertow
Additional profiles:
+xtdb
- Adds thekit-xtdb
lib+hato
- Adds thekit-hato
lib+metrics
- Adds thekit-metrics
lib+nrepl
- Adds thekit-nrepl
lib, removes thekit-repl
lib. Note that you do not need this profile to use nREPL during development.+quartz
- Adds thekit-quartz
lib+redis
- Adds thekit-redis
lib+selmer
- Adds thekit-selmer
lib+socket-repl
- Adds thekit-repl
lib+sql
- Adds thekit-sql
andkit-postgres
libs+full
- Adds the libskit-xtdb
,kit-hato
,kit-metrics
,kit-quartz
,kit-redis
,kit-repl
,kit-selmer
, andkit-sql
To add a profile, pass it as an argument after your application name, e.g.:
clojure -Tclj-new create :template io.github.kit-clj :name yourname/app :args '[+selmer]'
You can also mix multiple profiles when creating the application, e.g.:
clojure -Tclj-new create :template io.github.kit-clj :name yourname/app :args '[+selmer +xtdb]'
Libraries
kit-core
- Basic utility functions used by some other libskit-xtdb
- Simple binding to connect to a XTDB database nodekit-hato
- HTTP client using hatokit-metrics
- Configurable metrics using iapetoskit-nrepl
- nREPL component. Note that you do not need this library to use nREPL during development.kit-quartz
- Scheduler using cronut as an integrant binding for quartz. Exposes thecronut
API, simply some extensions foraero
and utilitieskit-redis
- Extension of core.cache for Redis via carminekit-repl
- Socket REPL integrant bindingkit-selmer
- Templating configuration with selmerkit-sql
- Generic SQL integrant binding. Uses conman, next.jdbc, hugsql, and migratus directly, or implicitly. By default, importskit-postgres
lib which supports Postgresqlkit-postgres
- Lib with data bindings and utilities for working with Postgreskit-undertow
- Server binding via luminus-undertow