diff options
| author | twells46 <173561638+twells46@users.noreply.github.com> | 2026-04-01 15:54:58 -0500 |
|---|---|---|
| committer | twells46 <173561638+twells46@users.noreply.github.com> | 2026-04-01 15:54:58 -0500 |
| commit | db1c2b8ce214bc555b8aa21114c6614e9071bf34 (patch) | |
| tree | f01d5c945d90472226d280be205d9cfc4a64faad | |
| parent | 1e72f44f28b97ef3f28627421bedca379d136a76 (diff) | |
Add simple shell executable
| -rw-r--r-- | README.md | 17 | ||||
| -rwxr-xr-x | bin/cheat | 18 | ||||
| -rw-r--r-- | cards.jsonl | 1 | ||||
| -rw-r--r-- | cheat.db | bin | 118784 -> 118784 bytes |
4 files changed, 31 insertions, 5 deletions
@@ -21,6 +21,13 @@ Then run a query like this: python query_index.py "get free disk space" ``` +Or install the wrapper script and use `cheat` from anywhere: + +```sh +ln -sf "$PWD/bin/cheat" ~/.local/bin/cheat +cheat "get free disk space" +``` + To add commands, add to `./cards.jsonl` and rebuild the index: ```sh @@ -36,19 +43,19 @@ python query_index.py --serve Then keep using the same query command: ```sh -python query_index.py "get free disk space" +cheat "get free disk space" ``` To run the server in the background: ```sh -nohup python query_index.py --serve >/tmp/cheat.log 2>&1 & +nohup cheat --serve >/tmp/cheat.log 2>&1 & ``` Useful controls: ```sh -python query_index.py --status -python query_index.py --reload -python query_index.py --stop +cheat --status +cheat --reload +cheat --stop ``` diff --git a/bin/cheat b/bin/cheat new file mode 100755 index 0000000..4988312 --- /dev/null +++ b/bin/cheat @@ -0,0 +1,18 @@ +#!/usr/bin/env bash +set -euo pipefail + +SCRIPT_PATH="$(readlink -f "$0")" +SCRIPT_DIR="$(cd "$(dirname "$SCRIPT_PATH")" && pwd)" +REPO_DIR="$(cd "$SCRIPT_DIR/.." && pwd)" + +if [[ -x "$REPO_DIR/.venv/bin/python" ]]; then + PYTHON_BIN="$REPO_DIR/.venv/bin/python" +elif [[ -x "$REPO_DIR/venv/bin/python" ]]; then + PYTHON_BIN="$REPO_DIR/venv/bin/python" +else + echo "No project virtualenv found at $REPO_DIR/.venv or $REPO_DIR/venv" >&2 + exit 1 +fi + +cd "$REPO_DIR" +exec "$PYTHON_BIN" "$REPO_DIR/query_index.py" "$@" diff --git a/cards.jsonl b/cards.jsonl index ed19844..cb5c89c 100644 --- a/cards.jsonl +++ b/cards.jsonl @@ -29,3 +29,4 @@ {"id":"git_status_short","intent":["show git status briefly","check repo state","see changed files in git","short git status"],"command":"git status --short","alternatives":["git status"],"explanation":"Shows tracked and untracked file changes in a compact format.","requires":["git"],"packages":{},"tags":["git","status","repo"],"platform":["linux","macos"],"shell":["bash","zsh","fish"],"safety":"safe-readonly"} {"id":"git_log_oneline_graph","intent":["show concise git history","see commit graph briefly","inspect recent commits compactly","git log one line graph"],"command":"git log --oneline --graph --decorate -n 20","alternatives":[],"explanation":"Shows a compact decorated commit graph for recent history.","requires":["git"],"packages":{},"tags":["git","history","commits"],"platform":["linux","macos"],"shell":["bash","zsh","fish"],"safety":"safe-readonly"} {"id":"git_show_changed_files","intent":["show files changed in last commit","list files changed by commit","see modified files from HEAD","inspect changed paths in commit"],"command":"git show --name-only --oneline HEAD","alternatives":["git diff --name-only HEAD~1 HEAD"],"explanation":"Shows the last commit summary and the files it changed.","requires":["git"],"packages":{},"tags":["git","diff","files","commits"],"platform":["linux","macos"],"shell":["bash","zsh","fish"],"safety":"safe-readonly"} +{"id":"systemd_failed_units","intent":["show failed systemd units","systemctl failed units","view systemd failed services"],"command":"sudo systemctl list-units --state failed","alternatives":["sudo systemctl list-units --failed"],"explanation":"Show all units systemd has in memory, filtering the failed ones.","requires":["systemctl"],"packages":{},"tags":["systemctl","failed","service","unit"],"platform":["linux"],"shell":["bash","zsh","fish"],"safety":"safe-readonly"} Binary files differ |