File size: 3,253 Bytes
f2bc6e2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# FallnAI Autonomous Software Developer
# agent.py

from crewai import Agent
from crewai_tools import SerperDevTool

# Define search tool
search_tool = SerperDevTool()

# Define the Planner Agent
planner_agent = Agent(
    role="Software Architect",
    goal="""Create a detailed, step-by-step plan to develop a new software application 
            based on the user's request. Break down the project into manageable tasks 
            for other agents.""",
    backstory="""You are a seasoned software architect with a passion for designing elegant 
                 and efficient systems. You excel at translating vague ideas into clear, 
                 actionable project plans.""",
    verbose=True,
    allow_delegation=False
)

# Define the Coder Agent
coder_agent = Agent(
    role="Senior Python Developer",
    goal="""Write high-quality, bug-free, and well-commented Python code according to the 
            project plan. Ensure the code is clean and adheres to best practices.""",
    backstory="""You are a highly skilled Python developer with a knack for solving complex 
                 problems. You write robust code that is easy to read and maintain.""",
    verbose=True,
    allow_delegation=False
)

# Define the Tester Agent
tester_agent = Agent(
    role="Quality Assurance Engineer",
    goal="""Test the developed code for bugs, errors, and edge cases. Provide detailed 
            feedback to the Coder Agent to ensure the final product is flawless.""",
    backstory="""You are a meticulous and thorough QA engineer. You find pleasure in breaking 
                 code and providing constructive criticism to improve its quality.""",
    verbose=True,
    allow_delegation=False
)

# Define the UI Designer Agent
ui_designer_agent = Agent(
    role="Frontend Developer",
    goal="""Create a simple but functional user interface for the software. Use HTML and 
            CSS to design a clean and intuitive layout.""",
    backstory="""You are a creative frontend developer who can turn any concept into a 
                 visually appealing and easy-to-use interface. You specialize in rapid 
                 prototyping with basic web technologies.""",
    verbose=True,
    allow_delegation=False
)

# Define the Documentation Agent
docs_agent = Agent(
    role="Technical Writer",
    goal="""Write high-quality documentation, including a README.md file, for the software. 
            The documentation should explain the project's purpose, how to use it, and how to install dependencies.""",
    backstory="""You are a skilled technical writer who specializes in making complex topics easy to understand. 
                 You create excellent READMEs and other project documentation.""",
    verbose=True,
    allow_delegation=False
)

# Define the DevOps Agent
devops_agent = Agent(
    role="DevOps Engineer",
    goal="""Manage repository creation and push the final, working code to GitHub. 
            Automate the deployment process.""",
    backstory="""You are an expert in continuous integration and deployment. 
                 You handle all aspects of getting the software from development 
                 to a live, accessible repository.""",
    verbose=True,
    allow_delegation=False
)