mirror of
https://github.com/AutoMaker-Org/automaker.git
synced 2026-02-02 08:33:36 +00:00
feat: Add run init script functionality for worktrees
This commit introduces the ability to run initialization scripts for worktrees, enhancing the setup process. Key changes include: 1. **New API Endpoint**: Added a POST endpoint to run the init script for a specified worktree. 2. **Worktree Routes**: Updated worktree routes to include the new run init script handler. 3. **Init Script Service**: Enhanced the Init Script Service to support running scripts asynchronously and handling errors. 4. **UI Updates**: Added UI components to check for the existence of init scripts and trigger their execution, providing user feedback through toast notifications. 5. **Event Handling**: Implemented event handling for init script execution status, allowing real-time updates in the UI. This feature streamlines the workflow for users by automating the execution of setup scripts, improving overall project management.
This commit is contained in:
@@ -1716,6 +1716,47 @@ function createMockWorktreeAPI(): WorktreeAPI {
|
||||
},
|
||||
};
|
||||
},
|
||||
|
||||
getInitScript: async (projectPath: string) => {
|
||||
console.log('[Mock] Getting init script:', { projectPath });
|
||||
return {
|
||||
success: true,
|
||||
exists: false,
|
||||
content: '',
|
||||
path: `${projectPath}/.automaker/worktree-init.sh`,
|
||||
};
|
||||
},
|
||||
|
||||
setInitScript: async (projectPath: string, content: string) => {
|
||||
console.log('[Mock] Setting init script:', { projectPath, content });
|
||||
return {
|
||||
success: true,
|
||||
path: `${projectPath}/.automaker/worktree-init.sh`,
|
||||
};
|
||||
},
|
||||
|
||||
deleteInitScript: async (projectPath: string) => {
|
||||
console.log('[Mock] Deleting init script:', { projectPath });
|
||||
return {
|
||||
success: true,
|
||||
};
|
||||
},
|
||||
|
||||
runInitScript: async (projectPath: string, worktreePath: string, branch: string) => {
|
||||
console.log('[Mock] Running init script:', { projectPath, worktreePath, branch });
|
||||
return {
|
||||
success: true,
|
||||
message: 'Init script started (mock)',
|
||||
};
|
||||
},
|
||||
|
||||
onInitScriptEvent: (callback) => {
|
||||
console.log('[Mock] Subscribing to init script events');
|
||||
// Return unsubscribe function
|
||||
return () => {
|
||||
console.log('[Mock] Unsubscribing from init script events');
|
||||
};
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user