bit CLI


From an empty folder to a running app, in one command

Starting a real app used to cost a day: installing tools, fixing versions, chasing the first build. With the bit CLI it's one command. bit new creates a bit Boilerplate project, installs what your machine is missing, builds it, starts it and opens it in your editor, ready for you and your AI assistant to work on.
dotnet tool install --global Bit.Cli --prerelease
bit new MyApp
Or run it once without installing it: dnx Bit.Cli --prerelease -- new MyApp

Made for building with AI
An AI assistant writes good code in a project that's set up well, and stalls in one that isn't. The bit CLI takes care of the setup, so the assistant can start on your app:
  • Describe your app to the assistant on the Create project page, and it builds the bit new command for you.
  • Every project comes ready for Claude Code, GitHub Copilot, Codex, Gemini CLI and Cursor, with the instructions, skills and MCP servers they work with.
  • bit new trusts the project folder for VS Code, Claude Code, Copilot CLI, Codex and Gemini CLI, so the project's tasks and MCP servers work without prompts, and installs the VS Code extensions the project recommends. All that's left is signing in to Claude or Copilot.
  • Later, bit diff shows what changed in bit Boilerplate between two versions, and the project's upgrade skill has your assistant bring those changes into your code.
Privacy first: your app stays yours
AI app builders in the cloud are quick to start, but your code, your prompts and your data live on their servers, and your app lives on their platform, under their pricing. The bit CLI gives you the same quick start without handing any of that over:
  • The project is created on your machine, in your own git repository. With --github-repo it goes to a private repository on your own GitHub account.
  • You pick the AI assistant, or none, and switch whenever you like. The project doesn't depend on any of them.
  • You host the app wherever you want: your own servers or any cloud.
  • The bit CLI is open source under the MIT license, built by GitHub Actions, signed and attested. bit about shows exactly which build you run.
  • Error reports never include project names, paths, file contents, prompts or keys, and bit telemetry off stops them.
What bit new does
  1. Checks this machine and installs what the project needs and you tick: the .NET SDK, Node.js, Git, a container runtime that's free for commercial use, the Aspire CLI, VS Code and more. The versions come from the project, and anything already installed isn't shown.
  2. Warns, only when it's sure, about hardware that makes development slow: virtualization turned off, less than 15 GB of memory, or a hard disk instead of an SSD.
  3. Creates the project with a development certificate of its own, and initializes git with develop and main.
  4. Installs the build tools the chosen platforms need, restores the packages, builds, and installs the browser the UI tests run in.
  5. Formats the code and adds the initial database migration, each in a commit of its own.
  6. With --github-repo, creates a private GitHub repository and pushes to it.
  7. Trusts the folder for the AI coding tools and installs the VS Code extensions the project recommends.
  8. Starts the project, opens it in VS Code, then opens the Aspire dashboard and the app in your browser.
A step that fails doesn't stop the rest: the summary lists the commands that finish whatever didn't work.
bit new Contoso.Shop
bit new Contoso.Shop --database PostgreSQL --module Admin --redis
bit new Contoso.Shop --platforms web,android
bit new Contoso.Shop --dry-run
Every option of bit Boilerplate works the same way. Pick them on the Create project page to get the command for your project, or run bit new --help.
More commands
  • bit setup gets a cloned project ready on this machine, or adds a platform later: bit setup --platforms android.
  • bit doctor checks the tools a project needs, and bit doctor --fix installs what's missing.
  • bit diff shows what changed in bit Boilerplate between two versions, for your project, without touching it.
  • bit clean deletes the build outputs and downloaded packages, stopping on Windows whatever still holds their files.
  • bit rename renames the project everywhere its name appears: files, folders, namespaces, database names and the app id.
  • bit remove deletes a project folder for good, even while the app or a build process still holds its files.
  • bit translate fills in the missing translations of .resx files with any OpenAI-compatible LLM, and keeps the existing ones.
  • bit decode reads a stack trace of an app shrunk by bit Minifier back into the names its source has.
  • bit aot-profile records which code a Blazor WebAssembly app really runs, so ahead-of-time compilation makes that code fast and leaves the download small.
  • bit trust trusts a cloned repository for VS Code and the AI coding tools.
  • bit telemetry, bit update and bit about show and change what bit sends, update it, and show which build you run.
In CI
bit new and bit setup prepare CI machines too, so a pipeline needs no steps of its own for Node.js, build tools, Playwright or the development certificate. The pipelines bit Boilerplate ships install bit once per job and let it build:
dotnet tool install --global Bit.Cli --prerelease
bit setup --platforms android --no-browsers --yes
In CI it installs what a build and its tests need, and leaves alone what only a developer's machine needs, such as containers and the Aspire CLI.
What it changes on your machine
  • The tools you tick, with winget on Windows, Homebrew on macOS and the distribution's package manager on Linux. Each command is shown before it runs.
  • Administrator rights: on Windows the steps that need them run in one elevated PowerShell, so Windows asks once. On macOS and Linux, sudo asks for your password once.
  • Trust entries, only for the folder bit new created or the one you pass to bit trust.
  • bit itself: when a newer version is out, it carries on with that one and updates the installed tool once the run ends. --no-update keeps the one you have.
  • Its own folder, ~/.bitplatform, with its settings, the template cache and the logs of every run.
Telemetry
bit sends error reports to the bit platform team so failed runs get fixed: whether each step worked and how long it took, error codes, the stack trace of a crash, and the OS, .NET and bit versions. It never sends project names, paths, user or machine names, file contents, prompts, API keys or the output of the tools it runs.
  • bit telemetry shows the setting, and bit telemetry off turns it off.
  • BIT_CLI_TELEMETRY=off, DO_NOT_TRACK=1 or DOTNET_CLI_TELEMETRY_OPTOUT=1 turn it off in CI or a container.
  • BIT_CLI_TELEMETRY=log prints everything that would be sent, and sends nothing.
The full reference is in the bit CLI's README.