Skip to content

Running a site

Commands

Every nibble command and script in one place, grouped by what you are doing, with the options each takes.

Every command explains its own options:

bin/rails nibble:content:import --help

This page collects them by what you are doing.

1. Every day

bin/dev                          # the site on :3100, the control panel at /admin
bin/rails nibble:check           # schema, theme, roles, settings, migrations, ejected files
bin/rails nibble:build           # site/content and the schema, with no database; regenerates types
bin/rails nibble:version         # the release this site runs
bin/rails nibble                 # every command, under the release and what it runs on

nibble:check is the one to run when something is not behaving and you do not know why. It takes --allow-data-loss, to report stranded content as warnings rather than failures, and --support, which prints a summary of your install to paste into an issue.

2. Schema

bin/rails nibble:generate:collection customers
bin/rails nibble:generate:taxonomy industries
bin/rails nibble:generate:blueprint customers/video
bin/rails nibble:generate:fieldset cta
bin/rails nibble:generate:global company
bin/rails nibble:generate:navigation help
bin/rails nibble:generate:form demo
bin/rails nibble:schema:show                  # the schema after all three layers
bin/rails nibble:schema:types                 # regenerate site/types.d.ts
bin/rails nibble:schema:snapshot              # record field types as the baseline for nibble:check

3. Themes

bin/rails nibble:generate:theme tidewater
bin/rails nibble:generate:view customers/show --collection=customers
npm run lint           # ESLint over your themes and the screens you ejected
npm run format         # Prettier rewrites them in Nibble's style
npm run format:check   # or only reports the files it would change

4. Content

bin/rails nibble:content:export site/themes/tidewater/default_content    # --collections= --taxonomies= --locales= --status=
bin/rails nibble:content:validate site/themes/tidewater/default_content  # check a package, write nothing
bin/rails nibble:content:import site/themes/tidewater/default_content    # --mode=create|update --dry-run --webhooks
bin/rails nibble:content:migrate                                         # pending site/schema/migrations/*.yml; --dry-run
bin/rails nibble:search:rebuild                                          # every search index, including files
bin/rails nibble:assets:purge_unused                                     # lists unused uploads; --confirm deletes, --older-than-days=

Warning

nibble:assets:purge_unused --confirm deletes files for good. Read Backups before running it after a restore.

5. People

bin/rails nibble:admin:create                                 # asks for a role, name, email and password
bin/kamal app exec -i 'bin/rails nibble:admin:create'         # the same, on the server

6. Installing, upgrading and deploying

curl -fsSL nibble.ink/install.sh | bash   # a new site
bin/rails nibble:install                  # --defaults, --force, --only=deploy
bin/rails nibble:eject <path>             # take one of Nibble's control panel screens on
bin/rails nibble:upgrade [version]        # on your own machine, never a server; --force
bin/rails nibble:prepare                  # migrations and checks — runs before every boot
bin/kamal setup                           # the first deploy
bin/kamal deploy                          # every deploy after

7. Development only

bin/rails nibble:dev:seed                 # realistic demo posts, authors and topics
RAILS_ENV=test bin/rails nibble:bench     # render and listing budgets; --posts=, --requests=
bin/ssr-smoke                             # every page through a fresh server-rendering build

The playground, at /admin/nibble/playground in development, renders every blueprint — plus one using every fieldtype — backed by records in memory. It is the fastest way to see what a field looks like without making content.

8. Nibble’s own releases

bin/nibble-release 0.16.0

Only for working on Nibble itself. See Releases.