Skip to content

holochain/scaffolding

Repository files navigation

Holochain Scaffolding CLI

A command-line interface for creating and modifying a Holochain application (hApp).

See the full CLI reference here

Getting Started

holonix

The easiest way to start using the scaffolding tool is through holonix:

nix run github:holochain/holonix#hc-scaffold -- --version

cargo

You can also install the CLI globally via cargo.

cargo install holochain_scaffolding_cli

hc-scaffold --version

Usage

Refer to the holochain developer instructions to know how you can use the scaffolding tool to create your own apps.

These are the commands that you can run with the scaffolding tool inside of a holonix develop shell:

USAGE:
    hc-scaffold [OPTIONS] <SUBCOMMAND>

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
    -t, --template <template>    The template to use for the hc-scaffold commands Can either be an option from the
                                 built-in templates: "vanilla", "vue", "lit", "svelte", "react", "headless" Or a path to
                                 a custom template

SUBCOMMANDS:
    collection    Scaffold a collection of entries in an existing zome
    dna           Scaffold a DNA into an existing app
    entry-type    Scaffold an entry type and CRUD functions into an existing zome
    example       Scaffold an example hApp
    help          Prints this message or the help of the given subcommand(s)
    link-type     Scaffold a link type and its appropriate zome functions into an existing zome
    template      Manage custom templates
    web-app       Scaffold a new, empty web app
    zome          Scaffold one or multiple zomes into an existing DNA

Custom Templates

See the docs.rs documentation to learn how to use and create custom templates.

Contributing

We have a contributing guide to help you get started. If you need anything else to get started please reach out on Discord!

Maintenance

We have a maintenance guide which is mainly aimed at maintainers of the project but may be useful for some contributors or users to read.