summaryrefslogtreecommitdiff
path: root/scripts/.claude
diff options
context:
space:
mode:
authorPeter Stone <thepeterstone@gmail.com>2026-03-22 23:48:32 +0000
committerPeter Stone <thepeterstone@gmail.com>2026-03-22 23:48:32 +0000
commitf024a6a1cbcb68395fe1a15d4ac852c2be2416e6 (patch)
tree149db55dbc69b04a5aa02edf88dbe8a5d83f1841 /scripts/.claude
parent455206121f2061d5bc81b629da7978e1975845d9 (diff)
chore: unify and centralize agent configuration in .agent/
Diffstat (limited to 'scripts/.claude')
-rwxr-xr-xscripts/.claude/claudomator-db-20260315.sh55
1 files changed, 55 insertions, 0 deletions
diff --git a/scripts/.claude/claudomator-db-20260315.sh b/scripts/.claude/claudomator-db-20260315.sh
new file mode 100755
index 0000000..796ad43
--- /dev/null
+++ b/scripts/.claude/claudomator-db-20260315.sh
@@ -0,0 +1,55 @@
+#!/usr/bin/env bash
+# Purpose: Query the claudomator SQLite database
+# Usage:
+# ./claudomator-db.sh task <short-id-or-uuid> -- task + dependencies
+# ./claudomator-db.sh deps <short-id-or-uuid> -- blocking dependencies
+# ./claudomator-db.sh blocked -- all BLOCKED tasks
+# ./claudomator-db.sh list [STATE] -- list tasks, optionally filter by state
+
+DB=/site/doot.terst.org/data/claudomator.db
+CMD=${1:-list}
+
+resolve_id() {
+ local id=$1
+ sqlite3 "$DB" "SELECT id FROM tasks WHERE id LIKE '${id}%' LIMIT 1;"
+}
+
+case "$CMD" in
+ task)
+ full=$(resolve_id "$2")
+ [ -z "$full" ] && { echo "Task not found: $2"; exit 1; }
+ sqlite3 -column -header "$DB" "SELECT id, name, state, priority, created_at FROM tasks WHERE id = '$full';"
+ ;;
+ deps)
+ full=$(resolve_id "$2")
+ [ -z "$full" ] && { echo "Task not found: $2"; exit 1; }
+ echo "=== Blocking dependencies of ${full} ==="
+ sqlite3 -column -header "$DB" \
+ "SELECT t.id, t.name, t.state FROM tasks t
+ WHERE t.id IN (
+ SELECT value FROM tasks, json_each(tasks.depends_on_json) WHERE tasks.id = '$full'
+ );"
+ echo ""
+ echo "=== Tasks blocked by ${full} ==="
+ sqlite3 -column -header "$DB" \
+ "SELECT t.id, t.name, t.state FROM tasks t
+ WHERE EXISTS (
+ SELECT 1 FROM json_each(t.depends_on_json) WHERE value = '$full'
+ );"
+ ;;
+ blocked)
+ sqlite3 -column -header "$DB" "SELECT id, name, state, priority FROM tasks WHERE state = 'BLOCKED' ORDER BY created_at DESC;"
+ ;;
+ list)
+ STATE=${2:-}
+ if [ -n "$STATE" ]; then
+ sqlite3 -column -header "$DB" "SELECT id, name, state, priority, created_at FROM tasks WHERE state = '$STATE' ORDER BY created_at DESC;"
+ else
+ sqlite3 -column -header "$DB" "SELECT id, name, state, priority, created_at FROM tasks ORDER BY created_at DESC;"
+ fi
+ ;;
+ *)
+ echo "Unknown command: $CMD"
+ exit 1
+ ;;
+esac