Integrations

The boundary is simple: another tool owns checkout and process lifecycle; Harbour owns the Laravel workspace environment.

Git worktrees

git worktree add ../acme-payment-retry feature/payment-retry
cd ../acme-payment-retry
composer install
composer workspace:setup

Before removal:

composer workspace:teardown -- --force
git worktree remove ../acme-payment-retry

Harbour also works in the primary checkout and in non-Git directories by falling back safely to path-based identity.

Orca IDE

See the complete Orca recipe.

Orca owns the worktree. Harbour owns the Laravel environment.

Harbour has a fail-closed adapter for this repository lifecycle policy:

scripts:
  setup: composer install --no-interaction && composer workspace:setup
  archive: composer workspace:teardown -- --force

Current Orca releases run archive hooks when CLI removal passes --run-hooks, but still delete the checkout after a hook fails. Harbour therefore rejects --worktree-hooks=orca before writing configuration. Track the upstream fix in stablyai/orca#19334.

Once a supported runtime exists, CLI removal will also need to request hooks explicitly until Orca provides a repository-default policy:

orca worktree rm --worktree active --run-hooks --json

Harbour detects Orca's machine-readable CLI/runtime capabilities but does not depend on Orca at runtime.

Worktrunk

See the complete Worktrunk guide.

Worktrunk is the first-class headless lifecycle integration. Opt in with:

php artisan workspace:install --detect --worktree-hooks=worktrunk --no-interaction

Its blocking pre-start pipeline installs Composer dependencies before setup. Its blocking pre-remove hook tears down the Harbour environment while the checkout and ownership state still exist. The real pinned wt release validates configuration and exercises create, remove, teardown-failure, concurrency, and merge paths in CI.

Herdr

See the complete Herdr recipe.

Run setup after Herdr creates or opens a worktree:

composer install --no-interaction
composer workspace:setup

Run teardown before herdr worktree remove. A post-removal hook is too late because Harbour's ownership state lived inside the checkout.

Sail and Harbour

Sail is excellent when a Laravel project needs a complete, reproducible Docker development stack. Harbour solves the narrower high-density case where many parallel worktrees do not each need a duplicate application stack.

workspace:install detects Sail services and published FORWARD_* host ports. Native PHP processes can then share a Sail-provided PostgreSQL or Redis service while Harbour creates separate databases and prefixes. Harbour respects Sail's ownership: it does not call Sail internals, rewrite its files, or start and stop the stack.

Isolated Docker service

Set a service's driver to docker when namespacing is insufficient. Harbour derives a safe container name, attaches ownership labels, maps allocated host ports, and records the container before startup.

Workspace Compose project

Configure a Compose file when a dependency graph must be isolated. Harbour supplies a workspace-specific Compose project name and resolved variables. Teardown uses the recorded project and does not pass -v, preserving conservative volume behavior.