Skip to content

Instantly share code, notes, and snippets.

@remorses
remorses / dropdown.tsx
Created January 8, 2026 13:51
termcast dropdown - final cleanup with ref callback pattern
/**
* Dropdown Component - Custom Renderable Pattern
*
* Uses same pattern as custom-renderable-list-v2.tsx:
* - Custom renderables for Dropdown/DropdownItem/DropdownSection
* - onLifecyclePass for item registration
* - Zustand store for state sync with React
*
* Architecture:
* DropdownRenderable (custom renderable)
@remorses
remorses / dropdown.tsx
Created January 8, 2026 13:43
termcast dropdown component - refactored to extend ScrollBoxRenderable, clean state flow
/**
* Dropdown Component - Custom Renderable Pattern
*
* Uses same pattern as custom-renderable-list-v2.tsx:
* - Custom renderables for Dropdown/DropdownItem/DropdownSection
* - onLifecyclePass for item registration
* - Zustand store for state sync with React
*
* Architecture:
* DropdownRenderable (custom renderable)
@remorses
remorses / dropdown.tsx
Created January 8, 2026 13:24
termcast dropdown component with ScrollBox and textarea fixes
/**
* Dropdown Component - Custom Renderable Pattern
*
* Uses same pattern as custom-renderable-list-v2.tsx:
* - Custom renderables for Dropdown/DropdownItem/DropdownSection
* - onLifecyclePass for item registration
* - Zustand store for state sync with React
*
* Architecture:
* DropdownRenderable (custom renderable)
@remorses
remorses / hotkey
Created December 19, 2025 10:36
window navigation like mac autohotkey
#Requires AutoHotkey v2.0
; Toggle all mappings on/off
^!#p::Suspend ; Ctrl+Alt+Win+P toggles
LAlt::RCtrl ; enable only if you do NOT need AltGr (often used for € and special chars)
#Left::Send "{Home}" ; Win+Left = start of line
#Right::Send "{End}" ; Win+Right = end of line
@remorses
remorses / TERMCAST_FIXES.md
Created December 15, 2025 21:33
Termcast bug fixes for release command

Termcast Bug Fixes

Two bugs were found in termcast that prevented the release command from working properly.

Bug 1: Release command requires path argument

File: src/cli.ts (or dist/cli.js)

Problem: The release command was defined with a required <path> argument, but dev and build commands use optional [path]. Running termcast release without a path silently did nothing.

@remorses
remorses / changes.patch
Created November 26, 2025 20:37
Patch of current changes vs origin/main
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index ab53460..1265510 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -100,6 +100,11 @@ jobs:
node-version: "24"
registry-url: "https://registry.npmjs.org"
+ - name: Setup Bun
+ uses: oven-sh/setup-bun@v1
@remorses
remorses / drift.txt
Last active November 23, 2025 14:24
Cartesia websocket speech to text timestamps drift
Audio Stats:
- Sample Rate: 16000 Hz (Fixed)
- Duration: 192.783 s
- Samples: 3084534
[1/3] Running Batch API (Reference)...
stdout | website/src/lib/cartesia-stt.test.ts > Cartesia STT Timestamp Debugging > compares Batch API vs WebSocket API timestamps
Batch finished. Found 439 words.
@remorses
remorses / gemini-antigravity-browser-tools.yaml
Created November 18, 2025 21:57
Google Antigravity browser tools (browser subagent)
$schema: "http://json-schema.org/draft-07/schema#"
title: BrowserSubagentTools
type: object
properties:
capture_browser_screenshot:
type: object
description: >-
Capture a screenshot of the current viewport or specific element by index
of a browser page that is already open in Jetski Browser. This can be
used to understand the state of the page or to create a visual artifact
@remorses
remorses / zed-split-diff.jsonc
Created October 11, 2025 22:01
Add support for split diff view and word highlights to Zed
// ~/.config/zed/tasks.json
[
{
"label": "Critique",
"command": "bunx critique --watch",
"shell": {
"program": "sh"
},
"hide": "on_success",
@remorses
remorses / plan-to-build.ts
Created October 2, 2025 08:50
Opencode plugin to automatically implement GPT-5 agent plan with Opus build agent
// GPT-5 is very good at exploring a code base and creating plans but very bad at actually writing readable code
// Sonnet and Opus are the opposite: very bad at architecture but good at implementing readable and nice code
// this plugin automatically implements plan agent messages using Opus so that you can always use GPT5 Codex in plan mode and have Opus implement the plan autoamtically
import type { Plugin } from "@opencode-ai/plugin";
export const PlanToBuildPlugin: Plugin = async ({ client }) => {
const sessionsWithErrors = new Set<string>();
const processedSessions = new Set<string>();