hun

@huninprogress/toolkit (0.2.8)

Published 2026-08-21 16:12:34 +07:00 by builder in hun/huninprogress

Installation

@huninprogress:registry=
npm install @huninprogress/toolkit@0.2.8
"@huninprogress/toolkit": "0.2.8"

About this package

@huninprogress/toolkit

Bootstrap tool for @huninprogress projects. Two modes:

  1. init — scaffold a brand new Vite + React 19 + Tailwind CSS 4 project from scratch.
  2. Default — add agent skills and extract the UI theme into an existing project.

bootstrap init — new project from scratch

Scaffolds a full, runnable SPA, installs dependencies, copies the theme, and installs skills.

# Interactive
bootstrap init

# Pass the directory directly
bootstrap init my-app

# Non-interactive (uses defaults)
bootstrap init my-app --yes

What gets created

my-app/
  dockerfile              multi-stage Go + Bun build
  .gitignore
  .env                    SU_EMAIL, SU_PASSWORD, GH_REGISTRY_TOKEN (gitignored)
  .env.example            safe template to commit
  app/
    package.json          react 19, react-router 7, tailwindcss 4, @huninprogress/* ...
    vite.config.ts        Vite 8 + React + Tailwind CSS + PWA
    eslint.config.js      ESLint 9 flat config with TypeScript + React hooks rules
    tsconfig.json
    tsconfig.app.json     Path aliases: @pages, @signals, @components, @utils, @pocket ...
    tsconfig.node.json
    index.html
    .npmrc                @huninprogress registry routing
    .env                  POCKET_URL/ID/PASSWORD for pocketgen (gitignored)
    .env.example          safe template to commit
    src/
      main.tsx            createRoot + StrictMode + Toasts
      App.tsx             Minimal placeholder component
      index.css           Tailwind + theme imports + @source for ui/editor
      theme.css           Copied from @huninprogress/ui (customise CSS variables here)
  server/
    main.go               PocketBase bootstrap + static file serving
    go.mod                module {{project-name}}, pocketbase dep
    go.sum                generated by go mod tidy
    hooks/                README placeholder — add hook files here
    migrations/
      1_init.go           Loads snapshots/v0.json on first run
    snapshots/
      v0.json             Empty collection snapshot — export schema here after setup
  app/.agents/skills/@huninprogress/
    ui/skills.md
    tiny-state-manager/skills.md
    utils/skills.md
    editor/skills.md
    pocketgen/skills.md

After scaffolding, the tool runs bun install in app/ and go mod tidy in server/ automatically.

Options

Flag Description
-y, --yes Non-interactive — use all defaults
-f, --force Overwrite if the project already exists

Next steps after init

# Terminal 1 — backend
cd my-app/server && go run main.go serve

# Terminal 2 — frontend
cd my-app/app && bun dev

# After designing your schema in the PocketBase admin UI (http://localhost:8090/_/)
cd my-app/app && bunx pocketgen

Default mode — add skills/theme to an existing project

Run with no subcommand inside an existing project that already has @huninprogress packages installed.

bootstrap

Detects installed @huninprogress packages, then interactively asks which skills to install and whether to extract the theme.

Monorepo-aware: if run at the workspace root, processes each workspace that uses @huninprogress packages.

Options

Flag Description
--skills-dir=<path> Override skills output directory (default: .agents/skills/@huninprogress)
--theme-path=<path> Override theme output path (default: src/theme.css)
-y, --yes Non-interactive with defaults
-h, --help Show help

Development

# Run directly
bun run index.ts

# Build (outputs to dist/)
bun run build

Future TODOs

  • Forgejo CI workflow — scaffold .forgejo/workflows/deploy.yaml for push-to-master Docker build + push.
  • pocketgen initial run — after server is running, optionally run bunx pocketgen to generate the initial pocket-types.ts.
Details
npm
2026-08-21 16:12:34 +07:00
3
latest
52 KiB
Assets (1)
Versions (6) View all
0.2.8 2026-08-21
0.2.6 2026-07-24
0.2.4 2026-07-23
0.2.3 2026-07-22
0.2.2 2026-06-30