Remove AI-specific code from core commands #324

Closed
opened 2026-03-30 11:51:58 +00:00 by mprihoda · 1 comment
mprihoda commented 2026-03-30 11:51:58 +00:00 (Migrated from github.com)

Context

As part of the bounded context extraction (iterative-works/dev-docs#123), AI-specific commands are being moved into platform-specific plugin distributions. Once that's done, iw-cli core should have no knowledge of any AI tool.

Depends On

Scope

Remove Claude Code invocations from core commands, keeping the generic functionality intact:

start.scala

  • Keep: worktree creation, tmux session setup, dashboard registration
  • Remove: claude --dangerously-skip-permissions launch
  • The Claude launch logic moves to a plugin command (e.g., claude-start or handled by kanon's plugin)

doctor.scala

  • Keep: all diagnostic checks (GitHub hooks, CI, contributing, scalafmt, scalafix)
  • Remove: interactive Claude session launch for remediation
  • The remediation prompt generation can stay (it's just data), but the Claude invocation goes

phase-merge.scala

  • Keep: merge mechanics, branch management
  • Remove: Claude invocation for conflict resolution
  • Conflict resolution becomes a plugin-provided capability or manual step

batch-implement.scala and implement.scala

  • Remove entirely from core — these are fully AI-specific
  • They will exist as plugin commands distributed with kanon

Acceptance Criteria

  • ./iw --list shows no commands that invoke claude directly
  • grep -r 'claude' .iw/commands/ returns no hits (in core commands)
  • start, doctor, phase-merge still work for their generic functionality
  • All existing bats tests pass (tests for removed commands are also removed or moved)
  • README updated to document that AI-specific commands come from plugins

Estimated Effort

2-3 hours

## Context As part of the bounded context extraction (iterative-works/dev-docs#123), AI-specific commands are being moved into platform-specific plugin distributions. Once that's done, iw-cli core should have no knowledge of any AI tool. ## Depends On - iterative-works/iw-cli#323 — Plugin command directory support (must be done first) - iterative-works/dev-docs#123 — AI glue commands packaged as kanon plugin commands (must be verified working) ## Scope Remove Claude Code invocations from core commands, keeping the generic functionality intact: ### `start.scala` - **Keep:** worktree creation, tmux session setup, dashboard registration - **Remove:** `claude --dangerously-skip-permissions` launch - The Claude launch logic moves to a plugin command (e.g., `claude-start` or handled by kanon's plugin) ### `doctor.scala` - **Keep:** all diagnostic checks (GitHub hooks, CI, contributing, scalafmt, scalafix) - **Remove:** interactive Claude session launch for remediation - The remediation prompt generation can stay (it's just data), but the Claude invocation goes ### `phase-merge.scala` - **Keep:** merge mechanics, branch management - **Remove:** Claude invocation for conflict resolution - Conflict resolution becomes a plugin-provided capability or manual step ### `batch-implement.scala` and `implement.scala` - **Remove entirely** from core — these are fully AI-specific - They will exist as plugin commands distributed with kanon ## Acceptance Criteria - [ ] `./iw --list` shows no commands that invoke `claude` directly - [ ] `grep -r 'claude' .iw/commands/` returns no hits (in core commands) - [ ] `start`, `doctor`, `phase-merge` still work for their generic functionality - [ ] All existing bats tests pass (tests for removed commands are also removed or moved) - [ ] README updated to document that AI-specific commands come from plugins ## Estimated Effort 2-3 hours ## Related - iterative-works/iw-cli#323 — Plugin command directory support - iterative-works/dev-docs#123 — Bounded context extraction (revised scope) - `guide/development_platform_map.md` in dev-docs — architectural context
mprihoda commented 2026-04-17 14:56:03 +00:00 (Migrated from github.com)

Completed in #361. All acceptance criteria met:

  • No core commands invoke claude directly
  • start, doctor, phase-merge retain their generic functionality (claude logic lives in kanon hooks)
  • batch-implement.scala and implement.scala removed from core (live in kanon)
  • bats tests for removed commands also removed
  • README updated with a Plugins section pointing at kanon
Completed in #361. All acceptance criteria met: - No core commands invoke `claude` directly - `start`, `doctor`, `phase-merge` retain their generic functionality (claude logic lives in kanon hooks) - `batch-implement.scala` and `implement.scala` removed from core (live in kanon) - bats tests for removed commands also removed - README updated with a Plugins section pointing at kanon
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
iterative-works/iw-cli#324
No description provided.