Jekyll Run Plugin: Fixing the Multi-Root Workspace Crash
The Jekyll Run VS Code extension crashes with 'TypeError: Cannot read properties of null' in multi-root workspaces on macOS. The error is misleading — the real problem is macOS GUI apps don't inherit your shell PATH, so the plugin runs system Ruby 2.6. The fix is rbenv with Ruby 3.3, launching VS Code from a terminal, and understanding why every other approach fails.
Jekyll Run Plugin: Local Development Settings That Actually Work
The Jekyll Run VS Code extension is convenient for local development, but its settings live in four different places and the defaults won't show your future-dated posts. Here's how to configure it properly, where the settings actually come from, and the _config.yml trap that silently overrides your CLI flags.
Kiro IDE on Windows: WSL2 Support via Open Remote Extension
Kiro doesn't ship with Microsoft's WSL extension, and the official extension isn't available on Open VSX. The Open Remote - WSL extension by jeanp413 bridges the gap — but it requires an easy-to-miss argv.json configuration step, breaks predictably on Kiro updates, and has terminal routing quirks that will cost you an hour if you don't know about them. Here's the complete setup, the failure modes, and the recovery procedures.
Kiro IDE: Running Parallel Personas for Director and Developer Workflows
Kiro's ~/.kiro directory stores powers, hooks, agents, and MCP server configs globally — but there's no built-in way to switch between profiles. If you need a Senior Director persona loaded with Atlassian, GitLab, and observability MCPs running alongside a stripped-down developer persona focused on code, you have to get creative. Here's how the path resolution actually works and three approaches to running both simultaneously on macOS and Windows.
VS Code Markdown Preview: Closing the macOS vs Windows Context Menu Gap
On macOS, VS Code's right-click context menu gives you 'Open Preview' for Markdown files. On Windows and WSL2, you only get 'Open With...' and an extra click. Here's how to close that gap.