Support
Development Guide
Guide for developing and extending Jetpack.
Build & Development Commands
# Install dependencies
pnpm install
# Build all packages (uses Turborepo for caching/parallelization)
pnpm build
# Development mode with watch
pnpm dev
# Run tests
pnpm test
# Run single package tests
cd packages/<package-name> && pnpm test
# Run with coverage
pnpm test -- --coverage
# Lint
pnpm lint
# Clean build artifacts
pnpm clean
# Run CLI after building
pnpm jetpack <command>
# Web UI development
cd apps/web && pnpm dev # Runs on localhost:3000
# Web UI with custom project directory
JETPACK_WORK_DIR=/path/to/project pnpm --filter @jetpack/web devKey Files to Know
| File | Purpose |
|---|---|
| packages/orchestrator/src/SwarmCoordinator.ts | Agent lifecycle & work distribution |
| packages/orchestrator/src/AgentHarness.ts | Model-agnostic task execution |
| packages/data-layer/src/DataLayer.ts | Unified Turso/SQLite storage |
| packages/beads/src/TaskGraph.ts | Critical path, fan-out & depth analysis |
| packages/shared/src/types/ | All TypeScript types |
| apps/web/src/app/api/ | Next.js API routes |
| apps/cli/src/commands/ | CLI command implementations |
Extending with Custom Adapters
// All adapters follow initialize/close pattern
class CustomAdapter {
async initialize(): Promise<void> { /* setup */ }
async close(): Promise<void> { /* cleanup */ }
}
// In SwarmCoordinator
import { CustomAdapter } from '@jetpack/custom-adapter';
const custom = new CustomAdapter(config);
await custom.initialize();Tech Stack
- Framework: Next.js 15 with App Router
- UI Library: React 19
- Styling: Tailwind CSS with custom animations
- Drag & Drop: @dnd-kit/core, @dnd-kit/sortable
- State: Zustand
- Icons: lucide-react
- Dates: date-fns
- TypeScript: Strict mode
- Build: Turborepo with pnpm workspaces
- Testing: Vitest
