task: task-1753636924-a1d4c708 - created
Change-Id: Ic78528c47ae38114b9b7504f1c4a76f95e93eb13
diff --git a/server/cmd/commands/assign_task.go b/server/cmd/commands/assign_task.go
new file mode 100644
index 0000000..4bb6f75
--- /dev/null
+++ b/server/cmd/commands/assign_task.go
@@ -0,0 +1,43 @@
+package commands
+
+import (
+ "fmt"
+
+ "github.com/spf13/cobra"
+)
+
+var assignTaskCmd = &cobra.Command{
+ Use: "assign-task [task-id] [agent-name]",
+ Short: "Assign a task to an agent",
+ Long: `Assign an existing task to a specific agent.
+
+Examples:
+ staff assign-task task-1234567890-abcd1234 backend-engineer
+ staff assign-task task-1234567890-abcd1234 frontend-engineer`,
+ Args: cobra.ExactArgs(2),
+ RunE: runAssignTask,
+}
+
+func runAssignTask(cmd *cobra.Command, args []string) error {
+ taskID := args[0]
+ agentName := args[1]
+
+ // Get the task
+ task, err := taskManager.GetTask(taskID)
+ if err != nil {
+ return fmt.Errorf("failed to get task: %w", err)
+ }
+
+ // Assign the task
+ task.Assignee = agentName
+ if err := taskManager.UpdateTask(task); err != nil {
+ return fmt.Errorf("failed to assign task: %w", err)
+ }
+
+ fmt.Printf("Task %s assigned to %s successfully!\n", taskID, agentName)
+ fmt.Printf("Title: %s\n", task.Title)
+ fmt.Printf("Priority: %s\n", task.Priority)
+ fmt.Printf("Status: %s\n", task.Status)
+
+ return nil
+}
\ No newline at end of file