Skip to content
Dory Azar edited this page Nov 2, 2026 · 22 revisions

Caligrafy Quill Course

Caligrafy: Build Once, Experience Everywhere

Build once, experience everywhere, from zero. In this course you build Bookshelf, a small catalog of books and authors, the Caligrafy way: every feature is written once, as a capability, and every experience of the application uses it: web pages, a REST API for other programs, AI agents such as Claude, a Vue app, and an app for phones and tablets. The same rules, the same permissions and the same audit log everywhere. And it ends on the internet: the last lesson puts Bookshelf online, so you go from an idea to an application anyone can open.

In a hurry? The Quickstart with Claude takes an idea of yours to an application online in one conversation (/caligrafy-quill:idea). This course is the same journey, one step at a time, so that you understand and can change everything Claude does.

You need a little HTML, CSS, JavaScript, PHP and SQL. Everything else (Docker, Caligrafy, Pug, Vue, Vite, MCP) is explained when it first appears. You do not install PHP or MySQL: they run in Docker.

What you will have at the end

Experience What it does Lesson
A catalog page and a page per book browse, filter by author, add, edit, delete 06
A REST API GET /api/books, POST /api/books... for other programs 07
AI agent tools Claude or Cursor search the catalog, add books, lend them 08, 13
A Vue "finder" app search as you type 09
A phone and tablet app installable, a list, a form and a page per book in one Vue app 10
People and permissions sign in, administrators, scoped tokens for agents 11
Loans one more feature, built once, in every experience at once 13
Online Bookshelf on the internet at https://bookshelf-<you>.caligrafy.com, deployed from GitHub 14

All of it on ten capabilities of a few dozen lines of PHP each.

How to use this course

Every lesson has the same structure:

  1. New concepts: what you are about to use, and why.
  2. Manual track: numbered steps. Each step says what to type or which file to write (complete, no ...), what you should see, and how to check it. Do this track first: it is how you learn.
  3. If it doesn't work: the real errors of that step and their fix.
  4. With Claude: the exact prompt or plugin command for Claude Code (the caligrafy-quill plugin ships inside every project), what Claude should do, and a Check list to review it. Use it on a second pass, or for a lesson you already understand.
  5. Checkpoint: a commit and a git tag (lesson-05...). The finished code of every lesson is in the checkpoints/ folder of the course repository.
  6. A short quiz or exercise, with its solution under "Show the solution".

Lessons

Part 0 - Start

Part 1 - Build once

Part 2 - Experience everywhere

Part 3 - People and trust

Part 4 - Ship it

Appendix - Under the hood (optional, any time after lesson 06; the exercise of B after lesson 13)

The course uses Caligrafy Quill 2.13.0: Route::page and Caligrafy's look (the master site.pug, layout.css and look.css, 2.11.0 and later) for the pages of lesson 06, the list and its detail side by side (.cq-split, 2.12.0 and later) for the apps of lessons 09 and 10, and the production image and the deploy step of lesson 14 (2.4.0 and later). The full framework documentation is the Caligrafy Quill wiki. This course replaces the older caligrafy-course and caligrafy-vue-course.

Clone this wiki locally