Skip to content

Instantly share code, notes, and snippets.

View johnlindquist's full-sized avatar
💭
Educating 👨🏻‍🏫

John Lindquist johnlindquist

💭
Educating 👨🏻‍🏫
View GitHub Profile
@johnlindquist
johnlindquist / CLAUDE.md
Created January 12, 2026 21:14
WezTerm Power User Config - Zellij-style layouts, Smart Pickers, External Triggers, Session Persistence

WezTerm Power User Guide

A guide to WezTerm workspaces, pane management, and productivity tricks for users coming from iTerm2.

Modular Config Structure

The config is split into logical modules for maintainability:

~/.config/wezterm/
@johnlindquist
johnlindquist / opencode-plugin-logging.md
Created January 12, 2026 02:20
OpenCode Plugin Logging Infrastructure - What we learned

OpenCode Plugin Logging Infrastructure

What We Did

Added comprehensive session-based file logging to all 8 OpenCode plugins in .opencode/plugin/. Each plugin now logs every hook invocation, whether it triggered an action or was skipped.

Files Created/Modified

  1. .opencode/lib/logger.ts - Shared logging utility
  2. All 8 plugins - Added logTriggered() and logSkipped() calls to every hook
@johnlindquist
johnlindquist / opencode-plugins-guide.md
Created January 11, 2026 20:10
OpenCode Plugins Guide - Complete reference for writing plugins with hooks, custom tools, and event handling

OpenCode Plugins Guide

A comprehensive guide to writing plugins for OpenCode that extend agent behavior with hooks, custom tools, and event handling.

Quick Start

  1. Create a TypeScript file in .opencode/plugin/ (project) or ~/.config/opencode/plugin/ (global)
  2. Export a named plugin function
  3. Restart OpenCode
@johnlindquist
johnlindquist / claude-zsh-functions.md
Last active September 6, 2026 11:20
Loading ZSH Functions into Claude Code

Loading ZSH Functions into Claude Code

Make your shell functions and aliases available to Claude Code's Bash tool.

Setup

1. Create the Shell Init Script

Create ~/.claude/shell-init.sh:

@johnlindquist
johnlindquist / claude-hidden-flags.md
Last active May 23, 2026 18:19
Claude Code CLI Hidden Flags (v2.1.1)

Claude Code CLI Hidden Flags (v2.1.1)

These flags are hidden from claude --help but are available in the CLI. Found by searching the compiled binary source.

Hidden Flags

Flag Description
-d2e, --debug-to-stderr Enable debug mode (to stderr)
@johnlindquist
johnlindquist / gastown-vs-swarm-tools.md
Created January 8, 2026 04:25
Gas Town vs Swarm-Tools: Multi-Agent AI Orchestration Compared

Gas Town vs Swarm-Tools: Multi-Agent AI Orchestration Compared

Two ambitious open-source projects tackling the same fundamental problem: how do you coordinate multiple AI coding agents to work together effectively?

TL;DR

Aspect Gas Town Swarm-Tools
Author Steve Yegge Joel Hooks
Language Go TypeScript/Bun
@johnlindquist
johnlindquist / OPENCODE_SHORTCUTS.md
Created December 31, 2025 17:31
OpenCode Keyboard Shortcuts Reference

OpenCode Keyboard Shortcuts

A comprehensive reference for OpenCode keyboard shortcuts.

Leader Key: Ctrl+X (used as <leader> prefix for many shortcuts)

Quick Reference - Most Used

Action Shortcut
@johnlindquist
johnlindquist / vercel-workflow-best-practices.md
Created December 17, 2025 21:19
Vercel Workflow SDK Best Practices

Vercel Workflow SDK Best Practices

A comprehensive guide to building durable, production-ready workflows with the Vercel Workflow SDK.

Quick Reference

Pattern Use Case Key Feature
Step Functions Atomic, retriable operations 'use step' directive
Webhooks Human-in-the-loop, external triggers Workflow pauses until response
// Name: Get Current Page as Markdown
// Shortcut: opt t
import "@johnlindquist/kit"
const url = await getActiveTab()
const response = await get(`https://into.md/${url}`)
const text = `
<site>
<url>
@johnlindquist
johnlindquist / reminders-schedule.md
Created December 12, 2025 18:27
UserPromptSubmit Hook Reminder Schedule

UserPromptSubmit Hook Reminder Schedule

Quick Summary

After 3 UserSubmitPrompts, the system shows reminders every 3 prompts, cycling through 5 different reminder types. Each reminder is combined with a Tools Refresh notification.

Complete Schedule (Prompts 1-30)

Prompt Type Reminder Index Content