I write lots of tiny tools for removing friction from daily tasks, here’s a smattering:
Pre-commit Hooks- Blog Edition
A series of existing and original lints for publishing static blogs. Available on GitHub.
Use with your JamStack blog/documents in your .pre-commit-config.yaml:
- repo: https://github.com/cadeef/pre-commit-hooks-blog
rev: main
hooks:
- id: auto-commit-message
- id: check-dummy
- id: check-orphan-tags
- id: fix-bear-export-quirks
Cookiecutters
Starting a new project is filled with lots of boilerplate. I use cookiecutter to eliminate toil. A couple cookiecutters that get regular use:
- cookiecutter-python: my general 🐍 workflow
- cookiecutter-base: basic, new repo template
Cade Not Found
Cades from around the net. My @cade Twitter handle receives a fair number of mis-mentions trying to find a different Cade— a directory to point wayward netizens in the right direction.
Cade-Task
I use Apple’s Reminders.app to get things done, but my primary work environment is a terminal. Cade-task wraps Reminders.app in convenient, terminal-based goodness. It also serves as a backend agnostic wrapper so that muscle memory isn’t interrupted by the next GTD hotness.
Bear-exporter
Coming Soon!
A CLI utility to export notes and files from Bear.
As a frequent user of Bear for all things note-related, I found the in-app export interface and existing third-party tooling lacking. Bear-exporter makes getting content out of Bear trivial.
Cade.pro is statically built by Hugo. Bear-exporter allows me to author content in Bear and export it with a single command:
bear-exporter notes —-export —-format hugo —-tag blog
GKR
Coming Soon!
Git Key Resolver, a utility to simplify using multiple SSH keys with GitHub (or other git hosts).
Convoluted solutions litter the internet that require constant tinkering with either your configuration per-repository, SSH configuration, or git remotes. GKR implements a set it and forget it, rule-based approach with configuration stored alongside your other git options; it’s a drop in solution that just works.
Add a rule and forget about it:
gkr add —-key ~/.ssh/totally-awesome-key —-project cadeef
Use git normally, your totally-awesome-key
will be injected for all repositories in the “cadeef” project scope. Match on any part of the URL or use regex for complex scenarios.
Miscellaneous
Find me on GitHub, Pypi, or anywhere half-assed software is given away freely.