# Development Instructions ## Building ```bash ./scripts/lein-modules do clean, install ``` ## Running tests ```bash ./scripts/test.sh clj ./scripts/test.sh cljs ``` ## Formatting ```bash clojure-lsp format clojure-lsp clean-ns ``` ## Documentation The documentation lives under `doc` and it is hosted on [cljdoc](https://cljdoc.org). See their documentation for [library authors](https://github.com/cljdoc/cljdoc/blob/master/doc/userguide/for-library-authors.adoc) ## Updating deps * `lein ancient upgrade` * Mention non-dev non-test dep upgrades in CHANGELOG.md * `npm update --save` * Make a PR, run CI ## Making a release We use [Break Versioning][breakver]. Remember our promise: patch-level bumps never include breaking changes! [breakver]: https://github.com/ptaoussanis/encore/blob/master/BREAK-VERSIONING.md ```bash # create a release commit ./scripts/set-version "1.0.0" # !!! update the changelog git add -u git commit -m "Release 1.0.0" # push the commit git push # !!! check that tests pass on CI ``` * Create a new release on github at * This will trigger the automated release workflow * Announce the release at least on #reitit in Clojurians.