Documentation Navigation
configure

Creating Custom Tools

You can write custom tools to extend Codey's capabilities. Custom tools are defined in TypeScript/JavaScript and loaded at startup.

#Tool Schema Template

A custom tool consists of a Zod parameters schema and an execution function:

typescript
import { z } from "zod";

export const myTool = {
  id: "my_custom_tool",
  description: "Does a specific calculation",
  parameters: z.object({
    value: z.number()
  }),
  execute: async (args) => {
    return {
      title: "Custom Tool Calculation",
      output: `Result is ${args.value * 2}`
    };
  }
};

#Loading Tools

Place your custom tool files in the project's .codey/tools/ folder, or register them in NPM packages loaded via the plugin config.