Releases: joeseverino/tools
Releases · joeseverino/tools
Release list
v1.3.1
v1.3.0
1.3.0 (2026-06-30)
Features
- branch-safety engine — start verb, stale recovery, one branch-state ladder (#37) (f5b1351)
- brief surfaces the backlog (open + stale debt) from the vault brief (#40) (4bfe8ba)
- drift: json-cache data-store model via the MCP; retire legacy block path (a09e307)
- drift: json-file data-store model alongside legacy blocks (516b7e9)
- drift: migrate nginx, ts-acl, cf-dns to the json-file data store (876d5c1)
- ship-flow gate, fleet contracts, and shared drift/mcp seams (#43) (cfd7137)
- site CLI + describe cohesion (validate-writeup, reinstall-mcp --yes, federate obsidian contract) (367f798)
- site CLI + describe cohesion (validate-writeup, reinstall-mcp --yes, federate obsidian contract) (e4a8339)
- site CLI + describe cohesion (validate-writeup, reinstall-mcp --yes, federate obsidian contract) (899997f)
- site CLI + describe cohesion (validate-writeup, reinstall-mcp --yes, federate obsidian contract) (57e9d09)
- vault: add 'vault daily' — populate the daily note's brief region (#44) (cf463b2)
- vault: daily note lists the actual open work, not just counts (#46) (a178f52)
- vault: daily note logs what you DID, not pending work (#47) (0058077)
- workspace loop — land verb, brief/repos cockpits, one PR-state owner (dc761ee)
- workspace loop (land + brief/repos cockpits) + brand Cordon delegate (276d5da)
Bug Fixes
- common: route die() to stderr; drop the per-call >&2 workarounds (#45) (0a6cd9d)
- workspace: resync clears squash-merged current branch; exact-name scope; reaper (#39) (c706dfc)
Performance Improvements
v1.2.0
1.2.0 (2026-06-20)
Features
v1.1.0
1.1.0 (2026-06-20)
Features
- add document provenance to PDFs (ec47dcb)
- add resync and ship CI/PR management (--check, --watch, PR sync) (7353c81)
- add resync and ship CI/PR management (--check, --watch, PR sync) (d9b9e9f)
- apply brand tokens to Mermaid (266efdc)
- brand doc-to-pdf artifacts (98134c0)
- brand: add
brand figurefor designed graphics (277b453) - command-surface SOT — one spec, one intercept, derived everywhere (be3dc26)
- describe v3 — per-command effect (blast radius) + scoped command lookup (d6cda71)
- doc-to-pdf GitHub links + brand figure graphics (7e2adb3)
- doc-to-pdf: rewrite relative links to absolute GitHub URLs (f53cd43)
- doctor --all, section-scoped mirror writer, sync-state, cache fixes (b6197dd)
- emit-once command-surface contract (tools describe) (d553562)
- guard the vendored cordon schema against drift (14c999f)
- refine branded diagram theme (layered cards, anchor pivot, 3x) (bdd1d5c)
- require explicit command effects (a507aab)
- runtime deploy gate + validate sibling describe contracts (#7) (81224cf)
- site manage TUI with bats + PTY test coverage (901d77f)
- site: add site dev --drafts for local draft preview, document in README (0df0b13)
- site: auto-commit on publish-all, add og command, document in README (4a56618)
- site: name published/edited/removed slugs in publish-all commit (c37c1d7)
- site: PR-based publish flow +
site land(3116bd5) - site: PR-based publish flow +
site land(12c2a1e) - standardize branded diagram rendering (8db9444)
- tools describe --tui + focused per-command help from one spec (763179b)
- unify branded document rendering (cb6daf8)
Bug Fixes
v1.0.0
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$EDITORwith-e.backup—rsyncmirror of tracked files into$BACKUPS_HOME, auto-commits if the destination is a git repo. Source/destination pairs inconfig/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 bydoc_idhq doctor— report docs missing / with invalid frontmatterhq create project|asset <slug> --name "<name>" [flags]— idempotent record upsertshq deploy [--no-build]—git pull --ff-only && docker compose up -d --buildon$HQ_SSH_HOSThq logs [-f] [--tail N]— app container logshq restart—docker compose restart app(no rebuild)hq shell/hq superuser— interactive Django commands over SSHhq 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) inlib/common.sh. - Per-family config in
config/*.sh— tracked.exampletemplates, 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.