An opinionated, AI-native monorepo template. Pick the pieces you need; hull owns the structure, stack, tool versions and config, and keeps them current. Your app code stays yours.
A template defines the repo, a tool renders it and keeps it current, and a cache keeps its CI fast.
1
Template with hull
hull defines the structure, stack, tool versions and config as pieces: base, preact-app, ui-storybook, astro-site, hono-worker, rust-tool, tauri-app, docs.
gh:keelstackhq/hull//template
2
Bootstrap and update with splice
splice will render the pieces you pick into a new repo, then move it to newer template versions. Your edits are merged, never lost. Until it ships, hull's dev renderer does the first step.
splice new · splice update · splice check
3
Cached CI with hoard
hoard will give the generated repo's CI a shared Turborepo cache (planned; hoard is not released yet). Later runs replay every unchanged task.
uses: keelstackhq/hoard@v1
Get started
splice is not released yet, so today you render with hull's dev renderer. It needs Node 24 and pnpm 12; run pnpm install once in a hull checkout.
In a hull checkout
node scripts/render.mjs new --template template --out ../my-repo \
--piece base --piece preact-app:web --piece hono-worker:api --data scope=acme
cd ../my-repo && git init && pnpm install && pnpm run ci
When splice 0.1 is out, the equivalent is pnpm dlx @keelstackhq/splice new gh:keelstackhq/hull//template my-repo --piece ... (flags unconfirmed).