@smi0001/agentkit
v0.2.0
Published
Interactive launcher for the @smi0001 family of agents and tools (agent-binod, webhook-playground, and more).
Maintainers
Readme
@smi0001/agentkit
Interactive launcher for the @smi family of agents and developer tools. One command, a menu, and you're in.
npx @smi0001/agentkitWhat's inside
agentkit is a thin launcher. It doesn't reimplement any tool — it bundles the existing published packages and gives you a single entry point with a friendly menu.
| ID | Tool | Underlying package |
| ---------- | ------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| binod | AI-powered PR review (Anthropic) | @smi0001/agent-binod |
| webhook | Self-hosted webhook capture / inspection server | @smi0001/webhook-playground |
| db-sync | Sync a remote Postgres DB (sandman/UAT) to local + reconcile Sequelize | @smi0001/agent-db-sync |
More tools are on the way (doc generator, context builder, PR visualizer, …). Each will land as its own @smi0001/agent-* package and get a one-line registration here.
Install
# Run on demand
npx @smi0001/agentkit
# Or install globally
npm i -g @smi0001/agentkit
agentkit # interactive menu
smi # alias for the same thingYou can also keep using the underlying tools standalone — @smi0001/agent-binod, @smi0001/webhook-playground, and @smi0001/agent-db-sync are independently published and work the same on their own.
Usage
agentkit # interactive menu
agentkit list # list registered tools
agentkit binod # run agent-binod
agentkit binod --help # arguments after the id are forwarded to the tool
agentkit webhook # start the webhook playground
agentkit db-sync diff # any subcommand of agent-db-sync
agentkit -h # helpAnything you pass after the tool id is forwarded verbatim to that tool's CLI, so existing flags and workflows keep working.
Adding a new tool
A "tool" in agentkit is just an entry in src/plugins.ts:
{
id: 'mytool',
name: 'My new tool',
description: 'What it does, shown in the menu',
package: '@smi0001/agent-mytool', // npm package name
binName: 'mytool', // bin field in that package
}Steps:
- Build and publish the tool as its own npm package (
@smi0001/agent-<name>is the convention). - Add it as a
dependencyin package.json. - Register it in src/plugins.ts.
- Bump agentkit and republish.
Tools are spawned as subprocesses with inherited stdio, so they get full control of the terminal — no special integration needed.
Development
npm install
npm start # run via tsx (no build step)
npm run build # emit dist/
node dist/index.js # run the built artifactRequires Node 22+ (matches the strictest dependency).
Roadmap
@smi0001/agent-docgen— documenting agent@smi0001/agent-context— context-making agent for repos@smi0001/agent-pr-visualize— turn a PR diff into a pictorial feature summary@smi0001/agent-core— extracted shared primitives (prompt UI, Claude Agent SDK loop, config) once enough tools share code- LLM-assisted recovery for unknown migration errors in
agent-db-sync
License
MIT © Shammi Hans
