create_project
Initiate a new project to organize and track AI session handoffs, enabling structured task prioritization and workflow management for efficient progress monitoring.
Instructions
Create a new project for tracking AI session handoffs
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| description | Yes | Project description | |
| name | Yes | Project name |
Input Schema (JSON Schema)
{
"properties": {
"description": {
"description": "Project description",
"type": "string"
},
"name": {
"description": "Project name",
"type": "string"
}
},
"required": [
"name",
"description"
],
"type": "object"
}
Implementation Reference
- src/index.ts:108-129 (handler)The main handler function in ProjectManager that creates a new project by loading existing metadata, generating a unique ID from the name, validating uniqueness, creating ProjectMetadata, saving to projects.json, and initializing the project data file.async createProject(name: string, description: string): Promise<ProjectMetadata> { const projects = await this.loadMetadata(); const id = name.toLowerCase().replace(/[^a-z0-9]/g, '_'); if (projects.some(p => p.id === id)) { throw new ProjectError('Project with this name already exists', id); } const newProject: ProjectMetadata = { id, name, description, created: new Date().toISOString(), lastAccessed: new Date().toISOString() }; projects.push(newProject); await this.saveMetadata(projects); await this.saveProjectData(id, { nextSteps: [], workingSessions: [], handoffs: [] }); return newProject; }
- src/index.ts:302-309 (schema)Defines the JSON schema for input parameters of the create_project tool: required strings for 'name' and 'description'.inputSchema: { type: "object", properties: { name: { type: "string", description: "Project name" }, description: { type: "string", description: "Project description" } }, required: ["name", "description"] }
- src/index.ts:299-310 (registration)Registers the 'create_project' tool in the ListToolsRequestHandler response with its name, description, and input schema.{ name: "create_project", description: "Create a new project for tracking AI session handoffs", inputSchema: { type: "object", properties: { name: { type: "string", description: "Project name" }, description: { type: "string", description: "Project description" } }, required: ["name", "description"] } },
- src/index.ts:427-437 (registration)Dispatch case in CallToolRequestHandler that extracts arguments, calls projectManager.createProject, and returns the result serialized as text content.case "create_project": const project = await projectManager.createProject( args.name as string, args.description as string ); return { content: [{ type: "text", text: JSON.stringify(project, null, 2) }] };