Skip to content

v1.0.0

Choose a tag to compare

@joeseverino joeseverino released this 17 May 06:00
v1.0.0
9ca7a9c

First stable release. A cohesive macOS shell suite where every tool follows the same shape — shared lib/, env-driven layout, consistent flags, terse output.

Tools

  • encrypt / decrypt — age-based file encryption with your SSH ed25519 key. Keychain caches the unlocked passphrase so subsequent operations don't re-prompt.
  • open-age — Decrypt → open → re-encrypt on save. Edit .age-encrypted files in your normal editor.
  • vault — Obsidian + git glue: vault sync (pull + push), vault status (working tree, remote sync, inbox count), vault inbox (list pending notes).
  • inbox — Quick-capture timestamped notes into the vault inbox. Pipes from stdin, opens $EDITOR with -e.
  • backuprsync mirror of tracked files into $BACKUPS_HOME, auto-commits if the destination is a git repo. Source/destination pairs in config/backup.sh (gitignored; copy from .example).
  • dns-test — Latency diagnostics across resolvers (Cloudflare, Quad9, Google, local, custom). Useful for diagnosing AdGuard / DoT / DoH setups.
  • hq — Bridge between a private Obsidian vault and a Django docs/projects/assets index (Severino HQ). Subcommands:
    • hq sync — walk vault → push frontmatter manifest → upsert HQ docs index by doc_id
    • hq doctor — report docs missing / with invalid frontmatter
    • hq create project|asset <slug> --name "<name>" [flags] — idempotent record upserts
    • hq deploy [--no-build]git pull --ff-only && docker compose up -d --build on $HQ_SSH_HOST
    • hq logs [-f] [--tail N] — app container logs
    • hq restartdocker compose restart app (no rebuild)
    • hq shell / hq superuser — interactive Django commands over SSH
    • hq open / hq export — open in browser / pull year summary

Shape

  • Layout vars (NOTES_HOME, TOOLS_HOME, KEYS_HOME, BACKUPS_HOME, HQ_*) are exported from ~/.zshrc. Tools refuse to run without them (${VAR:?set in ~/.zshrc}).
  • Shared helpers (msg, die, header, footer, color vars) in lib/common.sh.
  • Per-family config in config/*.sh — tracked .example templates, gitignored personal copies.
  • macOS-first. Compatible with system bash 3.2 and zsh.
  • Idempotent or read-only subcommands wherever the underlying operation is upsert-shaped (vault sync, backup, hq sync, hq create, hq deploy).

CI

Every push lints the full source on macOS — bash -n, zsh -n, shellcheck -x across all tools and sourced libs/configs.

Install

git clone https://github.com/joeseverino/tools.git
cd tools
# Set TOOLS_HOME + the layout vars in ~/.zshrc — see README for the checklist
ln -s "$PWD"/{encrypt,decrypt,inbox,vault,backup,dns-test,open-age,hq,tools} ~/.local/bin/

See the README for full setup, the env-var checklist per tool, and example day-in-life workflows.