UNPKG

@lsendel/claude-agents

Version:

Supercharge Claude Code with specialized AI sub-agents for code review, testing, debugging, documentation & more. Now with process & standards management! Easy CLI tool to install, manage & create custom AI agents for enhanced development workflow

92 lines (76 loc) 2.71 kB
import { homedir } from 'os'; import { join } from 'path'; import { existsSync, mkdirSync } from 'fs'; export const CLAUDE_USER_DIR = join(homedir(), '.claude'); export const CLAUDE_USER_AGENTS_DIR = join(CLAUDE_USER_DIR, 'agents'); export const CLAUDE_USER_PROCESSES_DIR = join(CLAUDE_USER_DIR, 'processes'); export const CLAUDE_USER_STANDARDS_DIR = join(CLAUDE_USER_DIR, 'standards'); // Commands directory no longer used - agents use description-based delegation // export const CLAUDE_USER_COMMANDS_DIR = join(CLAUDE_USER_DIR, 'commands'); export const CLAUDE_PROJECT_DIR = join(process.cwd(), '.claude'); export const CLAUDE_PROJECT_AGENTS_DIR = join(CLAUDE_PROJECT_DIR, 'agents'); export const CLAUDE_PROJECT_PROCESSES_DIR = join( CLAUDE_PROJECT_DIR, 'processes', ); export const CLAUDE_PROJECT_STANDARDS_DIR = join( CLAUDE_PROJECT_DIR, 'standards', ); // Commands directory no longer used - agents use description-based delegation // export const CLAUDE_PROJECT_COMMANDS_DIR = join(CLAUDE_PROJECT_DIR, 'commands'); export const AGENTS_CONFIG_FILE = '.claude-agents.json'; export function getAgentsDir(isProject = false) { return isProject ? CLAUDE_PROJECT_AGENTS_DIR : CLAUDE_USER_AGENTS_DIR; } export function getProcessesDir(isProject = false) { return isProject ? CLAUDE_PROJECT_PROCESSES_DIR : CLAUDE_USER_PROCESSES_DIR; } export function getStandardsDir(isProject = false) { return isProject ? CLAUDE_PROJECT_STANDARDS_DIR : CLAUDE_USER_STANDARDS_DIR; } // Commands directory no longer used - agents use description-based delegation // export function getCommandsDir(isProject = false) { // return isProject ? CLAUDE_PROJECT_COMMANDS_DIR : CLAUDE_USER_COMMANDS_DIR; // } export function getConfigPath(isProject = false) { const baseDir = isProject ? process.cwd() : homedir(); return join(baseDir, AGENTS_CONFIG_FILE); } export function ensureDirectories() { const dirs = [ CLAUDE_USER_DIR, CLAUDE_USER_AGENTS_DIR, CLAUDE_USER_PROCESSES_DIR, CLAUDE_USER_STANDARDS_DIR, ]; dirs.forEach((dir) => { if (!existsSync(dir)) { mkdirSync(dir, { recursive: true }); } }); } export function ensureProjectDirectories() { const dirs = [ CLAUDE_PROJECT_DIR, CLAUDE_PROJECT_AGENTS_DIR, CLAUDE_PROJECT_PROCESSES_DIR, CLAUDE_PROJECT_STANDARDS_DIR, ]; dirs.forEach((dir) => { if (!existsSync(dir)) { mkdirSync(dir, { recursive: true }); } }); } export function getUserAgentsDir() { return CLAUDE_USER_AGENTS_DIR; } export function getProjectAgentsDir() { return CLAUDE_PROJECT_AGENTS_DIR; } export function ensureDir(dir) { if (!existsSync(dir)) { mkdirSync(dir, { recursive: true }); } }