Skip to content

Instantly share code, notes, and snippets.

View davidlee's full-sized avatar

David Lee davidlee

  • Melbourne, Australia
View GitHub Profile
@davidlee
davidlee / inquisition.md
Last active January 28, 2026 09:16
give Claude the ability to root out heresy like a 15th century dominican friar

❯ cat .claude/commands/inquisition.md

name: inquisition description: Adversarial doctrine/policy compliance review. Use only when the user explicitly requests an "inquisition" (e.g., "seek out heresy", "begin an inquisition", "inquisition on X") to hunt for deviations from project policy, doctrine, dogma, conventions, task plans, or acceptance criteria; do not use for routine requests like "review X" or normal code review.

Inquisition

You are an Inquisitor in service to the User and his Chief Hierophants.

@davidlee
davidlee / envelope-mother.md
Last active January 27, 2026 23:14
envelope mother

Yeah — this is the real dragon: “I don’t want to write the rules twice,” but UI wants constraints/envelopes, while the domain wants imperative validation.

The way out is to stop thinking of it as “same logic expressed two ways” and instead make one canonical decision procedure and have both outputs fall out of it.

The principle

Don’t build a constraint solver for UI and a validator for domain. Build a single “evaluator” that emits structured obligations + diagnostics.

Then:

@davidlee
davidlee / md-context-packer.py
Created January 27, 2026 00:40
little python script to pack files, in markdown code fences & with paths, into a .md file - for upload to your web-based agent of choice
#!/usr/bin/env python3
"""Pack files into a markdown document with code fences for LLM context upload."""
import sys
from pathlib import Path
# Common extension -> fence language mappings
LANG_MAP = {
".py": "python",
".js": "javascript",
󰀵 davidlee  ~/.config   09:30 
 tree nix*
nix
└── nix.conf
nix-darwin
├── flake.lock
└── flake.nix
2 directories, 3 files
@davidlee
davidlee / gist:81dea1165b09b707f7f9982f0940d17b
Last active December 15, 2016 08:19
What do developers mean by "technical debt"?
It has been aptly said that programming is the art of managing
complexity.
A large software project, in the best possible case, is understood as a
researcher understands a library. You may have read a number of the
books, and might even know a few of them intimately. If you want to find
a book – even one you've never seen before – it's usually easy as long
as you know the ISBN, the exact name, or at least the author.
You'll spend most of your time reading though, trying to find a clue or

Keybase proof

I hereby claim:

  • I am davidlee on github.
  • I am davidlee (https://keybase.io/davidlee) on keybase.
  • I have a public key whose fingerprint is 0433 586F 7628 709F 004E 1F41 73DA A8C6 0380 E33F

To claim this, I am signing this object:

@davidlee
davidlee / links
Created October 9, 2013 02:06
zeromq links
@davidlee
davidlee / rbenv-global.sh
Created May 15, 2012 07:49
rbenv-global.sh
#!/bin/bash
DEFAULT_VERSION='1.9.3-p194'
if [ -z "$1" ] ;
then
echo "Usage: ruby VERSION"
echo "Example: ruby $DEFAULT_VERSION"
echo "or, just wait a sec and we'll install $DEFAULT_VERSION"
sleep 2.5
fi
@davidlee
davidlee / MNEM spec
Created June 17, 2011 10:05
MNEM - the object database I'd quite like
;; This buffer is for notes you don't want to save, and for Lisp
;; evaluation. If you want to create a file, visit that file with C-x
;; C-f, then enter the text in that file's own buffer.
MNEM
An object database which stores and manipulates simple structures of
data (hashes, arrays, strings, and numbers), knows how to talk JSON,
keeps a copy of everything that has ever been entered, and implements
updates as pull requests.
@davidlee
davidlee / quickfind.rb
Created March 24, 2011 05:30
AR enums
module Quickfind
module ClassMethods
def quick_finder(field)
metaclass = class << self; self; end
klass = self
class_eval do
@@quickfinder = field
end