Development
Run checks, build the package, and maintain the Blume documentation website.
This project uses Vite+ with the Node.js version in
.node-version and the package manager declared in package.json.
vp install
vp check
vp test run
vp run test:coverage # enforces 100% runtime coverage
vp pack
Use vp pack or vp run build to build this library, including ESM, CJS, and
TypeScript declarations. vp build runs Vite’s application build and expects an
HTML entry point. Formatting, linting, and packaging options live in vite.config.ts.
Documentation website
The source pages are plain Markdown in docs/. Blume reads docs/blume.config.ts and generates navigation, syntax highlighting, local search, and static pages.
Run these commands from the repository root:
vp run docs:dev
vp run docs:validate
vp run docs:build
vp run docs:preview
The site builds to docs/dist/. The package still builds to the root dist/ with vp pack; neither build replaces the other. Generated .blume/ directories and website output are ignored by Git and excluded from the npm package.
Each page starts with title and description frontmatter. Begin the body with level-two headings because Blume supplies the page title. Add new page routes to the sidebar in docs/blume.config.ts. Use root-relative website links, such as /guides/expiration, and run docs:validate to check routes and anchors. Use repository URLs for files that are not website pages.
Hosting the static site
Configure a static host to install development dependencies, run vp run docs:build, and publish docs/dist. The repository pins its Node and package-manager versions. Install Vite+ on the build host, or run the underlying blume build command from docs/ with the package manager’s script environment.
The production site URL is https://ultrastorage.dev, configured through deployment.site in docs/blume.config.ts. For a project hosted below a URL path, also set deployment.base.
See the Blume deployment guide for host-specific settings, and the package spec and changelog for design and release notes.
Cloudflare Workers
The root wrangler.jsonc configures the ultrastorage Worker to serve docs/dist as static assets. Configure the connected Git repository in Cloudflare Workers Builds with these settings:
| Setting | Value |
|---|---|
| Worker name | ultrastorage |
| Production branch | main |
| Root directory | Repository root |
| Build command | pnpm run docs:build |
| Deploy command | npx wrangler deploy |
| Preview deploy command | npx wrangler versions upload |
| Build variable | PNPM_VERSION=10.30.3 |
Leave automatic dependency installation enabled, including development dependencies. Cloudflare reads the Node version from .node-version.
The configured deployment.site supplies the production URL for canonical links and the sitemap. Blume’s automatic Cloudflare site URL detection targets Pages, so Workers deployments need an explicit URL. Add ultrastorage.dev as a custom domain in the Worker’s Domains & Routes settings.