Babysitter cross-platform-path-handler
Generate cross-platform path handling utilities for Windows, macOS, and Linux compatibility in CLI applications.
install
source · Clone the upstream repo
git clone https://github.com/a5c-ai/babysitter
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/a5c-ai/babysitter "$T" && mkdir -p ~/.claude/skills && cp -r "$T/library/specializations/cli-mcp-development/skills/cross-platform-path-handler" ~/.claude/skills/a5c-ai-babysitter-cross-platform-path-handler && rm -rf "$T"
manifest:
library/specializations/cli-mcp-development/skills/cross-platform-path-handler/SKILL.mdsource content
Cross-Platform Path Handler
Generate cross-platform path handling utilities.
Capabilities
- Normalize path separators
- Handle home directory expansion
- Create platform-specific path utilities
- Configure config directory locations
- Handle UNC paths on Windows
- Generate path manipulation helpers
Generated Patterns
TypeScript Path Utilities
import path from 'path'; import os from 'os'; import fs from 'fs'; export function normalizePath(p: string): string { return p.replace(/\\/g, '/'); } export function toPlatformPath(p: string): string { return p.split('/').join(path.sep); } export function expandHome(p: string): string { if (p.startsWith('~')) { return path.join(os.homedir(), p.slice(1)); } return p; } export function getConfigDir(appName: string): string { const platform = process.platform; if (platform === 'win32') { return path.join(process.env.APPDATA || '', appName); } if (platform === 'darwin') { return path.join(os.homedir(), 'Library', 'Application Support', appName); } return path.join(process.env.XDG_CONFIG_HOME || path.join(os.homedir(), '.config'), appName); } export function getDataDir(appName: string): string { const platform = process.platform; if (platform === 'win32') { return path.join(process.env.LOCALAPPDATA || '', appName); } if (platform === 'darwin') { return path.join(os.homedir(), 'Library', 'Application Support', appName); } return path.join(process.env.XDG_DATA_HOME || path.join(os.homedir(), '.local', 'share'), appName); } export function getCacheDir(appName: string): string { const platform = process.platform; if (platform === 'win32') { return path.join(process.env.LOCALAPPDATA || '', appName, 'Cache'); } if (platform === 'darwin') { return path.join(os.homedir(), 'Library', 'Caches', appName); } return path.join(process.env.XDG_CACHE_HOME || path.join(os.homedir(), '.cache'), appName); }
Target Processes
- cross-platform-cli-compatibility
- configuration-management-system
- cli-application-bootstrap