# `@paperclipai/plugin-daytona` Published Daytona sandbox provider plugin for Paperclip. This package lives in the Paperclip monorepo, but it is intentionally excluded from the root `pnpm` workspace and shaped to publish and install like a standalone npm package. That lets operators install it from the Plugins page by package name without introducing root lockfile churn for Daytona's SDK dependencies. ## Install From a Paperclip instance, install: ```text @paperclipai/plugin-daytona ``` The host plugin installer runs `npm install` into the managed plugin directory, so transitive dependencies such as `@daytonaio/sdk` are pulled in during installation. ## Configuration Configure Daytona from `Company Settings -> Environments`, not from the plugin's instance settings page. - Put the Daytona API key on the sandbox environment itself. - When you save an environment, Paperclip stores pasted API keys as company secrets. - `DAYTONA_API_KEY` remains an optional host-level fallback when an environment omits the key. - Optional `apiUrl` and `target` settings map directly to the Daytona SDK/client configuration. If `apiUrl` is omitted, the Daytona SDK uses its default endpoint. Notes: - The current published Daytona SDK package is `@daytonaio/sdk`. - The driver supports both `snapshot`-based and `image`-based sandbox creation. If both are set, validation rejects the config as ambiguous. - Reusable leases map to Daytona stop/start semantics. Non-reusable leases are deleted on release. ## Local development ```bash cd packages/plugins/sandbox-providers/daytona pnpm install --ignore-workspace --no-lockfile pnpm build pnpm test pnpm typecheck ``` These commands assume the repo root has already been installed once so the local `@paperclipai/plugin-sdk` workspace package is available to the compiler during development. ## Package layout - `src/manifest.ts` declares the sandbox-provider driver metadata - `src/plugin.ts` implements the environment lifecycle hooks - `paperclipPlugin.manifest` and `paperclipPlugin.worker` point the host at the built plugin entrypoints in `dist/`