计划执行与检查节点
executing-plans
按既定实施计划完成工作,保持过程检查和反馈。
yaml-json-toml-loader【效率与协作】Generate multi-format configuration file loaders for YAML, JSON, and TOML formats.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
name: yaml-json-toml-loader description: Generate multi-format configuration file loaders for YAML, JSON, and TOML formats. allowed-tools: Read, Write, Edit, Bash, Glob, Grep graph: domains: [domain:software-engineering] specializations: [specialization:cli-mcp-development] skillAreas: [skill-area:cli-design, skill-area:parsing-data-formats] roles: [role:backend-engineer, role:platform-engineer] workflows: [workflow:feature-development] topics: [topic:developer-experience]
Generate multi-format config file loaders.
import fs from 'fs';
import path from 'path';
import yaml from 'yaml';
import toml from '@iarna/toml';
type ConfigFormat = 'json' | 'yaml' | 'toml' | 'auto';
export function loadConfigFile(filepath: string, format: ConfigFormat = 'auto'): unknown {
const content = fs.readFileSync(filepath, 'utf-8');
const ext = format === 'auto' ? path.extname(filepath).toLowerCase() : `.${format}`;
switch (ext) {
case '.json': return JSON.parse(content);
case '.yaml': case '.yml': return yaml.parse(content);
case '.toml': return toml.parse(content);
default: throw new Error(`Unknown config format: ${ext}`);
}
}
export function saveConfigFile(filepath: string, data: unknown, format: ConfigFormat = 'auto'): void {
const ext = format === 'auto' ? path.extname(filepath).toLowerCase() : `.${format}`;
let content: string;
switch (ext) {
case '.json': content = JSON.stringify(data, null, 2); break;
case '.yaml': case '.yml': content = yaml.stringify(data); break;
case '.toml': content = toml.stringify(data as any); break;
default: throw new Error(`Unknown format: ${ext}`);
}
fs.writeFileSync(filepath, content);
}