From 22eb5e0665734dc2238d846c686a13d64297fcb3 Mon Sep 17 00:00:00 2001 From: Michiel Borkent Date: Thu, 30 Apr 2020 13:01:36 +0200 Subject: [PATCH] Dev note --- doc/dev.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/doc/dev.md b/doc/dev.md index 0641875c..79a3abe8 100644 --- a/doc/dev.md +++ b/doc/dev.md @@ -20,6 +20,22 @@ $ git submodule update --recursive `lein repl` will get you a standard REPL/nREPL connection. To work on tests use `lein with-profiles +test repl`. +## Adding libraries and classes + +When adding libraries to babashka, consider these evaluation criteria: + +- Would adding the library or class extend the reach of babashka to more + libraries in the Clojure eco-system? +- Is the library or class useful for general purpose scripting? +- Could the functionality be met by shelling out to another CLI or be written as + a small layer over an existing CLI (like `babashka.curl`) instead? + +If none of the criteria are met, but adding a feature is still useful to a +particular company or niche audience, it can still be added when hidden behind a +feature flag. This is the case for `next.jdbc` and the `PostgresQL` and `HSQLDB` +database drivers. Companies interested in these features can compile an instance +of babashka themselves, instead of using the standard distributed version. + ### Adding classes Add necessary classes to `babashka/impl/classes.clj`. For every addition, write