mirror of
https://github.com/AutoMaker-Org/automaker.git
synced 2026-01-31 06:42:03 +00:00
- Added a new keyboard shortcut 'P' to open the project picker dropdown.
- Implemented functionality to select projects using number keys, allowing users to quickly switch between projects.
- Updated the feature list to include a new feature for project selection via keyboard shortcuts.
- Removed obsolete coding_prompt.md and added initializer_prompt.md for better session management.
- Introduced context management for features, enabling reading, writing, and deleting context files.
- Updated package dependencies to include @radix-ui/react-checkbox for enhanced UI components.
This commit enhances user experience by streamlining project selection and improves the overall feature management process.
🤖 Generated with Claude Code
56 lines
2.0 KiB
JavaScript
56 lines
2.0 KiB
JavaScript
const { createSdkMcpServer, tool } = require("@anthropic-ai/claude-agent-sdk");
|
|
const { z } = require("zod");
|
|
|
|
/**
|
|
* MCP Server Factory - Creates custom MCP servers with tools
|
|
*/
|
|
class McpServerFactory {
|
|
/**
|
|
* Create a custom MCP server with the UpdateFeatureStatus tool
|
|
* This tool allows Claude Code to safely update feature status without
|
|
* directly modifying the feature_list.json file, preventing race conditions
|
|
* and accidental state restoration.
|
|
*/
|
|
createFeatureToolsServer(updateFeatureStatusCallback, projectPath) {
|
|
return createSdkMcpServer({
|
|
name: "automaker-tools",
|
|
version: "1.0.0",
|
|
tools: [
|
|
tool(
|
|
"UpdateFeatureStatus",
|
|
"Update the status of a feature in the feature list. Use this tool instead of directly modifying feature_list.json to safely update feature status.",
|
|
{
|
|
featureId: z.string().describe("The ID of the feature to update"),
|
|
status: z.enum(["backlog", "in_progress", "verified"]).describe("The new status for the feature")
|
|
},
|
|
async (args) => {
|
|
try {
|
|
console.log(`[McpServerFactory] UpdateFeatureStatus tool called: featureId=${args.featureId}, status=${args.status}`);
|
|
|
|
// Call the provided callback to update feature status
|
|
await updateFeatureStatusCallback(args.featureId, args.status, projectPath);
|
|
|
|
return {
|
|
content: [{
|
|
type: "text",
|
|
text: `Successfully updated feature ${args.featureId} to status "${args.status}"`
|
|
}]
|
|
};
|
|
} catch (error) {
|
|
console.error("[McpServerFactory] UpdateFeatureStatus tool error:", error);
|
|
return {
|
|
content: [{
|
|
type: "text",
|
|
text: `Failed to update feature status: ${error.message}`
|
|
}]
|
|
};
|
|
}
|
|
}
|
|
)
|
|
]
|
|
});
|
|
}
|
|
}
|
|
|
|
module.exports = new McpServerFactory();
|