aboutsummaryrefslogtreecommitdiffstats
path: root/lib/template/Justfile
diff options
context:
space:
mode:
authormsi2025-11-16 12:28:25 -0300
committermsi2025-11-16 12:28:25 -0300
commitcd7cf0434f173b3ac135f2678ab38d1bc82f19c4 (patch)
tree9171ea3384d62217fe29d906b43fca9ba9e693c3 /lib/template/Justfile
parentc722f8281d0f19080f19928a69de950c1472cf94 (diff)
downloadtemplates-cd7cf0434f173b3ac135f2678ab38d1bc82f19c4.tar.gz
Add lib template
Diffstat (limited to 'lib/template/Justfile')
-rw-r--r--lib/template/Justfile38
1 files changed, 38 insertions, 0 deletions
diff --git a/lib/template/Justfile b/lib/template/Justfile
new file mode 100644
index 0000000..d751545
--- /dev/null
+++ b/lib/template/Justfile
@@ -0,0 +1,38 @@
+#!/usr/bin/env -S just --justfile
+
+_default:
+ @just --list -u
+
+# ==================== ALIASES ====================
+alias r := ci
+
+# ==================== SETUP & INITIALIZATION ====================
+
+# Install git pre-commit hook to format files
+install-hook:
+ echo -e "#!/bin/sh\njust fmt" > .git/hooks/pre-commit
+ chmod +x .git/hooks/pre-commit
+
+# ==================== CORE DEVELOPMENT ====================
+
+watch +args='test --all':
+ cargo watch --clear --exec '{{args}}'
+
+ci:
+ cargo test --all
+ cargo clippy --all
+ cargo fmt --all -- --check
+
+# publish current master branch
+publish:
+ #!/usr/bin/env bash
+ set -euxo pipefail
+ rm -rf tmp/release
+ git clone git@github.com
+ VERSION=`sed -En 's/version[[:space:]]*=[[:space:]]*"([^"]+)"/\1/p' Cargo.toml | head -1`
+ cd tmp/release
+ git tag -a $VERSION -m "Release $VERSION"
+ git push origin $VERSION
+ cargo publish
+ cd ../..
+ rm -rf tmp/release