Skip to content

Compatibility adapters for Lazycodex, Oh-my-codex, and cross-platform activation #14

@minsing-jin

Description

@minsing-jin

Goal

Make Codexplain adapt cleanly to external Codex harnesses and all major desktop platforms without forcing users into one shell, one launcher, or one Codex wrapper.

Scope

  • Add compatibility adapters for Lazycodex and Oh-my-codex style harnesses.
  • Detect whether Codex is being launched by stock Codex, Lazycodex, Oh-my-codex, a project-local shim, or another wrapper.
  • Preserve strict reversibility: disabling or uninstalling Codexplain must remove only Codexplain-managed state.
  • Support macOS, Linux, and Windows activation paths.
  • Keep project-local mode as the default; global mode must remain explicit.

Platform Adaptation Requirements

macOS

  • zsh auto-activation for project-local use.
  • Optional status-bar/settings launcher.
  • Preserve and restore existing user aliases/functions where possible.

Linux

  • zsh/bash/fish-compatible activation strategy.
  • Desktop launcher for settings UI where supported.
  • No assumptions about Homebrew, npm global path, or shell framework.

Windows

  • PowerShell activation script.
  • cmd fallback script.
  • Windows Terminal-friendly color behavior.
  • Reversible project-local shim/wrapper strategy.

Harness Compatibility Requirements

  • Lazycodex adapter: document expected launch paths, env vars, and wrapper order.
  • Oh-my-codex adapter: detect harness-owned shims and avoid clobbering them.
  • Provide an adapter contract so third-party harnesses can opt in:
  • input stream/output stream expectations
  • strict artifact bypass rules
  • color mode negotiation
  • TUI passthrough behavior
  • project root discovery
  • on/off/uninstall lifecycle hooks

Acceptance Criteria

  • codexplain compat-check reports Lazycodex/Oh-my-codex adapter readiness.
  • Project-local on/off works without modifying unrelated harness files.
  • Windows/macOS/Linux activation paths are documented and tested where possible.
  • Existing Codexplain behavior remains unchanged for stock Codex users.
  • Uninstall removes only Codexplain-managed files, shell blocks, aliases, or launchers.
  • README links to a docs page explaining harness and platform compatibility.

Validation Plan

  • Add unit tests for adapter detection and lifecycle safety.
  • Add shell-script snapshot tests for zsh/bash/fish/PowerShell activation outputs.
  • Add a dry-run mode showing what would be modified before install/uninstall.
  • Add manual test matrix for stock Codex, Lazycodex, Oh-my-codex, macOS, Linux, and Windows.

Notes

This should be implemented as an adapter layer, not as hard-coded assumptions about any single harness. Codexplain must remain a reversible presentation/activation layer rather than becoming a competing harness manager.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions