Repository navigation
Releases: amitkaps/craftz
Release list
v0.18.1
CI runs prose style after verify, and still when verify fails. prose's own prose command is the build verify writes, so running it first failed prose's CI.
What's Changed
Fixed
- Run prose style after verify in CI, since prose's own prose is the build verify writes by @amitkaps in #259
Documentation
Full Changelog: v0.18.0...v0.18.1
v0.18.0
CI shows prose style's advice beside the lines a pull request changed, with a Style step that runs prose style --since HEAD^1 on pull requests and never fails, so an agent that opens one without pnpm pr still sees it. The reference moves to prose 0.12.0. The docs-plan rule says a ticked step leaves, and what it built goes into Where it is or the doc that states it, and craftz release's message says so too.
What's Changed
Added
Documentation
- Say where a ticked plan step goes and that prose's advice reaches a site, and name no private repository in the docs by @amitkaps in #255
- Plan: ready for 0.18.0 by @amitkaps in #257
Full Changelog: v0.17.0...v0.18.0
v0.17.0
Rules for the e2e workflow and the Playwright config, stops of 2 and 3 minutes for ci and 4 and 6 for e2e, and a rule that a flaky test's cause is fixed, never re-run.
What's Changed
Added
Faster and smaller
- Name every step in CI, so each one's time shows by @amitkaps in #242
- Stop ci at 2 minutes, and give e2e one reference workflow that stops at 6 by @amitkaps in #244
- Run ci and e2e on ubuntu-slim, stop at 3 and 8 minutes, and time Chromium's libraries apart by @amitkaps in #245
- Keep ci and e2e on ubuntu-latest, since slim ran craftz's ci four times slower by @amitkaps in #246
- Stop the verify step at 1 minute and the test:e2e step at 4, so their budgets are tried by @amitkaps in #247
- Stop the ci job at 2 minutes and e2e at 6, the step's stop plus its setup by @amitkaps in #248
- Hold a Playwright config to no retries, a trace per failure and forbidOnly, and read e2e.yml in the survey by @amitkaps in #249
- Say a flaky test's cause is the bug to fix, never a re-run, in the practice, AGENTS.md and lessons by @amitkaps in #250
- Stop the verify step at 2 minutes and the ci job at 3, since a private repository's verify takes 69 seconds on two cores by @amitkaps in #251
- Plan: ready for 0.17.0 by @amitkaps in #253
Full Changelog: v0.16.0...v0.17.0
v0.16.0
Cloud sessions work like a laptop. Claude Code's settings and two hooks are craftz's, the same in every repository, and a session installs Chromium's headless shell where a repository has Playwright. @playwright/test is pinned to the version whose Chromium the cloud image ships, so a session downloads nothing. craftz shot <url> <file.png> saves a page as a PNG. craftz rules <part> prints one part of the rules with Practice, a fifth of the whole. reference/cloud-setup.sh installs the reference's Node and pnpm into a cloud environment. pr, gone, status and release talk to GitHub over REST. Node is 26.13.0, the first LTS, and pnpm is 12.16.1. craftz status notes a test:e2e over its two-minute budget. AGENTS.md names outline.md and no longer imports it.
What's Changed
Added
- craftz rules reads one part, with Practice after it by @amitkaps in #228
- Claude Code's settings and hooks are craftz's, and the hook installs Playwright's Chromium by @amitkaps in #229
- The cloud setup script is craftz's, and reads its Node and pnpm from the reference by @amitkaps in #232
- Pin @playwright/test to the cloud image's Chromium, and craftz shot to look at a page by @amitkaps in #234
Fixed
- Review fixes for the REST calls: retries, statuses, errors, release identity by @amitkaps in #226
- The session-start hook installs Chromium with whichever Playwright command a repository has by @amitkaps in #230
Faster and smaller
- Use REST for GitHub in pr, gone and status by @amitkaps in #224
- Release builds its branch with git and opens its pull request over REST by @amitkaps in #225
- AGENTS.md names the outline and no longer imports it by @amitkaps in #227
- Node 26.13.0, the first LTS, and pnpm 12.16.1 by @amitkaps in #231
- status notes a test:e2e over its two-minute budget by @amitkaps in #237
Full Changelog: v0.15.0...v0.16.0
v0.15.0
Internal cleanup: rules split into one module per part, one shared gh, command runner and package.json reader. Settings results say whether they were fixed, pull request timing comes from GitHub's own record, lint errors are read from oxlint's JSON, and every fix is held to its check.
What's Changed
Fixed
Faster and smaller
- Time pull requests from GitHub's own record by @amitkaps in #214
- Tighter prose instructions in AGENTS.md, and a leaner @prose as an open question by @amitkaps in #219
Documentation
Full Changelog: v0.14.0...v0.15.0
v0.14.0
Practice is ten principles, in three moments of a change: before the code, while writing it, and after it runs. Each repository's lessons are grouped under them, so a lesson link to an old principle fails docs-lessons until the repository regroups. prose moves to 0.11.1, whose build no longer blocks after a stopped verify. A failed step in pr or gone says so in one line.
What's Changed
Fixed
Full Changelog: v0.13.0...v0.14.0
v0.13.0
The principles the repositories' lessons share become a part of the rules, Practice, and craftz follows them itself. Each lessons.md groups its lessons under the rule each one led to, and craftz check holds its links into the rules to ids that exist. toolchain-lint turns on no-empty, so an empty catch says why. AGENTS.md says when to read the rules and when a lesson is worth adding. The note on a slow verify names its slowest step. When a repository moves: run craftz fix, then give each empty catch a comment that says why.
What's Changed
Added
- docs-lessons holds a lesson's link into the rules to an id they have by @amitkaps in #175
- gone merges the branch's pull request once its checks pass by @amitkaps in #176
- An empty catch says why, which toolchain-lint checks by @amitkaps in #179
- The note on a slow verify names its slowest step by @amitkaps in #182
Fixed
Documentation
- Practice: the principles the lessons share become a part of the rules by @amitkaps in #174
- AGENTS.md says when to read the rules, and when a lesson is worth adding by @amitkaps in #178
Full Changelog: v0.12.0...v0.13.0
v0.12.0
A static site can be built by SvelteKit's static adapter, and Svelte's editor settings follow the svelte dependency. A package for browsers leaves Node's own modules out of its bundle. verify has a 10 second budget, which status notes, and CI stops a job at 10 minutes. Upgrading writes the new ci.yml, and a package that packs for browsers gets pack.deps.neverBundle.
What's Changed
Added
- verify has a 10 second budget, which status notes, and CI stops a job at 10 minutes by @amitkaps in #163
Fixed
- align reports only what moved, craftz's all runs build, and a chained verify moves as far as it can by @amitkaps in #160
- A package for browsers leaves Node's own modules out of its bundle, so Rolldown doesn't warn on them by @amitkaps in #165
- A static site can be SvelteKit's, and Svelte's editor settings follow svelte by @amitkaps in #166
Faster and smaller
Full Changelog: v0.11.0...v0.12.0
v0.11.0
craftz is run, never imported. Every config writes out what the rules set: vite.config.ts its fmt, lint, a package's publint, types and platform, and the browsers a build targets, and tsconfig.json its compiler options. The craftz() plugin and the package's main entry are gone. A static site's cloudflare.config.ts is cf's own format, export default { worker: {…} }, with its compatibility date, workersDev: false and previewUrls: false written out, and site() and @amitkaps/craftz/cloudflare are gone.
craftz upgrade writes all of it in. By hand: edit comments that still say craftz() sets the format, and move a verify that chains its steps with && to vp run --log grouped all, as scripts-verify says.
What's Changed
Breaking
- verify runs check, test, build and site side by side by @amitkaps in #148
- Every config writes out what the rules set, and craftz() is gone by @amitkaps in #153
- cloudflare.config.ts is written as cf's config is, and site() is gone by @amitkaps in #154
Fixed
Faster and smaller
- check asks npm nothing, and status notes a newer craftz by @amitkaps in #151
- The rules read configs by parsing them by @amitkaps in #152
Documentation
- The plan queues check not asking npm by @amitkaps in #144
- The plan queues the label race by @amitkaps in #145
- The site script is any tool's by @amitkaps in #149
- The plan asks whether craftz is run, never imported by @amitkaps in #150
Full Changelog: v0.10.0...v0.11.0
v0.10.0
A package's notes config moves from .github/release.yml to .github/notes.yml, and the releases-files fix deletes the old one, so every package changes when it moves. gone and pr --wait write outline.md once they're on main, where prose is installed, so the next session's AGENTS.md imports what's live. craftz deploy tries a bucket again when Cloudflare fails on its side, and craftz release asks for --notes when there's no terminal.
What's Changed
Fixed
- craftz release stops without a terminal and asks for --notes by @amitkaps in #137
- The notes' config moves to .github/notes.yml, apart from the release workflow by @amitkaps in #138
- craftz deploy tries a bucket again when Cloudflare fails on its side by @amitkaps in #139
Faster and smaller
Documentation
Full Changelog: v0.9.0...v0.10.0