Dartvel, home
Docs
Features
Studio
Cloud
Compared

Search the site

GitHub
pub.dev

GETTING STARTED

Getting started
Existing Flutter apps
Existing Native apps
Run on your phone

APP

UI and styling
Routing
State
Accessibility
Keyboard shortcuts
Localization
Devices and desktop
Native device access
Media, 3D and XR

DATA

Data models
Forms
Search
Sync and offline
Import and export
Change capture
Database
Cache
File storage
Images
Privacy and erasure

BACKEND

Backend functions
Auth and sessions
Authorization
Queues and jobs
Workers and memory
Notifications and mail
Outbound HTTP
AI
Webhooks
GraphQL and OpenAPI
API keys and OAuth
Multi-tenancy
Billing and commerce
Modules

OPERATIONS

Edge security
Secrets and environments
Monitoring
Releases

SHIPPING

Build targets
Telegram Mini Apps
Static web hosting
Servers and deploying

REFERENCE

Testing
CLI reference
Coding agents

REFERENCE

CLI reference

Every dartvel command, with its flags, as dartvel --help prints them.

This page is generated from the CLI's command table on each change.

dartvel upgrade installs the latest packaged CLI after SHA-256 verification. Framework transaction compensations restore the previous binary and PATH if installation, PATH configuration or stale-copy cleanup fails. Open a new terminal to refresh PATH. Windows retires locked old binaries on a later invocation. dartvel update uses the same flow. dartvel upgrade --plan remains a read-only project plan.

ON THIS PAGE

dartvel add

dartvel admin

dartvel ai

dartvel analyze

dartvel artifact

dartvel build

dartvel cache

dartvel capture

dartvel compatibility-check

dartvel create

dartvel db

dartvel deploy

dartvel dev

dartvel devtools

dartvel docs

dartvel doctor

dartvel engine

dartvel ensure-path

dartvel explain

dartvel flags

dartvel generate

dartvel i18n

dartvel import

dartvel infra

dartvel init

dartvel inspect

dartvel key

dartvel logs

dartvel mcp

dartvel metrics

dartvel migrate-code

dartvel modules

dartvel plugin

dartvel prerender

dartvel privacy

dartvel queue

dartvel routes

dartvel sh

dartvel spec

dartvel task

dartvel test

dartvel traces

dartvel update

dartvel updates

dartvel upgrade

dartvel version

dartvel webos

Status

dartvel add

Resolve a capability source into a module the parent mounts.

--elsewhere    What an operation does in an environment the source cannot run in, instead of crossing to the backend where it can. Written into the module per operation.
                   [unavailable, noop]
    --class        For a JVM library: a class whose static methods the module exposes, dotted. Repeat it for more than one.
    --as           The id the parent knows the module by.
    --mount        Where the parent serves it.
    --url          The endpoint a described API is called at. Required for a GraphQL schema, which names no server of its own.
    --dry-run      Print the installation plan and change nothing.

Copy code to clipboard

dartvel admin

Generate Dartvel admin surfaces, and say who may open Studio.

dartvel admin generate

Generate Dartvel admin and devtools pages.

-f, --[no-]force    Overwrite generated admin files.

Copy code to clipboard

dartvel admin grant

Let an account open Studio (Studio.access) on a deployed application.

--database    The SQLite file the application uses, such as dartvel_data/data.db beside a web-server binary. Defaults to DATABASE_URL, then dartvel.database.
    --tenant      The tenant the account signs in on.
                  (defaults to "default")

Copy code to clipboard

dartvel admin list

List the accounts that may open Studio.

--database    The SQLite file the application uses, such as dartvel_data/data.db beside a web-server binary. Defaults to DATABASE_URL, then dartvel.database.

Copy code to clipboard

dartvel admin revoke

Take an account's Studio access away.

--database    The SQLite file the application uses, such as dartvel_data/data.db beside a web-server binary. Defaults to DATABASE_URL, then dartvel.database.
    --tenant      The tenant the account signs in on.
                  (defaults to "default")

Copy code to clipboard

dartvel ai

Leverage Dartvel AI integration helper commands.

dartvel ai context

Export the codebase context to markdown for AI tools.

dartvel ai doctor

Diagnose and automatically resolve configuration issues using AI.

dartvel ai generate

Generate features, models, or views from a natural language prompt.

dartvel analyze

Analyze a running application: performance measurements and findings.

--json    Emit the published measurements as JSON.

Copy code to clipboard

dartvel artifact

Split a large build artifact into committable chunks, or rejoin them.

dartvel artifact join

Rebuild a file from its chunks and manifest.

-o, --out     Where to write the rebuilt file. Defaults to the manifest's own name, beside it.

Copy code to clipboard

dartvel artifact split

Split a file into chunks plus a manifest, for committing.

-o, --out           Directory to write the chunks and manifest into.
                    (defaults to ".")
    --chunk-size    Bytes per chunk. The default is under GitHub's 100 MB hard block.
                    (defaults to "94371840")

Copy code to clipboard

dartvel build

Build for production. Pass a platform (dartvel build web) or omit it to build every available platform.

-p, --platform                   Target platform (or pass it positionally)
                                 [android, ios, web, windows, macos, linux, fireos, horizon, visionos, tizen, sony-elinux, webos, tvos, fuchsia, vscode, chrome-extension, firefox-extension, web-server, telegram, tpk, sony-elinux-iso, sony-elinux-img, linux-cli, linux-tui, windows-cli, windows-tui, macos-cli, macos-tui, fuchsia-cli, fuchsia-tui, all (default)]
    --profile                    What kind of build to make.

          [development]          Flutter debug (JIT). On Android, iOS, macOS, Linux and Windows it carries the dev-client pairing, so `dartvel dev` can hot reload it over the network.
          [profile]              Flutter profile mode.
          [release] (default)    Flutter release mode.

-t, --target                     Target entry point
    --format                     The package a target is built as.

          [bundle]               Sony eLinux: a bundle directory.
          [iso]                  Sony eLinux: a bootable ISO image.
          [img]                  Sony eLinux: a disk image.
          [aab]                  Android: an App Bundle, which Google Play takes.
          [ipa]                  iOS: an IPA, which App Store Connect takes. Signed with the signing Xcode is configured with, or --export-options-plist.

    --[no-]codesign              With --format ipa: sign the IPA. --no-codesign builds the unsigned archive (build/ios/archive) instead.
    --export-options-plist       With --format ipa: the ExportOptions.plist naming the export method, team and provisioning profile to sign with.
    --device-profile             Named embedded device profile from pubspec.yaml
    --simulator                  Build for a simulator rather than a device (iOS, tvOS). On tvOS device builds are AOT and need a configured Xcode signing team, so this is the only unsigned path.
    --build-timeout              Minutes before a stalled build is killed (0 disables). A build that stops producing output is the failure mode worth guarding: it looks identical to a slow one and costs far more.
    --arch                       Target architecture for embedded builds
                                 [arm, arm64 (default), x64]
    --[no-]split-per-abi         Split APKs per ABI (Android)
    --build-number               Build number
    --build-name                 Build name/version
    --[no-]obfuscate             Obfuscate code (release only)
                                 (defaults to on)
    --[no-]tree-shake-icons      Tree shake icons
                                 (defaults to on)
    --[no-]prerender             Read the semantics tree of each page into the HTML a crawler sees. --no-prerender skips it, and every page then ships with an empty body to anything that does not run scripts. For a build nobody serves: a screenshot, a smoke test, a local run.
                                 (defaults to on)
    --[no-]minify                Take the whitespace and the comments out of the HTML, CSS and JavaScript the build writes. Nobody downloads the indentation. --no-minify leaves it in, for a build somebody is about to read.
                                 (defaults to on)
    --[no-]auto-install          Install missing build tools without prompting. Defaults to prompting when interactive, and to installing in CI. Use --no-auto-install to require a pre-provisioned toolchain.
    --cloud                      Build on Dartvel Cloud instead of this machine, which needs no SDK for the target: iOS and macOS build on a macOS worker. Prints the build log as it runs and downloads the artifacts into build/cloud/<target>. Needs a paid Dartvel Cloud plan.
    --cloud-os                   With --cloud and web-server: the operating system of the worker, which is the one the server executable runs on. Defaults to linux.
                                 [linux, macos, windows]
    --cloud-token                The Dartvel Cloud token for --cloud. Defaults to DARTVEL_CLOUD_TOKEN, which keeps it out of shell history.

Copy code to clipboard

dartvel cache

Inspect and revalidate the Dartvel cache.

dartvel cache clear

Clear a persistent cache, or local cache tag metadata.

--database    Path to the SQLite database backing DVDatabaseCacheAdapter.
    --table       Cache table name, when it was customised.
                  (defaults to "dartvel_cache")

Copy code to clipboard

dartvel cache inspect

Inspect cache keys attached to a tag.

dartvel cache purge

Remove expired entries from a persistent cache, reclaiming space.

--database    Path to the SQLite database backing DVDatabaseCacheAdapter.
    --table       (defaults to "dartvel_cache")

Copy code to clipboard

dartvel cache revalidate

Revalidate a cache tag and print affected keys.

dartvel capture

Capture what a target rendered, and check that it rendered anything.

dartvel capture firefox

Photograph a page in Firefox after it has drawn.

--firefox    The Firefox binary to drive.
                 (defaults to "firefox")
    --profile    A prepared profile directory.
    --settle     Seconds to wait for the page to lay out before giving up.
                 (defaults to "40")
    --width      (defaults to "1280")
    --height     (defaults to "900")

Copy code to clipboard

dartvel capture pages

Photograph every page in a web build's sitemap at each size, in a real browser, and fail on a page that shows no text.

--web                The built web output, with its sitemap.xml.
                         (defaults to "build/web")
    --out                Where the screenshots are written.
                         (defaults to "build/shots")
    --sizes              Viewports as WIDTHxHEIGHT, comma separated.
                         (defaults to "1440x900,390x844")
    --routes             Paths to photograph, comma separated. Defaults to every page in sitemap.xml.
    --chrome             The browser to run. Defaults to DARTVEL_CHROME or a system Chrome.
    --[no-]allow-skip    Exit 0 when no browser can be launched, instead of failing.

Copy code to clipboard

dartvel capture pty

Run a command under a pseudo-terminal and save its raw output.

--seconds        How long to let the command run before ending the capture.
                     (defaults to "25")
    --rows           Terminal height. The application lays out against this.
                     (defaults to "40")
    --columns        Terminal width.
                     (defaults to "120")
    --interrupt      End the capture by typing Ctrl+C, and fail unless the command then exits 0. Without it the command is killed.
    --exit-within    With --interrupt, seconds the command has to exit.
                     (defaults to "15")

Copy code to clipboard

dartvel capture pwa-sync

Fail unless a POST made offline is queued by the worker and replayed once online, in a real browser.

--web                The built web output, with its sw.js.
                         (defaults to "build/web")
    --chrome             The browser to run. Defaults to DARTVEL_CHROME or a system Chrome.
    --[no-]allow-skip    Exit 0 when no browser can be launched, instead of failing. For machines that never had one.

Copy code to clipboard

dartvel capture studio

Photograph every section of a running Studio, and fail on one that renders nothing.

--url                Where the running Studio is.
                         (defaults to "http://127.0.0.1:8080/__studio/")
    --out                Where the screenshots are written.
                         (defaults to "build/studio-shots")
    --sections           The rail labels to photograph, comma separated. One that is not on this rail is skipped.
                         (defaults to "Pages,Data,Site map,Frontend,Backend,Modules,Tasks,Queue,Cache,Team,Flags,Operations")
    --size               The viewport, as WIDTHxHEIGHT.
                         (defaults to "1440x900")
    --sign-in            The sign-in endpoint, e.g. http://127.0.0.1:8080/api/auth/sign-in. Studio answers somebody who may not open it exactly as it answers a route that does not exist, so without this a capture photographs a 404.
    --email              The account to sign in as.
    --password           Its password.
    --open               One thing to click inside a section once it is up, as SECTION=ITEM pairs. A builder photographed with nothing open is a true picture of an empty panel and says nothing about what the builder does.
                         (defaults to "Frontend=orderAhead,Backend=placeOrder")
    --chrome             The browser to run. Defaults to DARTVEL_CHROME or a system Chrome.
    --[no-]allow-skip    Exit 0 when no browser can be launched, instead of failing.

Copy code to clipboard

dartvel capture verify

Fail unless the capture is a PNG showing something rendered.

--min-width        Reject a capture narrower than this.
                       (defaults to "1")
    --min-height       Reject a capture shorter than this.
                       (defaults to "1")
    --max-dominant     Share of one colour above which the capture is called blank.
                       (defaults to "0.99")
    --expect-colour    An "r,g,b" the capture must contain.
    --label            What is being verified, for the failure message.
                       (defaults to "the capture")

Copy code to clipboard

dartvel compatibility-check

Check the build's protocol against the clients an environment serves.

--against=<environment>    The environment whose clients the build is checked against, e.g. production. Needs --histogram.
    --histogram=<file>         JSON sessions per protocol version per day, exported from monitoring for that environment: {"samples": [{"protocol": 6, "day": "2026-09-10", "sessions": 1200}]}.
    --override=<reason>        Let a refused deploy through. The reason is logged with the histogram it overrode, in .dartvel/compatibility-overrides.jsonl.

Copy code to clipboard

dartvel create

Create a Dartvel project, or add Dartvel to the project already in the folder (the same as dartvel init). (Aliases: new)

Also: dartvel new

--[no-]web        Include web platform
                      (defaults to on)
    --[no-]mobile     Include mobile platforms
                      (defaults to on)
    --[no-]desktop    Include desktop platforms
                      (defaults to on)
    --[no-]ssr        Enable SSR/SSG features
    --project-name    The package name, when it should differ from the folder's. Lowercase with underscores, as `flutter create` requires.
-o, --org             Organization domain
                      (defaults to "com.example")
    --dry-run         In an existing project: print the adoption plan; write nothing.
-y, --yes             In an existing project: apply the adoption plan without asking.

Copy code to clipboard

dartvel db

Manage the Dartvel database schemas, migrations, and seeding.

dartvel db migrate

Run pending database schema migrations.

--tenant                     Which tenant the rows written before the tenant column existed belong to. Required to add that column to a table that already has rows, because without it they belong to nobody and every tenant sees an empty table.
    --orphan-existing-rows       Add the tenant column and leave existing rows belonging to no tenant, which hides them. For a staging database or a table being emptied. Never the default.
    --plan                       Print the class of every change -- instant, online or blocking -- and apply none of them.
    --dry-run                    Plan and gate the migration as if running it, and apply nothing.
    --against                    Rehearse against a snapshot of production: its server, version, columns and row counts. Needs --dry-run or --plan.
                                 [snapshot]
    --snapshot                   The snapshot file for --against snapshot. Defaults to .dartvel/db/production.snapshot.json.
    --production                 This migration runs against production: a blocking change is refused without --allow-blocking (DV-SCHEMA-002).
    --allow-blocking=<reason>    Run a blocking change against production anyway. The reason is required and is logged to .dartvel/db/schema_overrides.jsonl.

Copy code to clipboard

dartvel db pull

Pull the remote database schema snapshot, or with --local print model suggestions from drift, isar and sqflite schemas.

--local    Print @DVModel suggestions from the drift tables, isar collections and sqflite CREATE TABLE statements under lib/. Suggestions are printed, never applied.

Copy code to clipboard

dartvel db push

Push local schema changes directly to the database.

dartvel db seed

Seed the database with test data.

dartvel deploy

Deploy to production: a web build or a server (--provider), or an application to a store (--store), or an isolated branch (--preview).

--preview                            Create or redeploy an isolated branch deployment
    --list                               With --preview: list branch deployments
    --open                               With --preview: print the branch deployment URL
    --logs                               With --preview: request logs (not yet supported by adapters)
    --follow                             With --preview --logs: follow logs (not yet supported)
    --destroy                            With --preview: destroy the branch deployment and its resources
    --sweep                              With --preview: destroy expired deployments and suspend idle ones
    --branch                             With --preview: branch name (defaults to CI head, then checkout)
    --from-pr                            With --preview: pull request number for creation
    --closed-pr                          With --preview --sweep: closed pull request numbers
-t, --target                             Deployment target
                                         [web, server, all (default)]
    --provider                           Where the web build or the server is hosted: firebase-hosting (Firebase Hosting, with the firebase CLI), vercel, netlify, cloudflare (Cloudflare Pages, with wrangler), or custom to build only and deploy from build/ yourself.
-e, --environment                        Environment to deploy to. Declared secrets required for it must resolve before anything ships.
                                         (defaults to "production")
    --functions                          Function mode: write a deployment artifact per backend function instead of deploying the whole build.
    --function-target                    Where the functions go: lambda, cloud-run, container, edge, fly, railway, bare-metal.
                                         (defaults to "container")
    --[no-]build                         Build before deploying
                                         (defaults to on)
    --[no-]verify                        Verify deployment
                                         (defaults to on)
    --store                              Deploy a built application to a store or a tester group instead of a web build or a server. Declared under dartvel.deploy.stores in pubspec.yaml; build it first with dartvel build. Takes none of --target, --provider, --functions or --function-target.

          [play]                         Google Play, to the track dartvel.deploy.stores.play names.
          [appstore]                     App Store Connect.
          [testflight]                   TestFlight.
          [firebase-app-distribution]    Firebase App Distribution, to its tester groups.

    --dry-run                            With --store: print the upload that would run, and run nothing.
    --artifact                           With --store: the file to upload, when it is not where the build puts it.
    --cloud                              With --store: build and deploy on Dartvel Cloud, with the credentials kept there by dartvel key cloud. With --dry-run the worker prints the upload instead of making it. Play gets an App Bundle and App Store Connect a signed IPA, both built in release. Needs a paid Dartvel Cloud plan.
    --cloud-token                        The Dartvel Cloud token for --cloud. Defaults to DARTVEL_CLOUD_TOKEN, which keeps it out of shell history.

Copy code to clipboard

dartvel dev

Run the Dartvel development server and Flutter app. (Aliases: run, start)

Also: dartvel run, dartvel start

-d, --device                   Target device id or name (prefixes allowed)
    --[no-]release             Serve the existing production build locally (build/web), without hot reload
-p, --port                     With --release: port to serve on
                               (defaults to "8080")
    --host                     With --release: host to bind to
                               (defaults to "127.0.0.1")
    --[no-]profile             Build in profile mode
    --[no-]debug               Build in debug mode
    --dart-define              Pass additional dart-defines to Flutter
    --dart-define-from-file    Pass dart-define-from-file to Flutter
    --web-renderer             Select web renderer (auto, html, canvaskit)
    --web-hostname             Hostname for the Flutter web-server device
    --web-port                 Port for the Flutter web-server device
-v, --[no-]verbose             Verbose output
    --pairing-port             Port development builds pair on. debug development serves pairing: it prints a QR code to scan with a development build (dartvel build <target> --profile development) and hot reloads every paired device on save.
                               (defaults to "8787")

Copy code to clipboard

dartvel devtools

Generate and open Dartvel devtools metadata pages.

-f, --[no-]force    Overwrite generated devtools files.

Copy code to clipboard

dartvel docs

Build the documentation site from the project graph.

-o, --output            Where to write the site, relative to the project.
                        (defaults to "build/docs")
    --serve             Serve the site on loopback and rebuild it when the project changes.
    --port              The port for --serve.
                        (defaults to "4180")
    --fatal-warnings    Exit non-zero when a decision names a node that is gone (DV-DOCS-001) or a node cannot be mapped to its source (DV-DOCS-002).

Copy code to clipboard

dartvel doctor

Check your environment and project for common issues.

--modules    Verify every module pin (digest, signing key, publisher, version) and compare what each module uses against what this application grants.
    --target     Validate the toolchain for an embedded, TV or extension build target, or, for android and ios, the deep-link verification documents the declared domains serve. Comma-separate several: --target android,ios.
                 [horizon, visionos, tizen, sony-elinux, webos, tvos, fuchsia, vscode, chrome-extension, firefox-extension, linux-cli, linux-tui, windows-cli, windows-tui, macos-cli, macos-tui, fuchsia-cli, fuchsia-tui, android, ios]

Copy code to clipboard

dartvel engine

Resolve and verify a from-source Flutter engine build.

dartvel engine plan

Print the build a given architecture and mode resolves to.

--arch              Architecture to build for.
                        [x64 (default), arm64, arm]
    --os                Target operating system.
                        [linux (default), fuchsia]
    --mode              Engine runtime mode.
                        [debug, profile, release (default)]
    --src-root          Absolute path to engine/src, so paths handed to gn resolve.
    --toolchain-root    Directory to assemble the custom toolchain in, when one is needed.
    --github-output     Emit key=value lines for $GITHUB_OUTPUT instead of prose.

Copy code to clipboard

dartvel engine verify

Fail unless the built engine is actually the requested architecture.

--arch    Architecture to build for.
              [x64 (default), arm64, arm]
    --os      Target operating system.
              [linux (default), fuchsia]
    --mode    Engine runtime mode.
              [debug, profile, release (default)]

Copy code to clipboard

dartvel ensure-path

Add the dartvel command to your PATH, if it is not already.

--dry-run      Print what would change without changing anything.
    --system       Change the PATH for every user rather than just this one. Needs administrator on Windows and root elsewhere.
    --directory    The directory to add. Defaults to the one this binary is in.

Copy code to clipboard

dartvel explain

Explain a Dartvel diagnostic code, e.g. dartvel explain DV-WINDOW-004.

dartvel flags

List the declared feature flags, and the ones past their expiry.

dartvel flags list

Every declared flag, with its type, default, owner and expiry.

dartvel flags prune

Flags past their expiry, with the code that still reads each one.

dartvel generate

Generate Dartvel template files for pages, models, forms, and backend functions. With --check, fail when generated output is stale.

--check     Regenerate into a scratch location and compare, twice. Exits non-zero and prints the paths when the project's generated output is stale (DV-GEN-001) or generation is not deterministic (DV-GEN-002). Writes nothing into the project.
    --render    The rendering backends the checked output was generated for (gui, terminal, or both), as `dartvel routes --render`.

Copy code to clipboard

dartvel generate backend-function

Generate a new backend function.

dartvel generate form

Generate a form functional widget for a model.

dartvel generate model

Generate a new data model class.

dartvel generate page

Generate a new page functional widget.

dartvel i18n

Extract translatable strings and check locale catalogues.

dartvel i18n check

Report untranslated and stale keys in each locale catalogue.

--strict    Exit non-zero when a locale is missing a translation.

Copy code to clipboard

dartvel i18n extract

Collect translatable strings into lib/l10n/app_<locale>.arb.

-l, --locale    Locales to write. Defaults to the catalogues already present.

Copy code to clipboard

dartvel import

Bring an external description into the project.

dartvel import openapi

Generate models and a typed client from an OpenAPI document.

--dry-run      List what would be written, and write nothing.
    --overwrite    Replace files that are already there.

Copy code to clipboard

dartvel import postman

Generate a typed client from a Postman collection export.

--dry-run      List what would be written, and write nothing.
    --overwrite    Replace files that are already there.

Copy code to clipboard

dartvel infra

Provision and check the hosts declared under dartvel.infra.

dartvel infra check

Report drift, stopped services, failing certificate renewal and stale restores as DV-INFRA findings.

--json    Print findings as JSON.

Copy code to clipboard

dartvel infra plan

Show the steps that would converge each host on dartvel.infra.<env>.

--out     Write the plan to this file for `provision --plan`.

Copy code to clipboard

dartvel infra provision

Apply the plan to each host and verify the host matches afterwards.

--plan                   Apply this plan file, and only while it is still the plan.
    --confirm-destructive    Apply steps that remove units, files or credentials without asking.

Copy code to clipboard

dartvel init

Add Dartvel to an existing project: the dependency and the dartvel: key, nothing else.

--dry-run    Print the compatibility report and the pubspec changes; write nothing.
-y, --yes        Apply without asking. Required where there is no terminal to ask at.

Copy code to clipboard

dartvel inspect

Inspect the project graph: routes, models, functions and jobs.

--json              Emit the graph as JSON. The shape is versioned by graphVersion.
    --device-profile    For kiosk: the device profile a build would select, whose kiosk entry goes over the section.

Copy code to clipboard

dartvel key

The application key in the platform key store, and signing credentials in Dartvel Cloud.

dartvel key cloud

Keep a signing or store credential in Dartvel Cloud for this project, or list them.

--delete         Remove the named credential from Dartvel Cloud.
    --cloud-token    The Dartvel Cloud token. Defaults to DARTVEL_CLOUD_TOKEN, which keeps it out of shell history.

Copy code to clipboard

dartvel key generate

Generate the application key. Refuses if one exists.

--store    Where the key is held. auto uses the Secret Service when one answers, else a file only you can read.
               [auto (default), secret-service, file]
    --home     The home directory for the file store. Defaults to yours.
    --app      The application the key belongs to. Defaults to the pubspec name here.

Copy code to clipboard

dartvel key rotate

Replace the application key, recording both fingerprints.

--store    Where the key is held. auto uses the Secret Service when one answers, else a file only you can read.
               [auto (default), secret-service, file]
    --home     The home directory for the file store. Defaults to yours.
    --app      The application the key belongs to. Defaults to the pubspec name here.

Copy code to clipboard

dartvel key status

Say whether there is a key, where it is held, and its fingerprint.

--store    Where the key is held. auto uses the Secret Service when one answers, else a file only you can read.
               [auto (default), secret-service, file]
    --home     The home directory for the file store. Defaults to yours.
    --app      The application the key belongs to. Defaults to the pubspec name here.

Copy code to clipboard

dartvel logs

Read the recent log records of a running Dartvel server.

--url      Base URL of the running Dartvel server to read from.
               (defaults to "http://localhost:8080")
    --limit    Show only the most recent N entries.
    --json     Print each entry as the JSON the server sent, for piping.

Copy code to clipboard

dartvel mcp

Serve Dartvel's project-graph inspectors to a coding agent over MCP.

dartvel metrics

Fetch the /metrics endpoint of a running Dartvel server.

--url     Base URL of the running Dartvel server to read /metrics from.
              (defaults to "http://localhost:8080")

Copy code to clipboard

dartvel migrate-code

Rewrite deprecated Dartvel names in this project to their replacements (a dry run unless --apply).

--apply    Write the rewrites. Without it nothing is written.

Copy code to clipboard

dartvel modules

Inspect mounted modules, publish a signed module, and pin what is mounted.

dartvel modules list

The modules this application mounts.

dartvel modules manifest

Write the manifest this module publishes about itself.

--out       Where to write the manifest.
                (defaults to "build/module-manifest.json")
    --key       A file holding the 32-byte P-256 signing key, base64url. Without it the manifest is written unsigned.
    --key-id    The name a parent knows the signing key by.

Copy code to clipboard

dartvel modules pin

Pin the version, digest, signing key and publisher of mounted modules into dartvel.module.lock.

--allow-downgrade    Pin a version older than the current pin. Without it, a rollback is refused.

Copy code to clipboard

dartvel modules publish

Check a module's declared capabilities against its code, sign it, and publish it to pub.dev.

--key          A file holding the 32-byte P-256 signing key, base64url.
    --key-id       Your name for the signing key.
    --publisher    The verified pub.dev publisher, as a claim. Parents never trust it for itself: they pin what the registry verifies.
    --dry-run      Sign, then run dart pub publish --dry-run.
    --sign-only    Sign, and leave publishing to you.

Copy code to clipboard

dartvel plugin

Manage Dartvel plugins.

dartvel plugin add

Add a plugin to your project.

-n, --name    Plugin name (e.g., auth, analytics)

Copy code to clipboard

dartvel plugin list

List available plugins.

dartvel plugin remove

Remove a plugin from your project.

dartvel prerender

Prerender routes to static HTML for SEO.

-p, --port        Port the app is serving on
                  (defaults to "8080")
-o, --output      Output directory
                  (defaults to "build/web")
    --base-url    Canonical base URL for sitemap.xml and robots.txt
                  (defaults to "http://localhost:8080")

Copy code to clipboard

dartvel privacy

Check subject paths and retention, and export, erase or plan a retention sweep over the application database.

dartvel privacy check

List every model with its subject path and retention.

dartvel privacy erase

Erase a subject's records: delete them, or keep and anonymize the ones a declared retention holds.

--subject    The subject, as model:id -- user:1042.
    --reason     Why, as the audit record will say.
    --yes        Erase without asking. Required where nobody can be asked.

Copy code to clipboard

dartvel privacy export

Write a subject's records, as JSON, to the path --out names.

--subject    The subject, as model:id -- user:1042.
    --out        Where to write the archive. Required.
    --force      Replace a file already at --out.

Copy code to clipboard

dartvel privacy retention

Preview the next retention sweep (--plan). Sweeps run as a job.

--plan    Say what the next sweep would delete or anonymize, changing nothing.

Copy code to clipboard

dartvel queue

Work and inspect Dartvel queues.

dartvel queue failed

List dead-lettered jobs for a queue.

--queue    Queue name.
               (defaults to "default")

Copy code to clipboard

dartvel queue flush

Remove pending and failed jobs for a queue.

--queue    Queue name.
               (defaults to "default")

Copy code to clipboard

dartvel queue retry

Retry a dead-lettered job by id.

dartvel queue work

Run queued jobs for a queue.

--queue       Queue name to work.
                  (defaults to "default")
    --max-jobs    Maximum jobs to reserve and process.
                  (defaults to "1")

Copy code to clipboard

dartvel routes

Generate routes and client artifacts.

--render    The rendering backends this build links (gui, terminal, or both). `dartvel build` passes what it resolved from the -cli/-tui suffix and dartvel.terminal; run by hand it defaults to gui.

Copy code to clipboard

dartvel sh

Run a cross-platform command with Dartvel escaping, env, and glob handling.

-p, --[no-]print    Print the resolved executable and arguments before running.
-q, --[no-]quiet    Do not stream child process stdout/stderr.
    --env           Environment override in KEY=value form. Can be repeated.

Copy code to clipboard

dartvel spec

Inspect the specification status index.

dartvel spec status

Summarise docs/spec-status.json: what is built and what is not.

--contracts    List the frozen surfaces that are not finished.

Copy code to clipboard

dartvel task

Run a task from pubspec.yaml dartvel.tasks.

-l, --[no-]list     List available Dartvel tasks.
-p, --[no-]print    Print the resolved executable and arguments before running.
-q, --[no-]quiet    Do not stream child process stdout/stderr.

Copy code to clipboard

dartvel test

Run Dartvel tests.

--[no-]flutter           Force flutter test instead of dart test.
    --[no-]dart              Force dart test instead of flutter test.
    --[no-]watch             Run the tests, then rerun them whenever a Dart file in the project changes: a changed test file reruns that file, any other change reruns the suite.
    --[no-]dry-run           Print the resolved test command without executing it.
    --total-shards           Total number of CI shards running this test suite.
    --shard-index            Zero-based index of this CI shard.
    --[no-]isolate           Run tests with per-file isolation by forcing single concurrency.
    --[no-]update-goldens    Update golden snapshot files for golden UI tests.
    --reporter               Pass a reporter to the selected test runner.

Copy code to clipboard

dartvel traces

Read the recent trace spans of a running Dartvel server.

--url      Base URL of the running Dartvel server to read from.
               (defaults to "http://localhost:8080")
    --limit    Show only the most recent N entries.
    --json     Print each entry as the JSON the server sent, for piping.

Copy code to clipboard

dartvel update

Update the Dartvel CLI to the latest published release.

--check    Report whether an update exists without installing it.
    --force    Reinstall even when the running version is already the latest.

Copy code to clipboard

dartvel updates

Manage Over-The-Air (OTA) updates.

dartvel updates patch

Create Shorebird patches for target platforms. Arguments after -- go to the build.

-p, --platform                  Target platform. Repeat to run multiple platforms. With --patch-source, defaults to android.
                                [android (default), ios (default)]
    --[no-]dry-run              Print Shorebird commands without executing them.
    --patch-source=<url|dir>    Publish into a patch source this project hosts instead of Shorebird's service: the URL shorebird.yaml's base_url names on the web-server binary (with DARTVEL_UPDATES_TOKEN set to the token it was started with), or a directory a patch source is served from. Builds with Shorebird's Flutter at this project's Flutter version; needs no Shorebird account. Android only.
    --[no-]auto-install         With --patch-source: install Shorebird's Flutter and patch tool without prompting. Defaults to prompting when interactive, and to installing in CI.
    --release-version           Existing release version to patch. With --patch-source, defaults to the pubspec version.
    --channel                   With --patch-source: the channel the patch is published to.
                                (defaults to "stable")

Copy code to clipboard

dartvel updates push

Alias for updates patch. Use updates patch in new scripts.

-p, --platform                  Target platform. Repeat to run multiple platforms. With --patch-source, defaults to android.
                                [android (default), ios (default)]
    --[no-]dry-run              Print Shorebird commands without executing them.
    --patch-source=<url|dir>    Publish into a patch source this project hosts instead of Shorebird's service: the URL shorebird.yaml's base_url names on the web-server binary (with DARTVEL_UPDATES_TOKEN set to the token it was started with), or a directory a patch source is served from. Builds with Shorebird's Flutter at this project's Flutter version; needs no Shorebird account. Android only.
    --[no-]auto-install         With --patch-source: install Shorebird's Flutter and patch tool without prompting. Defaults to prompting when interactive, and to installing in CI.
    --release-version           Existing release version to patch. With --patch-source, defaults to the pubspec version.
    --channel                   With --patch-source: the channel the patch is published to.
                                (defaults to "stable")

Copy code to clipboard

dartvel updates release

Create Shorebird releases for target platforms. Arguments after -- go to the build.

-p, --platform                  Target platform. Repeat to run multiple platforms. With --patch-source, defaults to android.
                                [android (default), ios (default)]
    --[no-]dry-run              Print Shorebird commands without executing them.
    --patch-source=<url|dir>    Publish into a patch source this project hosts instead of Shorebird's service: the URL shorebird.yaml's base_url names on the web-server binary (with DARTVEL_UPDATES_TOKEN set to the token it was started with), or a directory a patch source is served from. Builds with Shorebird's Flutter at this project's Flutter version; needs no Shorebird account. Android only.
    --[no-]auto-install         With --patch-source: install Shorebird's Flutter and patch tool without prompting. Defaults to prompting when interactive, and to installing in CI.

Copy code to clipboard

dartvel updates rollback

Roll back a Shorebird patch track.

--release-version (mandatory)    Release version containing the patch.
    --patch-number (mandatory)       Patch number to move to the selected track.
    --track                          Target Shorebird track.
                                     (defaults to "stable")
    --platform                       With --patch-source: the platform whose patch is rolled back.
                                     [android (default), ios]
    --[no-]dry-run                   Print the Shorebird command without executing it.
    --patch-source=<url|dir>         Publish into a patch source this project hosts instead of Shorebird's service: the URL shorebird.yaml's base_url names on the web-server binary (with DARTVEL_UPDATES_TOKEN set to the token it was started with), or a directory a patch source is served from. Builds with Shorebird's Flutter at this project's Flutter version; needs no Shorebird account. Android only.
    --[no-]auto-install              With --patch-source: install Shorebird's Flutter and patch tool without prompting. Defaults to prompting when interactive, and to installing in CI.

Copy code to clipboard

dartvel upgrade

Upgrade the CLI, or plan a project upgrade with --plan.

--plan    Report what the upgrade changes across the toolchain, dependencies, source, generated code, protocol, database, modules, plugins and deployment. Writes nothing.

Copy code to clipboard

dartvel version

Print the current version of Dartvel CLI.

dartvel webos

Inspect and verify assembled webOS packages.

dartvel webos verify-package

Fail unless the package holds everything appinfo.json names.

Status

Partial

Spec section: CLI

Planned work and implementation limits

No crashes or meters commands, and no deploy --plan or deploy rollback.

No branch-deployment logs or captured-mail view.

No application commands declared with an annotation.

PREVIOUS Testing DV.Test fakes, model factories and test modes
NEXT Coding agents One generated block, in every agent's file
GitHub
pub.dev
npm
Acknowledgements
Privacy
Terms

FSL-1.1-MIT licensed. Built with Dartvel.

Dartvel is made by

SigmaDev Digital

To the bottom