You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(cli): add CrewAI migration wizard and smart dependency handling
- Add --migratecrew flag for easy migration from CrewAI projects
- Implement environment-aware dependency management
- Add automatic UV detection and setup
- Update CLI documentation with new features
This wizard will help you migrate your existing CrewAI project to AgentStack.
413
+
We'll create placeholders for your agents and tasks - you'll just need to fill in your existing implementations.
414
+
""")
415
+
416
+
make_agent=True
417
+
agents= []
418
+
whilemake_agent:
419
+
print('---')
420
+
print(f"Agent #{len(agents)+1}")
421
+
agent= {}
422
+
423
+
# Only ask for the name, provide placeholders for the rest
424
+
agent['name'] =get_validated_input(
425
+
"What's the name of this agent from your CrewAI project? (snake_case)",
426
+
min_length=3,
427
+
snake_case=True
428
+
)
429
+
430
+
agent['role'] ="# Replace with your CrewAI agent's role:\n# Example: agent.role = 'Senior Data Analyst'"
431
+
agent['goal'] ="# Replace with your CrewAI agent's goal:\n# Example: agent.goal = 'Analyze and interpret complex data sets'"
432
+
agent['backstory'] ="# Replace with your CrewAI agent's backstory:\n# Example: agent.backstory = 'Expert in data analysis with 10 years of experience'"
433
+
agent['model'] =PREFERRED_MODELS[0] # Default to first model, can be changed later
434
+
435
+
agents.append(agent)
436
+
make_agent=inquirer.confirm(message="Add another agent from your CrewAI project?")
437
+
438
+
print('')
439
+
forxinrange(3):
440
+
time.sleep(0.3)
441
+
print('.')
442
+
print('Great! Agents structure created! Now for the tasks...')
443
+
print('')
444
+
445
+
make_task=True
446
+
tasks= []
447
+
whilemake_task:
448
+
print('---')
449
+
print(f"Task #{len(tasks) +1}")
450
+
task= {}
451
+
452
+
# Only ask for name and assigned agent
453
+
task['name'] =get_validated_input(
454
+
"What's the name of this task from your CrewAI project? (snake_case)",
455
+
min_length=3,
456
+
snake_case=True
457
+
)
458
+
459
+
task['description'] ="# Replace with your CrewAI task's description:\n# Example: task.description = 'Analyze monthly sales data'"
460
+
task['expected_output'] ="# Replace with your CrewAI task's expected output:\n# Example: task.expected_output = 'A comprehensive sales analysis report'"
461
+
462
+
task['agent'] =inquirer.list_input(
463
+
message="Which agent should be assigned this task?",
464
+
choices=[a['name'] forainagents],
465
+
)
466
+
467
+
tasks.append(task)
468
+
make_task=inquirer.confirm(message="Add another task from your CrewAI project?")
0 commit comments