{"protocol":"clank-doc/1","frameworkVersion":"0.8.0","slug":"renaming-from-proact","title":"Renaming from Proact","description":"Proact was renamed to Clank in version 0.7.0. The framework, deployment platform, package, CLI, generated applications, and public protocol names now use Clank.","group":{"id":"project","title":"Project"},"url":"https://docs.clank.run/docs/renaming-from-proact","source":"docs/renaming-from-proact.md","headings":["New names","Automatic migration","Source changes","Compatibility policy"],"tableOfContents":[{"id":"new-names","title":"New names","level":2},{"id":"automatic-migration","title":"Automatic migration","level":2},{"id":"source-changes","title":"Source changes","level":2},{"id":"compatibility-policy","title":"Compatibility policy","level":2}],"markdown":"# Renaming from Proact\n\nProact was renamed to Clank in version 0.7.0. The framework, deployment platform, package, CLI, generated applications, and public protocol names now use Clank.\n\n## New names\n\n| Before | Now |\n| --- | --- |\n| `proact` package | `@clank.run/framework` |\n| `proact` command | `clank` |\n| `proact-platform` | `clank-platform` |\n| `proact.deploy.json` | `clank.deploy.json` |\n| `.proact/` | `.clank/` |\n| `.proact-platform/` | `.clank-platform/` |\n| `PROACT_*` environment variables | `CLANK_*` |\n| `/__proact/auth/*` | `/__clank/auth/*` |\n| `x-proact-*` headers | `x-clank-*` |\n| `proact-deploy/1` | `clank-deploy/1` |\n| `application/vnd.proact.deploy+gzip` | `application/vnd.clank.deploy+gzip` |\n\nNew projects should use only the Clank names.\n\n## Automatic migration\n\nClank performs these migrations in place:\n\n- the default platform launcher renames `.proact-platform/` to `.clank-platform/` when the new directory does not already exist;\n- SQLite framework, authentication, migration-ledger, and deployment-platform tables are renamed transactionally while preserving rows;\n- the CLI reads an existing `~/.proact/config.json` or `.proact/project.json`, then writes the equivalent Clank file;\n- legacy session cookies remain valid, and the next authentication response uses the new cookie name;\n- old deployment artifacts, headers, configuration filenames, token prefixes, and selected environment variables remain readable during the transition.\n\nIf both an old and a new database table exist, startup stops instead of guessing which copy is authoritative. Back up platform and application data before the first 0.7.0 startup.\n\n## Source changes\n\nApplication source must update package imports and public Clank-specific names. For example:\n\n```ts\nimport { signal } from \"@clank.run/framework\";\nimport { createAuth } from \"@clank.run/framework/auth\";\n```\n\nRename custom integrations that reference `ClankContext`, `ClankClientOptions`, `ClankPlatformOptions`, `data-clank-*`, or `clank-*` SSR markers. These TypeScript and DOM names are not dual-exported because doing so would permanently expand the public API.\n\n## Compatibility policy\n\nLegacy compatibility is read-side and transitional. Clank always writes new names. Operators should update scripts, secrets, service definitions, proxy rules, and checked-in deployment configuration to use `CLANK_*`, `/__clank/*`, and `clank.deploy.json`.\n"}