Commit Graph

154 Commits

Author SHA1 Message Date
David Ibia 90ab5452b1 chore(omo): record the opencode routing notice migration 2026-10-06 23:02:42 +01:00
David Ibia 164dffc5eb feat(tmux): enable extended keys so TUIs receive modified keys
omo and nvim need Shift+Enter and other modified keys, which tmux
otherwise reports as plain Enter. Use CSI-u extended keys, as omo's
tmux guide recommends for tmux 3.5 and newer.
2026-10-06 23:02:29 +01:00
David Ibia 81e5c6be67 feat(owt): add all and cd commands for workspaces across repos
- owt all lists the workspaces of every repo with their branch and
  source checkout, from any directory
- owt cd jumps into a workspace by name, repo/name or an fzf picker
  that starts filtered to the current repo
- An owt function in .zshrc performs the cd, since a script cannot
  change its parent shell's directory
2026-10-06 23:02:29 +01:00
David Ibia d0c2895797 feat(omo): tune reasoning effort and route cheap lanes to z.ai Lite
- Raise main Opus 5.5 to xhigh and its Sol fallback to high
- Raise deep-low Sonnet 5.5 and Sol to high for coding work
- Route quick, explore and librarian to GLM-5.3-Flash low with Sonnet low fallback
- Replace unsupported GLM medium thinking with high in unspecified-low and writing
- Remove the unused [opencode] block
2026-10-05 19:47:25 +01:00
David Ibia bbd740fd0d fix(tmux): accept OSC 52 from panes so nested tmux copy reaches the clipboard
The local tmux left set-clipboard at the default "external", which drops
OSC 52 sent by applications in a pane. In a nested setup the remote tmux
sends its copies up as OSC 52, so they never reached the Mac clipboard.
2026-10-05 19:47:14 +01:00
David Ibia e7264987f4 feat(bin): add pbcopy/pbpaste shims for headless clipboard over OSC 52
Headless servers have no DISPLAY or WAYLAND_DISPLAY, so xclip and xsel
cannot reach a clipboard even when installed. These shims use OSC 52 to
hand text to the terminal emulator on the other end of the SSH connection,
which puts it on the local machine's clipboard.

Inside tmux, pbcopy uses `tmux load-buffer -w -` so the text lands in the
tmux paste buffer and is forwarded outward (requires `set-clipboard on`).
Outside tmux it writes the escape sequence to /dev/tty directly. Both fall
back to xclip/wl-copy when a real display is present.

pbpaste reads the tmux buffer only; terminals refuse OSC 52 reads, since
that would let any remote program siphon the user's clipboard.
2026-10-05 19:47:14 +01:00
David Ibia 06c5b75eff docs(readme): document owt workspaces, OmO config and slash commands, and current OpenCode plugins 2026-10-03 16:37:58 +01:00
David Ibia f8b9feaad1 feat(zed): add keymap 2026-10-03 16:37:09 +01:00
David Ibia be1bae96ca feat(omo): add omo-notify macOS notification hook 2026-10-03 16:37:09 +01:00
David Ibia a750f158f5 refactor(opencode): restructure config and replace legacy plugins
Rewrites opencode.json, drops the with-context, websearch and terminal-bell
plugins, adds plugins that strip Claude-only commands and OMC MCP servers,
and vendors the impeccable, web-design-guidelines and frontend-workflow skills.
2026-10-03 16:37:09 +01:00
David Ibia 3a31f12366 feat(ai): share agent preferences across tools and add link-ai-configs.sh
Adds .config/ai/AGENTS.md, Claude's global CLAUDE.md, settings and OMC
preferences, a script that symlinks them into HOME with backups, and the
README section that documents the restore.
2026-10-03 16:27:47 +01:00
David Ibia f9d7a85e54 feat(ghostty): native titlebar, SSH env/terminfo integration, stop auto-attaching tmux 2026-10-03 16:27:47 +01:00
David Ibia 3282358d9e feat(tmux): enable RGB for xterm terminals, push session name to the title, pin the TPM path 2026-10-03 16:27:47 +01:00
David Ibia 22fb434435 feat(zsh): add sshm, 1Password SSH agent, mosh helper and mouse-mode reset
Also drops the oh-my-zsh tmux plugin and removes duplicated LM Studio PATH
and Docker completion blocks so compinit runs once fewer per shell.
2026-10-03 16:27:47 +01:00
David Ibia f0b85868dc chore(git): ignore .DS_Store, Zed's prompt database and OMC state; skip .local in ripgrep 2026-10-03 16:27:47 +01:00
David Ibia 6e2350dc66 feat(owt): share the main checkout's omo memory with workspaces
omo keys project memory by folder path, so each workspace started with an
empty store. owt new and owt open now link the workspace's memory id to the
main checkout's store, and owt done and owt rm remove the link.
2026-10-03 15:13:26 +01:00
David Ibia 54a4858ffc feat(omo): track omo config, hooks and workspace slash commands
Adds /owt-done (close Linear issues after merge, then owt done) and
/linear-sync (progress comment and status, no cleanup), linked into omo
as ~/.omo/agent/prompts.
2026-10-03 14:53:46 +01:00
David Ibia b11d1adcc5 feat(owt): add Conductor-style git worktree workspaces
owt new creates a randomly named workspace per task under ~/worktrees/<repo>,
copies .env files, installs dependencies and opens omo in a tmux window with
the workspace's Linear conventions. owt done checks merge state (git or a
merged Gitea PR via tea) before removing the worktree, branches and window.
2026-10-03 14:53:46 +01:00
David Ibia 74a718efa8 fix(docker-nuke): give accurate recovery advice when the daemon does not return
The failure path advised --deep and a disk-space check regardless of cause.
On the first live run that was wrong on both counts: 101 GiB were free and
--deep was irrelevant. Docker Desktop had crashed on startup, and the actual
fix was launching it from the Dock.

Branch the advice on whether any Docker process survived the relaunch. No
survivors means the app did not stay up, which no programmatic relaunch can
work around; survivors mean it is up but not answering yet.
2026-07-20 16:51:16 +01:00
David Ibia 7831f0c799 fix(docker-nuke): make dump failure non-fatal and surface failed kills 2026-07-20 02:40:47 +01:00
David Ibia 1b07307860 feat(docker-nuke): wire up main, dry-run mode, and docs 2026-07-20 01:56:07 +01:00
David Ibia ecd414362a feat(docker-nuke): add restart, daemon polling, and triage summary 2026-07-20 01:41:26 +01:00
David Ibia 252a356426 feat(docker-nuke): add three-stage kill escalation 2026-07-20 01:06:49 +01:00
David Ibia a49eb5adef feat(docker-nuke): add pre-kill diagnostic dump with retention 2026-07-20 00:15:45 +01:00
David Ibia 49380dc87d feat(docker-nuke): add timeout-bounded daemon health check 2026-07-19 23:22:03 +01:00
David Ibia ca256661b8 feat(docker-nuke): add self-excluding Docker process discovery 2026-07-19 23:10:37 +01:00
David Ibia 4e1e09559b feat(docker-nuke): add run_timeout helper with pure-bash fallback 2026-07-19 22:01:45 +01:00
David Ibia 36caeafd03 feat(docker-nuke): add script scaffold, arg parsing, and test harness 2026-07-19 21:49:14 +01:00
David Ibia 25d06b4ce4 feat(opencode): add oh-my-opencode plugin for enhanced agent capabilities
Adds curated agents (Oracle, Librarian, Explore, Frontend Engineer),
LSP/AST tools, background agents, Claude Code compatibility layer,
and built-in MCPs (context7, exa, grep.app)
2025-12-30 00:41:55 +01:00
David Ibia f1cd2b022b fix(readme): correct repo name in server config download URLs 2025-12-28 23:39:28 +01:00
David Ibia 83dcbc04e4 docs(readme): remove Copilot references, replaced with OpenCode 2025-12-28 23:26:01 +01:00
David Ibia 0d1147fcef refactor(zsh): deduplicate entries and replace hardcoded paths with $HOME
- Remove duplicate LM Studio CLI PATH entries (was added 4 times)
- Remove duplicate Docker CLI completion blocks (was added 3 times)
- Replace /Users/davidibia/ with $HOME for portability
- Clean up redundant comments
2025-12-28 23:21:25 +01:00
David Ibia d4043d3dad chore(zsh): add LM Studio CLI and Docker CLI completions to PATH 2025-12-28 23:20:24 +01:00
David Ibia b4fb0cf297 chore(ghostty): switch colorscheme from Catppuccin Frappe to TokyoNight Night 2025-12-28 23:20:10 +01:00
David Ibia d928999224 feat(opencode): add with-context custom commands for documentation management
- Add commands: setup-notes, sync-notes, ingest-notes, teleport-notes
- Add commands: validate-notes-config, preview-notes-delegation
- Add vault organization commands: analyze-vault, reorganize-notes
- Update .withcontextconfig.jsonc with delegation patterns
- Archive deprecated with-context.ts plugin
2025-12-28 23:19:59 +01:00
David Ibia 8d92715761 feat(opencode): add agent modes and with-context MCP server config
- Add explicit mode settings for agents (build, plan as primary; others as subagent)
- Configure with-context MCP server for Obsidian vault integration
- Remove with-context-mcp from plugin dependencies (now using MCP server)
2025-12-28 23:19:43 +01:00
David Ibia 24fb286db1 feat(tmux): add lightweight server config with Ctrl+/ prefix and bottom status bar
- Create .tmux-server.conf for remote servers (plugin-free, minimal)
- Prefix key set to Ctrl+/ (C-_) instead of Ctrl+b
- Status bar positioned at bottom with simple catppuccin-inspired theme
- Include all essential keybindings without TPM dependencies
- Add README section with one-liner download/setup instructions
2025-12-28 23:19:21 +01:00
David Ibia 0a001a0cce chore(gitignore): add opencode plugin node_modules and package-lock.json to gitignore, create .withcontextconfig.jsonc file with Diátaxis framework and dotfiles best practices configuration. 2025-11-10 03:15:19 +01:00
David Ibia 55affe0de4 feat(README.md): enhance documentation section with AI-powered development tools and MCP integration 2025-11-09 15:28:58 +01:00
David Ibia 5f922e7adb chore(.rgignore): add .envrc to the list of ignored files in .rgignore 2025-11-09 15:28:51 +01:00
David Ibia 7a12ec0f2f fix(opencode.json): disable all services by setting "enabled" to false in opencode.json for consistency 2025-11-09 15:28:40 +01:00
David Ibia 4bd5b2405e feat(opencode): add setup-mcp.md file for interactively setting up OpenCode config and MCP servers for projects 2025-11-09 15:28:29 +01:00
David Ibia 6e6d47eb22 chore(gitignore): add AGENTS.md to .gitignore to exclude it from version control 2025-11-09 14:22:27 +01:00
David Ibia 9135f312b0 chore(gitignore): add .withcontextignore to gitignore file 2025-11-09 14:21:40 +01:00
David Ibia 701770fe2b feat(opencode): add opencode configuration file with agent descriptions and MCP settings 2025-11-09 14:21:17 +01:00
David Ibia 2343dfec2c feat(terminal-bell.ts): add NotificationPlugin to send notification on session completion. 2025-11-09 14:20:47 +01:00
David Ibia 9396c57b63 feat(websearch.ts): add PerplexitySearch plugin for quick and deep research capabilities 2025-11-09 14:20:35 +01:00
David Ibia 139f7e1679 feat: created opencode agents 2025-11-09 14:20:28 +01:00
David Ibia f7bd72184b fix(colorscheme): update theme name from "catppuccin-mocha" to "Catppuccin Frappe"
feat(shaders): add CRT-styled shader with public domain license and adjustments for Ghostty, including parameter definitions and tonal control functions.

refactor(shader): optimize color conversion and output to SRGB for better visual quality

feat(shaders): add flicker, glow, and starfield shader effects for terminal ambiance.
2025-11-09 14:17:03 +01:00
David Ibia 7192c8eb2a feat(direnv): add global log_filter configuration to direnv.toml 2025-11-09 14:16:49 +01:00