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.