Skip to content

v5.0.0 — Apollo Toolkit CLI internal restructure

Choose a tag to compare

@LaiTszKin LaiTszKin released this 06 Jun 13:12
· 52 commits to main since this release

v5.0.0 — 2026-06-06

Major Changes

  • Schema-based tool arg parsing: createToolRunner() wraps node:util.parseArgs. 18/21 tools migrated — no more hand-rolled parseArgs().
  • PlatformAdapter: Cross-platform abstraction for symlink, spawn, homedir, EOL — WindowsAdapter / PosixAdapter behind a common interface.
  • AppError hierarchy: UserInputError, ToolNotFoundError, SystemError with formatAppError() boundary. Business logic throws → CLI boundary catches → consistent stderr.
  • Command parser isolation: InstallArgsParser, UninstallArgsParser, ToolArgsParser replace the 95-line parseArguments() if-else chain with a Map-based dispatch table.
  • Coverage gates: Two-tier per-group thresholds (G1: 75/60/65, G2: 65/60/65) with combined file-weighted ≥80% enforcement on both ubuntu and windows.
  • All 24 internal packages bumped to 5.0.0 — single unified version across the monorepo.
  • Global install chain fixed: All @laitszkin/* packages properly declared as dependencies so npm install -g @laitszkin/apollo-toolkit works out of the box.

Bug Fixes

  • docs-to-voice syntax corruption repaired (blocked registerAllTools)
  • Error cause chain preservation in filter-logs, codegraph, open-github-issue
  • EPERM symlink fallback on Windows
  • All hardcoded \n replaced with os.EOL / adapter.EOL