Package Architecture
@longshot/core
Core types, utilities, and infrastructure
@longshot/orchestrator
Multi-agent orchestration engine
@longshot/sandbox
Sandbox worker harness
Package Dependencies
The packages have a clear dependency hierarchy:- @longshot/core has zero external dependencies (only Node.js built-ins)
- @longshot/orchestrator depends on @longshot/core
- @longshot/sandbox depends on @longshot/core
- Neither orchestrator nor sandbox depend on each other
Installation
Monorepo Setup
Longshot uses pnpm workspaces. Install all dependencies from the root:Individual Package Development
Build a specific package:Using Packages in External Projects
All packages are published as ESM modules with TypeScript declarations:Package Exports
@longshot/core
- Core domain types:
Task,Handoff,HarnessConfig,MetricsSnapshot,SandboxStatus,LLMEndpoint,LogEntry - Structured logging:
createLogger,Logger,setLogLevel,getLogLevel - Distributed tracing:
Tracer,Span - Git utilities:
createBranch,checkoutBranch,mergeBranch,rebaseBranch,getDiffStat,getRecentCommits,getFileTree,hasUncommittedChanges
@longshot/orchestrator
@longshot/core: Core types and utilities@mariozechner/pi-coding-agent: Pi coding agent integrationdotenv: Environment variable management
- Configuration:
OrchestratorConfig - Core components:
createOrchestrator,Planner,Subplanner,WorkerPool,MergeQueue,TaskQueue,Reconciler,Monitor - LLM client:
LLMClient - Utilities:
ScopeTracker,ConcurrencyLimiter,GitMutex
@longshot/sandbox
@longshot/core: Core types and utilities@mariozechner/pi-coding-agent: Pi coding agent integration
- Worker harness:
runWorker - Handoff utilities:
buildHandoff,getGitDiffStat
Development Workflow
Building All Packages
Type Checking
Linting and Formatting
Cleaning Build Artifacts
Package Managers
Longshot requires pnpm 9.0.0 or higher:Next Steps
Core Package
Explore types, logging, and git utilities
Orchestrator Package
Learn about task planning and worker management
Sandbox Package
Understand the worker harness contract