create_project_structure
Generates organized folder structures for quantitative research projects using customizable templates to maintain consistency and streamline workflow setup.
Instructions
연구 프로젝트 폴더 구조 생성
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| project_name | Yes | 프로젝트명 | |
| base_path | Yes | 기본 경로 | |
| template | No | 템플릿 |
Implementation Reference
- src/tools/index.ts:1962-1978 (handler)The main handler function implementing the 'create_project_structure' tool logic. It extracts project_name and template from args, defines predefined folder structures for different templates (basic, replication, full), and returns the project structure details along with a README template.async function handleCreateProjectStructure(args: Record<string, unknown>) { const projectName = args.project_name as string; const template = (args.template as string) || "basic"; const structures: Record<string, string[]> = { basic: ["/code", "/data", "/output", "/docs"], replication: ["/code/analysis", "/code/data_prep", "/data/raw", "/data/processed", "/output/tables", "/output/figures", "/docs"], full: ["/code/00_master", "/code/01_data", "/code/02_analysis", "/code/03_robustness", "/data/raw", "/data/processed", "/data/temp", "/output/tables", "/output/figures", "/output/logs", "/docs", "/paper"] }; return { project_name: projectName, template, structure: structures[template], readme_template: "# Project Name\n\n## Structure\n\n## Replication Instructions\n\n## Data Sources\n\n## Contact" }; }
- src/tools/index.ts:898-899 (registration)Switch case in handleToolCall function that routes calls to the 'create_project_structure' tool to its handler function.case "create_project_structure": return handleCreateProjectStructure(args);
- src/tools/index.ts:758-769 (registration)Tool registration entry in the exported 'tools' array, defining the name, description, and input schema for 'create_project_structure'.name: "create_project_structure", description: "연구 프로젝트 폴더 구조 생성", inputSchema: { type: "object", properties: { project_name: { type: "string", description: "프로젝트명" }, base_path: { type: "string", description: "기본 경로" }, template: { type: "string", enum: ["basic", "replication", "full"], description: "템플릿" }, }, required: ["project_name", "base_path"], }, },
- src/tools/index.ts:760-768 (schema)Input schema definition specifying required parameters project_name and base_path, and optional template enum for the tool.inputSchema: { type: "object", properties: { project_name: { type: "string", description: "프로젝트명" }, base_path: { type: "string", description: "기본 경로" }, template: { type: "string", enum: ["basic", "replication", "full"], description: "템플릿" }, }, required: ["project_name", "base_path"], },