Opinionated CLI framework packages for Inth apps. The monorepo keeps Inth app CLIs focused on app behavior while sharing the command-line framework, codemod runner, and agent skill installer glue.
- Key Features
- Prerequisites
- Quick Start
- Installation
- Usage
- Available Commands
- Contributing
- License
- Packages
- Example
- Release Workflow
- Design Goals
hexbusprovides typed CLI context, argument parsing, logging, prompts, help output, error handling, telemetry hooks, project detection, and update hints.@inth/hexbus-codemodsprovides a reusablets-morphcodemod harness with dry-run support, version gating, and fixture helpers.@inth/hexbus-skillswraps the externalskillsCLI so Inth app CLIs can install agent skill bundles through the caller's package manager.- Bun-first workspace scripts delegate through Turbo while package-specific tasks live in each package.
- Packages stay product-agnostic so downstream CLIs can compose shared mechanics without inheriting product copy or dependencies.
- Node.js 18.17.0 or later
- Bun 1.3.11 or later
- Git, for Changesets and workspace development
Install dependencies, then run the normal verification tasks from the workspace root:
bun install
bun run build
bun run test
bun run check-typesTry the minimal example CLI when you want to see the hexbus chassis in motion:
bun --cwd examples/minimal-cli run dev --helpbun install- Use the root scripts for workspace-wide checks. They delegate to Turbo and run the matching package scripts.
bun run build
bun run lint
bun run test
bun run check-types- Work inside a package when you need package-specific development commands.
bun --cwd packages/hexbus run dev
bun --cwd packages/codemods run test
bun --cwd packages/skills run lint- Publishable changes should include a Changeset before release.
bun run changesetbun run build: Build every workspace package through Turbo.bun run test: Run package test suites through Turbo.bun run check-types: Run TypeScript type checks across the workspace.bun run lint: Run package lint tasks.bun run fmt: Format and fix supported files with each package's formatter task.bun run changeset: Create a release note for publishable package changes.
- Use Bun for installs, scripts, tests, and one-off TypeScript execution.
- Keep root scripts as
turbo rundelegators. - Put package-specific task logic in each package's
package.json. - Add or update tests for behavior changes.
hexbus: opinionated CLI framework primitives for Inth apps.@inth/hexbus-codemods: reusable codemod runner and test utilities.@inth/hexbus-skills: small skill installer helper for invokingskills add.
The examples/minimal-cli package demonstrates a tiny CLI built on top of hexbus.
bun --cwd examples/minimal-cli run dev --helpThis repo uses Changesets for package versions and release notes.
bun run changeset
bun run version
bun run releaseRun verification before publishing:
bun run build
bun run test
bun run check-types- Keep Inth app CLIs responsible for app-specific commands, constants, auth, control-plane calls, and transforms.
- Keep shared Hexbus packages free of app-specific imports and copy.
- Prefer small explicit APIs over broad abstractions.
- Make package behavior easy to test in isolation.