diff --git a/docs/how-to/Start-a-New-CrewAI-Project.md b/docs/how-to/Start-a-New-CrewAI-Project.md new file mode 100644 index 0000000000..b34a4cf773 --- /dev/null +++ b/docs/how-to/Start-a-New-CrewAI-Project.md @@ -0,0 +1,137 @@ +--- +title: Starting a New CrewAI Project +description: A comprehensive guide to starting a new CrewAI project, including the latest updates and project setup methods. +--- + +# Starting Your CrewAI Project + +Welcome to the ultimate guide for starting a new CrewAI project. This document will walk you through the steps to create, customize, and run your CrewAI project, ensuring you have everything you need to get started. + +## Prerequisites + +We assume you have already installed CrewAI. If not, please refer to the [installation guide](how-to/Installing-CrewAI.md) to install CrewAI and its dependencies. + +## Creating a New Project + +To create a new project, run the following CLI command: + +```shell +$ crewai create my_project +``` + +This command will create a new project folder with the following structure: + +```shell +my_project/ +├── .gitignore +├── pyproject.toml +├── README.md +└── src/ + └── my_project/ + ├── __init__.py + ├── main.py + ├── crew.py + ├── tools/ + │ ├── custom_tool.py + │ └── __init__.py + └── config/ + ├── agents.yaml + └── tasks.yaml +``` + +You can now start developing your project by editing the files in the `src/my_project` folder. The `main.py` file is the entry point of your project, and the `crew.py` file is where you define your agents and tasks. + +## Customizing Your Project + +To customize your project, you can: +- Modify `src/my_project/config/agents.yaml` to define your agents. +- Modify `src/my_project/config/tasks.yaml` to define your tasks. +- Modify `src/my_project/crew.py` to add your own logic, tools, and specific arguments. +- Modify `src/my_project/main.py` to add custom inputs for your agents and tasks. +- Add your environment variables into the `.env` file. + +### Example: Defining Agents and Tasks + +#### agents.yaml + +```yaml +researcher: + role: > + Job Candidate Researcher + goal: > + Find potential candidates for the job + backstory: > + You are adept at finding the right candidates by exploring various online + resources. Your skill in identifying suitable candidates ensures the best + match for job positions. +``` + +#### tasks.yaml + +```yaml +research_candidates_task: + description: > + Conduct thorough research to find potential candidates for the specified job. + Utilize various online resources and databases to gather a comprehensive list of potential candidates. + Ensure that the candidates meet the job requirements provided. + + Job Requirements: + {job_requirements} + expected_output: > + A list of 10 potential candidates with their contact information and brief profiles highlighting their suitability. +``` + +## Installing Dependencies + +To install the dependencies for your project, you can use Poetry. First, navigate to your project directory: + +```shell +$ cd my_project +$ poetry lock +$ poetry install +``` + +This will install the dependencies specified in the `pyproject.toml` file. + +## Interpolating Variables + +Any variable interpolated in your `agents.yaml` and `tasks.yaml` files like `{variable}` will be replaced by the value of the variable in the `main.py` file. + +#### agents.yaml + +```yaml +research_task: + description: > + Conduct a thorough research about the customer and competitors in the context + of {customer_domain}. + Make sure you find any interesting and relevant information given the + current year is 2024. + expected_output: > + A complete report on the customer and their customers and competitors, + including their demographics, preferences, market positioning and audience engagement. +``` + +#### main.py + +```python +# main.py +def run(): + inputs = { + "customer_domain": "crewai.com" + } + MyProjectCrew(inputs).crew().kickoff(inputs=inputs) +``` + +## Running Your Project + +To run your project, use the following command: + +```shell +$ poetry run my_project +``` + +This will initialize your crew of AI agents and begin task execution as defined in your configuration in the `main.py` file. + +## Deploying Your Project + +The easiest way to deploy your crew is through [CrewAI+](https://www.crewai.com/crewaiplus), where you can deploy your crew in a few clicks. \ No newline at end of file diff --git a/docs/index.md b/docs/index.md index eccf8831ad..2fd9e066bb 100644 --- a/docs/index.md +++ b/docs/index.md @@ -48,6 +48,11 @@ Cutting-edge framework for orchestrating role-playing, autonomous AI agents. By

How-To Guides