Content shaped by files
Collections, blueprints and fieldtypes declared in YAML, entries checked against them, edited in a control panel and rendered on the server by a Vue theme.
Nothing here has a date on it. Behind the pin is what has shipped, each with its release. Past it is what is being built, and what is being weighed up.
Collections, blueprints and fieldtypes declared in YAML, entries checked against them, edited in a control panel and rendered on the server by a Vue theme.
Name a folder in a collection's schema, and the Markdown files in it are its pages.
A collection can have a feed and a landing page of its own, and a visitor's light or dark choice survives the first paint.
The code is on GitHub, and the project lives at nibble.ink.
A collection written as files is read from the files themselves, with no database copy to keep in step.
Nibble lives in `vendor/nibble` and loads as a Rails engine; an upgrade replaces that folder and leaves the rest to the site.
Search that filters by collection and leaves out what you mark, updates that page in ten at a time, and emails with a design a site can make its own.
Every Rails setting where a Rails developer looks, none of the names Rails generates taken, and an idle session that ends on the server.
Claude, ChatGPT, Codex and Cursor connect over MCP, and the `nibble` command from a terminal. None can do more than the person it acts for, and an app waits for that person before anything goes live.
Fetch figures from an API, import a feed of jobs or call your own Ruby every few hours, and carry a package's images and files with its content.
Each connection chooses whether to ask first, and its access can be changed after it is connected.
A public form can total a quote, open and close itself, catch spam and notify the right people, and its submissions are handled in the Control Plane like any other work.
Menus gain headings, fields and kinds of their own, lists that fill themselves and show dates; a theme adds blocks to Nibble's standard ones; and crumbs, the theme every site starts from, uses all of it.
A content migration can replace a shipped value where editors haven't changed it, and this release fixes the deploy of a site whose form emails a site setting.
The queries a view's sidecar runs now work for layouts, for the page's own linked records, and for a form's choices.
You are here Everything above has shipped.
Being built
CI on every pull request, issue forms, a security policy and a support guide, so help has somewhere to go.
Next up
Fieldtypes, query sources and Control Plane screens packaged together, installed as one, with a version of their own.
Considering
One set of pages per release, or one set that always describes the newest.
Considering
The same search on databases other than SQLite.
Something you need that isn't on the road? Say so in an issue. The next stops come from real sites.
Suggest a stop