cf initializes and deploys Workers projects
Introduced 2026-09-28 · score 0.95
HOW TO USE IT
When creating a Workers project, install `cf` globally and run `cf init <project-dir>`; then use `cf dev`, `cf build`, and `cf deploy` to develop, build, and deploy it. Sign in with `cf auth login` before deploying. [Install and sign in](https://developers.cloudflare.com/cf/get-started/)
npm install --global cf
cf auth login
cf init <project-dir>
cd <project-dir>
cf dev
cf build
cf deployWHY THIS HELPS
Create, develop, build, or deploy a Workers project from a repository.
REQUIREMENTS AND LIMITATIONS
- Availability: Beta; commands, configuration, and Build Output can change before the stable release.
- Requires Install globally with `npm install --global cf`, `yarn global add cf`, `pnpm add --global cf`, or `bun add --global cf`.
- <project-dir>: Directory for the new project; if omitted, `cf init` prompts for one.
- --package-manager <manager>: Select `npm`, `pnpm`, `yarn`, or `bun` for dependency installation; defaults to npm unless cf was run through another package manager.
- --no-install: Skip dependency installation; install dependencies before running `cf dev`.
- --no-browser: For `cf auth login`, print the sign-in link without opening a browser; useful on remote machines, SSH, or containers.
- Prerequisite: Install `cf` globally; the docs show `npm install --global cf`.
- Prerequisite: Loading `cloudflare.config.ts` requires Node.js 22.18 or later; set `"type": "module"` in the project's `package.json`.
- Prerequisite: Sign in is not needed until deployment. `cf deploy` resolves credentials and account; authenticate with `cf auth login`.
- The typed configuration file is `cloudflare.config.ts`.
FIRST-PARTY EVIDENCE
- https://developers.cloudflare.com/changelog/post/2026-09-28-cloudflare-cli-beta/
- https://developers.cloudflare.com/cf/get-started/first-worker/
- https://developers.cloudflare.com/cf/get-started/
- https://developers.cloudflare.com/cf/projects/cloudflare-config/
Check the installed version and the source before using it. Entry JSON