From 32389b7547a6aafd42e27507656e917db43a28e6 Mon Sep 17 00:00:00 2001 From: Andrey Avtomonov Date: Sat, 23 May 2026 10:37:19 +0200 Subject: [PATCH] chore(scripts): add ktx-reset.sh project-cleanup helper Convenience script for repeatable ingest testing: takes a project directory and prunes everything except ktx.yaml and .ktx/secrets/, so the next ktx setup or ktx ingest run starts from a known-clean state. --- scripts/ktx-reset.sh | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100755 scripts/ktx-reset.sh diff --git a/scripts/ktx-reset.sh b/scripts/ktx-reset.sh new file mode 100755 index 00000000..808e0d25 --- /dev/null +++ b/scripts/ktx-reset.sh @@ -0,0 +1,26 @@ +#!/bin/bash +# ktx-reset.sh - Reset a ktx project directory back to its seed state. +# +# Removes everything in except ktx.yaml and .ktx/, and prunes .ktx/ +# down to just .ktx/secrets/. Useful when re-running ingest/setup against +# a known-clean project tree. + +set -e +set -o pipefail + +if [ -z "$1" ]; then + echo "usage: ktx-reset " >&2 + exit 1 +fi + +dir="${1%/}" +if [ ! -d "$dir" ]; then + echo "ktx-reset: $dir is not a directory" >&2 + exit 1 +fi + +find "$dir" -mindepth 1 -maxdepth 1 ! -name ktx.yaml ! -name .ktx -exec rm -rf {} + +if [ -d "$dir/.ktx" ]; then + find "$dir/.ktx" -mindepth 1 -maxdepth 1 ! -name secrets -exec rm -rf {} + +fi +tree -a "$dir"