@krillto/krill
v0.1.0
Published
Open-source agent connectors. Copy & own.
Maintainers
Readme
🦐 Krill
Open-source agent connectors. Copy & own.
Krill is a CLI that copies API connector files into your project the same way shadcn/ui copies components. It is not a runtime library. You install a connector, the YAML and helper files land in your repo, and your team owns them from that point forward.
What Is Krill?
A Krill connector teaches an AI agent how to talk to an external API. Each connector ships with declarative YAML for reads, actions, and triggers, plus small TypeScript helper files for auth and response transforms. Krill copies those files into your workspace so you can audit, edit, and extend them without lock-in.
Quick Start
npx @krillto/krill init
npx @krillto/krill list
npx @krillto/krill add github gmail
npx @krillto/krill generate --skillAfter installation, review the copied connector files under your configured connectors directory and add your credentials to each connector's config.yaml and auth helper.
Why This Model
| Tool | Ownership model | Runtime dependency | Best for | | --- | --- | --- | --- | | Krill | Copy files into your repo | No | Teams that want editable agent connectors | | Zapier MCP | Hosted integration surface | Yes | Quick access to a large SaaS catalog | | AgentGate | Managed gateway | Yes | Centralized policy and hosted orchestration | | Peta | Platform-defined connectors | Usually | Teams buying into a broader agent platform |
Installation
Krill targets Node.js 22+ and ships as an ESM CLI.
npm install -D @krillto/krillOr run it directly with npx:
npx @krillto/krill listCLI Reference
krill init
Interactive setup for krill.json.
Questions:
- Connector install directory
- Agent framework: OpenClaw, Claude Code, or Custom
- TypeScript or JavaScript
- Whether to auto-generate connector
SKILL.mdfiles
Flags:
-y, --yes: accept defaults without prompts
krill add <connector...>
Copy one or more connectors from the bundled registry into your workspace.
Examples:
npx @krillto/krill add github
npx @krillto/krill add github gmail twitterBehavior:
- Reads the nearest
krill.jsonfrom the current directory or its parents - Copies YAML and helper files into
connectors_dir - Prompts before overwrite unless
--yesis passed - Updates the
installedarray inkrill.json - Generates a connector-local
SKILL.mdwhenauto_generate_skillis enabled - Converts
.tshelpers to.jsfor JavaScript projects
Flags:
-y, --yes: overwrite without prompting
krill list
Print the bundled registry catalog and highlight installed connectors when a krill.json is found.
krill diff <connector>
Compare your local connector files against the bundled upstream version and summarize what changed.
krill generate --skill
Generate a workspace-level SKILL.md from the installed connectors in your project.
krill generate --mcp
Generate krill.mcp.json describing installed connectors in a machine-readable format suitable for MCP-style tooling.
krill.json
Example:
{
"$schema": "https://krill.to/schema.json",
"connectors_dir": "./connectors",
"framework": "openclaw",
"typescript": true,
"auto_generate_skill": true,
"installed": [
{
"name": "github",
"version": "0.1.0",
"installed_at": "2026-03-13T00:00:00.000Z"
}
]
}Connector Spec
Each connector lives in its own directory and usually contains:
connector-name/
├── config.yaml
├── reads.yaml
├── actions.yaml
├── triggers.yaml
├── auth.ts
├── transform.ts
├── types.ts
└── README.mdconfig.yaml
Defines connector metadata, base URL, auth strategy, rate limiting, and default headers.
reads.yaml
Safe, read-only operations. Each read defines:
descriptionmethod(GET)pathparamsreturns
actions.yaml
Mutating operations. Each action defines:
descriptionmethod(POST,PUT,PATCH,DELETE)pathriskparams
triggers.yaml
Webhook or event-driven subscriptions that an agent can listen to.
Create A Custom Connector
- Start from an installed connector or create a new folder under your workspace connector directory.
- Write
config.yamlwith the service metadata and auth type. - Add your read-only endpoints to
reads.yaml. - Add write endpoints to
actions.yamlwith realistic risk levels. - Add webhook/event contracts to
triggers.yaml. - Implement custom auth and response mapping in
auth.tsandtransform.ts. - Run
npx @krillto/krill generate --skillto rebuild the workspace skill file.
Contributing
- Fork the repo.
- Add or improve connectors under
registry/. - Update tests and docs when connector counts or command behavior change.
- Run:
npm install
npm run lint
npm run build
npm test- Open a pull request with example usage and any schema updates.
Development Notes
- Runtime: Node.js 22+
- Language: TypeScript with strict mode
- CLI framework: Commander.js
- Build: tsup
- Tests: vitest
- Registry: bundled locally for v1, no remote fetches
Links
- https://krill.to
- https://discord.gg/krill
- https://twitter.com/krillto
