@brutalist/mcp
Version:
Deploy Claude, Codex & Gemini CLI agents to demolish your work before users do. Real file analysis. Brutal honesty. Now with intelligent pagination.
51 lines • 2.01 kB
TypeScript
import { z, ZodRawShape } from 'zod';
import { BrutalistPromptType } from '../cli-agents.js';
/**
* Configuration for a brutalist roast tool
*/
export interface ToolConfig {
/** Tool name (e.g., "roast_codebase") */
name: string;
/** Tool description shown to users */
description: string;
/** Analysis type for CLI orchestrator */
analysisType: BrutalistPromptType;
/** System prompt for the brutal AI critics */
systemPrompt: string;
/** Tool-specific schema extensions beyond base parameters */
schemaExtensions: ZodRawShape;
/** Fields to include in cache key generation */
cacheKeyFields: string[];
/** Optional custom context builder */
contextBuilder?: (args: any) => string;
/** Primary argument field name (targetPath, idea, etc.) */
primaryArgField: string;
}
/**
* Shared base schema for all roast tools
*/
export declare const BASE_ROAST_SCHEMA: {
context: z.ZodOptional<z.ZodString>;
workingDirectory: z.ZodOptional<z.ZodString>;
preferredCLI: z.ZodOptional<z.ZodEnum<["claude", "codex", "gemini"]>>;
verbose: z.ZodOptional<z.ZodBoolean>;
models: z.ZodOptional<z.ZodObject<{
claude: z.ZodOptional<z.ZodString>;
codex: z.ZodOptional<z.ZodString>;
gemini: z.ZodOptional<z.ZodEnum<["gemini-2.5-flash", "gemini-2.5-pro", "gemini-2.5-flash-lite"]>>;
}, "strip", z.ZodTypeAny, {
claude?: string | undefined;
codex?: string | undefined;
gemini?: "gemini-2.5-pro" | "gemini-2.5-flash" | "gemini-2.5-flash-lite" | undefined;
}, {
claude?: string | undefined;
codex?: string | undefined;
gemini?: "gemini-2.5-pro" | "gemini-2.5-flash" | "gemini-2.5-flash-lite" | undefined;
}>>;
offset: z.ZodOptional<z.ZodNumber>;
limit: z.ZodOptional<z.ZodNumber>;
cursor: z.ZodOptional<z.ZodString>;
context_id: z.ZodOptional<z.ZodString>;
force_refresh: z.ZodOptional<z.ZodBoolean>;
};
//# sourceMappingURL=tool-config.d.ts.map