obra/freshell
The Agentic IDE (or, the loving child of tmux and claude code)
https://skillcdn.ai/gh/obra/freshell내 AI에 이 주소를 연결하면 이 스킬들을 쓸 수 있어요. 연결 방법 보기
- 미확인
- 기본 브랜치
main - 커밋
05c6b1f - 라이선스
선언되지 않음
저장소 둘러보기
스킬과 문서의 원문에서 찾습니다. 화면용 번역은 검색되지 않아요.
문서
- Bug Bash Issues 4, 5, 6 Implementation PlanGoal: Fix three operator-facing tmux-ergonomics bugs together: control-key translation in send-keys, single-axis resize-pane semantics, and screenshot API availability/timeouts when no capture-capabl…docs/superpowers/plans/2026-02-23-bugbash-issues-4-5-6.md
- Option C Terminal Attach Viewport + Create/Attach Decoupling Implementation PlanGoal: Fix terminal restore, remount, and reconnect scroll corruption by making replay impossible until the server has applied a concrete viewport, and by converging on a single explicit create -> cre…docs/superpowers/plans/2026-03-04-option-c-attach-viewport.md
- Sidebar Redraw Fix Implementation PlanGoal: Eliminate the visible left-sidebar redraw/fill-in during background session refreshes by replacing the current index-keyed virtualized list with a keyed list that keeps unchanged rows mounted.docs/superpowers/plans/2026-03-14-sidebar-redraw-fix.md
- MCP Orchestration Server -- Test PlanSource: server/mcp/http-client.ts Category: Unit Mocking strategy: vi.stubGlobal('fetch', mockFetch) for HTTP calls. vi.resetModules() + dynamic import() to isolate process.env reads between tests.docs/superpowers/plans/2026-03-22-mcp-orchestration-server-test-plan.md
- MCP Orchestration Server Implementation PlanGoal: Replace the broken per-agent skill/plugin injection system with a single MCP server that all code agents (Claude Code, Codex, Gemini, Kimi, OpenCode) connect to automatically when spawned by Fr…docs/superpowers/plans/2026-03-22-mcp-orchestration-server.md
- Session Sidebar Title Hardening Implementation PlanGoal: Make inferred session titles durable, keep active or running sessions visible in the sidebar, and improve lightweight Codex title recovery so long-lived sessions do not disappear from the left…docs/superpowers/plans/2026-04-05-session-sidebar-title-hardening.md
- Codex Durable Promotion Stability Implementation PlanGoal: Replace Codex's current whole-tree rollout polling with a provider-witnessed exact-path promotion flow that stays cheap, eventual, and correct, while keeping Claude, FreshClaude, and OpenCode a…docs/superpowers/plans/2026-04-21-codex-durable-promotion-stability.md
- Codex Resume-Only Recovery Implementation PlanGoal: Durable Codex panes never park as completed transcript or recovery_failed; every durable runtime failure stays on the single automatic codex resume <sessionId> recovery path until the session i…docs/superpowers/plans/2026-04-28-codex-resume-only-recovery.md
- Codex Session Observability Implementation PlanGoal: Make future "live terminal disappeared and restore is unavailable" incidents root-causeable from persisted Freshell logs without adding heuristic recovery fallbacks.docs/superpowers/plans/2026-05-04-codex-session-observability.md
- Tabs Registry Compact State PlanStatus: revised plan after second adversarial review, based on dev at 71c0542d Worktree: .worktrees/tabs-registry-device-snapshots-dev Branch: feature/tabs-registry-device-snapshots-devdocs/superpowers/plans/2026-05-07-tabs-registry-compact-state.md
- Codex Turn-Completion Durability Implementation PlanGoal: Make Codex terminal restore identity mandatory, observable, and promoted only by deterministic evidence. A fresh Codex pane must not accept user input until Freshell has persisted the provider-…docs/superpowers/plans/2026-05-14-codex-turn-completion-durability.md
- Visible-First OpenCode Restore Implementation PlanGoal: Make restored OpenCode terminal panes deterministic by representing stale/dead OpenCode restores as visibility-gated restore intents, launching them only when a mounted TerminalView is visible,…docs/superpowers/plans/2026-05-18-visible-first-opencode-restore.md
- Codex Clean Exit Recovery Implementation PlanGoal: Stop Freshell from auto-recovering durable Codex terminals when the visible Codex PTY exits cleanly with code 0.docs/superpowers/plans/2026-05-21-codex-clean-exit-recovery.md
- Electron Launch Connection Chooser Implementation PlanGoal: Add a Windows-friendly Electron launch flow that can detect existing Freshell servers, connect to remote/VPN servers, start a new bundled local server, and optionally always ask before choosing.docs/superpowers/plans/2026-05-24-electron-launch-connection-chooser.md
- Fresh Agent Tab Naming Implementation PlanGoal: Make new FreshAgent tabs auto-name like terminal-backed CLI tabs: prefer the active working directory immediately, fall back to the FreshAgent label, then allow first-message auto-title without…docs/superpowers/plans/2026-05-24-fresh-agent-tab-naming.md
- Claude Status & Notification Robustness (Server-Authoritative Turn Lifecycle) Implementation PlanGoal: Make the Claude Code CLI terminal's busy/idle (green↔blue) status and turn-complete (bell + attention) notification deterministic by moving turn-lifecycle ownership from the browser to a server…docs/superpowers/plans/2026-05-29-claude-status-notification-robustness.md
- OpenCode Local Permission Policy Implementation PlanGoal: Make Freshell defer OpenCode permission policy to the OS user's OpenCode configuration instead of setting Freshell-specific OpenCode permission overrides.docs/superpowers/plans/2026-05-30-opencode-local-permission-policy.md
- OpenCode Browser Refresh Restore Implementation PlanGoal: Make OpenCode browser refresh restore survive a missed terminal.session.associated UI event by replaying canonical sessionRef through server terminal metadata and central client reconciliation.docs/superpowers/plans/2026-06-01-opencode-browser-refresh-restore.md
- OpenCode Hidden Association Restore Implementation PlanGoal: Ship a tested fix for OpenCode tabs that fail to restore after browser refresh/reopen when the server learns the OpenCode session association while the browser page is closed or the OpenCode pa…docs/superpowers/plans/2026-06-01-opencode-hidden-association-restore.md
- Warm Tab Delta Replay And Backpressure PlanSwitching back to a tab that already has a rendered terminal screen should be fast and non-destructive. If the tab has changed while hidden, Freshell should keep the old screen visible and stream onl…docs/superpowers/plans/2026-06-02-warm-tab-delta-replay-and-backpressure.md
- Codex Sidecar Foreign-Ownership Cleanup Implementation PlanGoal: When a Codex app-server sidecar's process group is no longer ours (it exited and the PGID is now foreign), runtime shutdown should clean up the stale ownership-metadata file and resolve quietly…docs/superpowers/plans/2026-06-03-codex-sidecar-foreign-ownership-cleanup.md
- OpenCode Listing DB-Change Gate — Stop Blocking the Event Loop Implementation PlanGoal: Stop Freshell's OpenCode session listing from running a ~180 ms synchronous, event-loop-blocking SQLite content scan on every indexer refresh (~every 5 s) when OpenCode's database has not actua…docs/superpowers/plans/2026-06-03-opencode-marker-cache-eventloop.md
- OpenCode Listing Off-Thread Worker Implementation PlanGoal: Run the OpenCode listSessionsDirect synchronous node:sqlite query in a worker_thread so the ~180 ms hasThreeViewsMarker content scan never blocks Freshell's shared event loop (the cause of term…docs/superpowers/plans/2026-06-04-opencode-listing-offthread-worker.md
- Tab/Pane Status Reliability Implementation PlanGoal: Make tab/pane status (BLUE busy, GREEN needs-attention, SOUND on idle, and CLEAR-on-engage) correct and reliable across every agent surface — terminal-mode claude/codex/opencode/gemini/kimi, fr…docs/superpowers/plans/2026-06-04-tab-status-reliability.md
- Terminal Catch-Up Stream Safety Implementation PlanGoal: Make long-hidden terminal catch-up fast, loss-explicit, and safe across server replay batching, xterm parser semantics, attach races, side-effect parsing, and WebSocket backpressure.docs/superpowers/plans/2026-06-08-terminal-catchup-stream-safety.md
- Windows WSL Launch Cwd Implementation PlanGoal: Make Freshell accept Windows and WSL path inputs without passing the wrong cwd flavor to Linux, WSL, or Windows child processes.docs/superpowers/plans/2026-06-10-windows-wsl-launch-cwd.md
- Codex Stale Resume Recovery Implementation PlanGoal: Clicking a Codex session in the left bar must start a fresh resume when the only matching open pane points at an exited terminal, and durable Codex terminal exits must log enough structured det…docs/superpowers/plans/2026-06-11-codex-stale-resume-recovery.md
- Claude Resume Robustness Implementation PlanGoal: Make Claude terminal resume deterministic by assigning fresh Claude panes a durable UUID before launch, spawning fresh Claude with --session-id, restoring with --resume from the original cwd, a…docs/superpowers/plans/2026-06-12-claude-resume-robustness.md
- Freshagent Style Settings Implementation PlanGoal: Add per-Fresh Agent pane-type style defaults, expose a sans / serif dropdown in each Fresh Agent pane settings menu, and render the new serif-clean transcript style without changing existing sa…docs/superpowers/plans/2026-06-12-freshagent-style-settings.md
- Reopen Session Flavor Implementation PlanGoal: Let users right-click a coding-agent pane header or body to reopen the same durable session in the paired CLI/FreshAgent experience, and make closed sessions reopen from the left panel in the f…docs/superpowers/plans/2026-06-12-reopen-session-flavor.md
- Settings UI Refactor Implementation PlanGoal: Ship the new Settings information architecture: Coding Agents, Panes, Naming, Network, Workspace, Appearance, and Advanced, with concise coding-agent enablement and no user-facing Extensions or…docs/superpowers/plans/2026-06-12-settings-ui-refactor.md
- Fix Fresh-Agent Materialization Subscription LeakGoal: When an OpenCode fresh-agent placeholder session materializes into a durable session, cancel the old placeholder subscription and clean up stale entries so events are delivered exactly once.docs/superpowers/plans/2026-06-13-fix-materialization-subscription-leak.md
- Codex Thread Identity Invariant Implementation PlanGoal: Make new Freshell Codex panes resume the correct Codex thread by construction. A pane's canonical Codex sessionRef is the identity. Terminal ids, same-server live handles, tab/pane ids, and Cod…docs/superpowers/plans/2026-06-14-codex-thread-identity-invariant.md
- Fresh Agent Centralization Implementation PlanGoal: Remove the obsolete agent-chat client/runtime surface in one migration so all agent panes, settings, history, and browser smoke coverage use the fresh-agent path.docs/superpowers/plans/2026-06-15-centralize-fresh-agent-and-remove-agent-chat.md
- OpenCode Replay Playback Coalescing Implementation PlanGoal: Restore fast OpenCode replay playback by allowing parser-barrier-heavy terminal output to reach xterm in bounded coalesced writes while preserving parser checkpoint ordering and attach completi…docs/superpowers/plans/2026-06-15-opencode-replay-playback-coalescing.md
- OpenCode Refresh Restore White Page Implementation PlanGoal: Prevent restored OpenCode CLI panes from becoming visually blank after browser refresh by repairing unrecoverable hidden viewport hydration gaps instead of leaving the restored pane attached to…docs/superpowers/plans/2026-06-17-opencode-refresh-restore-white-page.md
- FreshOpencode Enabled Model Picker Implementation PlanGoal: Replace the static Freshopencode model radio list with a compact settings section that exposes only enabled OpenCode models, supports one-click MRU selection after opening settings, and opens a…docs/superpowers/plans/2026-06-21-freshopencode-enabled-model-picker.md
- OpenCode Single Sidecar Routing Implementation PlanGoal: Fix freshopencode cwd routing while keeping one shared opencode serve sidecar.docs/superpowers/plans/2026-06-21-opencode-single-sidecar-routing.md
- Stale Terminal Durable Resume Implementation PlanGoal: When a pane points at a stale durable terminal handle, the client clears only that handle and resumes the saved session instead of surfacing a red restore failure. If the resumed CLI exits clea…docs/superpowers/plans/2026-06-21-stale-terminal-durable-resume.md
- FreshOpenCode Restart Recovery Implementation PlanGoal: Make FreshOpenCode panes recover safely after a Freshell process restart, without sending prompts to the wrong OpenCode project, and remove the duplicate snapshot and terminal retention-loss st…docs/superpowers/plans/2026-06-22-freshopencode-restart-recovery.md
- Settings Show Switches Implementation PlanGoal: Make Workspace sidebar visibility settings consistently positive so every switch label says what turning it on will show.docs/superpowers/plans/2026-06-22-settings-show-switches.md
- Server-authoritative fresh-agent turn completionFresh-agent panes (freshclaude, kilroy, freshcodex, freshopencode) drove the GREEN / needs-attention highlight and the idle chime by re-deriving the turn-complete edge on the client — useAgentSession…docs/superpowers/plans/2026-06-23-fresh-agent-server-authoritative-turn-complete.md
- Fresh-Agent Status Authoritative — Follow-ups Implementation PlanGoal: Close the two server-authoritativeness gaps left behind by the 2026-06-23 fresh-agent turn-complete migration: (A) freshcodex must self-heal a crashed/disconnected codex sidecar so a pane can't…docs/superpowers/plans/2026-06-23-fresh-agent-status-authoritative-followups.md
- Freshcodex Bounce And Recovery Implementation PlanGoal: Stop completed freshcodex panes from polling forever after a missed idle event, and stop terminal-mode Codex durable recovery from retrying failed codex resume candidates forever.docs/superpowers/plans/2026-06-25-freshcodex-bounce-and-recovery.md
- Stable Replay Retention Stream Implementation PlanGoal: Make ordinary terminal scrollback expiration keep the live terminal stream stable, while stale reconnects receive an explicit replay gap and continue with retained output.docs/superpowers/plans/2026-06-25-stable-replay-retention-stream.md
- Electron Renderer Recovery Implementation PlanGoal: Prevent a lost Electron renderer from leaving Freshell on a blank white page, and leave enough durable evidence to diagnose the next renderer loss.docs/superpowers/plans/2026-06-28-electron-renderer-recovery.md
- Codex Startup Update Prompt Implementation PlanGoal: Allow users and supported automation surfaces to accept, skip, or run Codex CLI startup updates in terminal-mode Codex panes while Freshell is still waiting for Codex restore identity capture.docs/superpowers/plans/2026-06-29-codex-startup-update-prompt.md
- Fresh-Agent Header Parity Implementation PlanGoal: Make every fresh-agent pane header match coding CLI pane header structure: one left-to-right text run like freshcodex freshell (main) 56%, then compact controls in a stable order, with no open-…docs/superpowers/plans/2026-06-29-freshagent-header-parity.md
- Codex Spawn EAGAIN Diagnostics Implementation PlanGoal: Make Codex app-server spawn failures, especially retryable spawn codex EAGAIN, leave enough structured evidence to diagnose resource pressure without restarting Freshell.docs/superpowers/plans/2026-07-01-codex-spawn-eagain-diagnostics.md
- Fresh Agent Scroll Flake Implementation PlanGoal: Make FreshAgentView transcript keyboard scroll tests deterministic by preventing the transcript auto-scroll effect from running late and overwriting a user/key scroll.docs/superpowers/plans/2026-07-01-fresh-agent-scroll-flake.md