Skip to content

Break up large files into well-organized modules - #29

Merged
nwparker merged 1 commit into
mainfrom
nwparker/break-big-files
Mar 22, 2026
Merged

nwparker merged 1 commit into
mainfrom
nwparker/break-big-files

Conversation

@nwparker

Copy link
Copy Markdown
Contributor

Summary

  • Split 4 oversized files (4300+ lines total) into 23 focused modules under domain-specific folders
  • Settings.tsx (1720 lines) → 9 files in components/settings/
  • TerminalPane.tsx (1338 lines) → 8 files in components/terminal-pane/
  • pane-manager.ts (727 lines) → 3 files in lib/pane-manager/
  • TabBar.tsx (558 lines) → 3 files in components/tab-bar/
  • Added .oxlintrc.json with max-lines: 600 rule to prevent future growth
  • No barrel exports, no util/helper naming — proper domain-specific refactors

Test plan

  • TypeScript typecheck passes (pnpm run typecheck)
  • oxlint passes with new max-lines rule
  • Verify app builds and runs correctly
  • Verify Settings panel renders all panes
  • Verify terminal pane split/resize/context menu works
  • Verify tab bar drag-reorder, rename, color picker works

🤖 Generated with Claude Code

@nwparker
nwparker force-pushed the nwparker/break-big-files branch 2 times, most recently from 5b60a07 to 4146e17 Compare March 22, 2026 22:07
Split 4 oversized files (4676 lines total) into 26 focused modules:
- Settings.tsx (1720 lines) → 9 files in components/settings/
- TerminalPane.tsx (1338 lines) → 8 files in components/terminal-pane/
- pane-manager.ts (1060 lines) → 6 files in lib/pane-manager/
- TabBar.tsx (558 lines) → 3 files in components/tab-bar/

All new files pass the max-lines oxlint rules (300 TS / 400 TSX).
No barrel exports, no util/helper naming.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@nwparker
nwparker force-pushed the nwparker/break-big-files branch from 4146e17 to b7bc526 Compare March 22, 2026 22:22
@nwparker
nwparker merged commit b1a5b0f into main Mar 22, 2026
64ix added a commit to 64ix/orca that referenced this pull request Aug 24, 2026
Extract nav group definitions, section scroll helpers, voice readiness,
Git AI Author prompt guard, escape-close, search shortcut, deep-link
navigation, repo hooks inspection, runtime capability gates, terminal
font suggestions, and the settings nav model into sibling modules; move
the section JSX into six Settings*Sections groups plus AllSettingsSections.
Drop the max-lines suppression from Settings.tsx and its baseline entry.

Unit: spec-29/unit1-split-settings-and-terminal-pane (stablyai#29)
sinkerine pushed a commit to sinkerine/orca that referenced this pull request Sep 12, 2026
…-active-focus

fix(session): repair the typecheck and give a project window its focus
enrick-dev pushed a commit to enrick-dev/orca that referenced this pull request Oct 15, 2026
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant