Skip to content

Installing & Managing Plugins

Agento supports loading plugins from both local files and published npm packages.

Plugins can be registered in two scopes:

  1. Project Scope: <workspace>/.agento/plugins/ or listed in <workspace>/.agento/config.json.
  2. Global Scope: ~/.config/agento/plugins/ or listed in ~/.config/agento/config.json.

To enable plugins in your repository, list their package names or file paths in .agento/config.json:

{
"$schema": "https://agento.dev/schemas/config.json",
"plugins": [
"@my-org/agento-plugin-database",
"@community/agento-plugin-docker",
"./.agento/plugins/local-rules.ts"
]
}

For project-specific tools, place your plugin TypeScript file directly inside .agento/plugins/:

.agento/
├── config.json
└── plugins/
└── staging-deployer.ts

In .agento/plugins/staging-deployer.ts:

import { definePlugin } from "@agento/sdk";
import { tool } from "ai";
import { z } from "zod";
export default definePlugin({
id: "com.myrepo.staging",
name: "Staging Deployment Tools",
version: "0.1.0",
registerTools() {
return {
trigger_staging_deploy: tool({
description: "Trigger a deployment to the team staging environment",
inputSchema: z.object({
branch: z.string().describe("Git branch to deploy"),
}),
execute: async ({ branch }) => {
return { status: "queued", branch, timestamp: new Date().toISOString() };
},
}),
};
},
});

Agento automatically loads and activates TypeScript plugins from .agento/plugins/ at session startup.