crudy
    FeaturesUse CasesDocumentationPricingAboutContact
    Get started free
    Documentation
    • Introduction
    • Installation
    • Quickstart
    • CLI Reference
    • Overview
    • Core Packages
    • App Structure
    • Modules & Routes
    • Module Anatomy
    • Backend Module
    • Frontend Module
    • Quotas
    • Full Example
    • Overview
    • Docker
    • Environment Variables
    • Licensing
    Getting Started

    CLI Reference

    The crudy command-line tool and its subcommands.

    The crudy CLI scaffolds new apps and modules, and performs a small set of admin operations on a running deployment. It does not run servers or manage migrations; those live in the generated app's Docker compose files and the bundled Makefile.

    Synopsis

    bash
    crudy --version
    crudy create <name> [--no-install]
    crudy module create <name> [--kind module|connector] [--no-install]
    crudy admin reset

    crudy create

    Scaffolds a new app in a sibling directory named <name>. The CLI exits if the directory already exists.

    bash
    crudy create my-app

    It produces the layout described in Quickstart: a backend/ workspace, a frontend/ workspace, root configuration files (app.config.json, .env.example), Docker compose files, a per-app Makefile, and empty migrations/ and seeds/ folders.

    By default the CLI runs npm install in both the app root and the frontend/ folder. Pass --no-install to skip that step if you want to manage installs yourself.

    bash
    crudy create my-app --no-install

    After the scaffold completes the CLI prints the next steps: request a license at /pricing, drop the files we send into the app root, then make dev-up and crudy admin reset.

    crudy module create

    Scaffolds a new module package. Use this when you want to add custom backend or frontend behavior that is not tied to a single app.

    bash
    crudy module create tasks

    The generated package matches the shape described in Module Anatomy:

    plaintext
    tasks/
      package.json     # name: @crudy-modules/tasks, exports ./backend and ./frontend
      tsconfig.json
      src/
        backend/index.ts    # exports TasksBackend: BackendModule
        frontend/index.ts   # exports TasksFrontend: FrontendModule

    The exported symbols use the PascalCase form of the name. crudy module create my-tasks produces MyTasksBackend and MyTasksFrontend.

    --kind module

    Default. Produces a generic module with both a backend and a frontend entry point.

    --kind connector

    Produces a service-connector module that plugs into @crudy-modules/service-connectors. The generated backend includes a kind.ts definition and a Fastify plugin that calls registerConnectorKind. The instructions printed at the end of the scaffold tell you how to wire the connector into an app.

    bash
    crudy module create connector-stripe --kind connector

    --no-install

    Skips the npm install step in the module directory. Useful when adding the module to an existing monorepo workspace where you want to install from the root instead.

    crudy admin reset

    Resets the global admin user's password on a running deployment. Run it from the app directory (where app.config.json and docker-compose.yml live):

    bash
    crudy admin reset

    It uses the running backend container to set a fresh random password for the user identified by ADMIN_EMAIL (defaults to admin@localhost) and prints it to your terminal once. The password is never written to disk.

    If the dev stack is not running, start it first with make dev-up.

    Exit codes

    The CLI returns a non-zero exit code if the target directory already exists, if --kind is given an unknown value, if npm install fails, or if a subprocess (docker compose exec) exits non-zero. Otherwise it exits 0 with a short follow-up message.

    PreviousQuickstartNext Overview
    crudy

    Build internal tools your teams actually use. Powered by a framework built for developers.

    Product

    • Features
    • Use Cases
    • Pricing

    Company

    • About
    • Contact

    © 2026 Crudy. All rights reserved.

    crudy.fr