diff --git a/.github/ISSUE_TEMPLATE/custom.md b/.github/ISSUE_TEMPLATE/custom.md new file mode 100644 index 000000000..90b829277 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/custom.md @@ -0,0 +1,24 @@ +--- +name: Custom issue template +about: Describe this issue template's purpose here. +title: "[DOCS]" +labels: documentation +assignees: '' + +--- + +## Documentation Page + + +## Description + + +## Suggested Changes + + +## Additional Context + + +## Checklist +- [ ] I have searched the existing issues to make sure this is not a duplicate +- [ ] I have checked the latest version of the documentation to ensure this hasn't been addressed diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index c578e8daa..000000000 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -name: Feature request -about: Suggest a Feature to improve CrewAI -title: "[FEAT]" -labels: feature-request, improvement -assignees: '' - ---- - -**Is your feature request related to a problem? Please describe.** -A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] -If possible attach the Issue related to it - -**Describe the solution you'd like / Use-case** -A clear and concise description of what you want to happen. - -**Describe alternatives you've considered** -A clear and concise description of any alternative solutions or features you've considered. - -**Additional context** -Add any other context or screenshots about the feature request here. diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml new file mode 100644 index 000000000..624bf34f4 --- /dev/null +++ b/.github/workflows/stale.yml @@ -0,0 +1,26 @@ +name: Mark stale issues and pull requests + +on: + schedule: + - cron: '10 12 * * *' + workflow_dispatch: + +jobs: + stale: + runs-on: ubuntu-latest + permissions: + issues: write + pull-requests: write + steps: + - uses: actions/stale@v9 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + stale-issue-label: 'no-issue-activity' + stale-issue-message: 'This issue is stale because it has been open for 30 days with no activity. Remove stale label or comment or this will be closed in 5 days.' + close-issue-message: 'This issue was closed because it has been stalled for 5 days with no activity.' + days-before-issue-stale: 30 + days-before-issue-close: 5 + stale-pr-label: 'no-pr-activity' + stale-pr-message: 'This PR is stale because it has been open for 45 days with no activity.' + days-before-pr-stale: 45 + days-before-pr-close: -1 diff --git a/docs/getting-started/Start-a-New-CrewAI-Project-Template-Method.md b/docs/getting-started/Start-a-New-CrewAI-Project-Template-Method.md index bc3b03a7e..70877cb18 100644 --- a/docs/getting-started/Start-a-New-CrewAI-Project-Template-Method.md +++ b/docs/getting-started/Start-a-New-CrewAI-Project-Template-Method.md @@ -244,6 +244,10 @@ def run(): To run your project, use the following command: +```shell +$ crewai run +``` +or ```shell $ poetry run my_project ``` diff --git a/src/crewai/cli/cli.py b/src/crewai/cli/cli.py index 0a371b2c1..9d748715a 100644 --- a/src/crewai/cli/cli.py +++ b/src/crewai/cli/cli.py @@ -10,6 +10,7 @@ from crewai.memory.storage.kickoff_task_outputs_storage import ( from .evaluate_crew import evaluate_crew from .replay_from_task import replay_task_command from .reset_memories_command import reset_memories_command +from .run_crew import run_crew from .train_crew import train_crew @@ -157,5 +158,12 @@ def test(n_iterations: int, model: str): evaluate_crew(n_iterations, model) +@crewai.command() +def run(): + """Run the crew.""" + click.echo("Running the crew") + run_crew() + + if __name__ == "__main__": crewai() diff --git a/src/crewai/cli/run_crew.py b/src/crewai/cli/run_crew.py new file mode 100644 index 000000000..4c3f69a2d --- /dev/null +++ b/src/crewai/cli/run_crew.py @@ -0,0 +1,23 @@ +import subprocess + +import click + + +def run_crew() -> None: + """ + Run the crew by running a command in the Poetry environment. + """ + command = ["poetry", "run", "run_crew"] + + try: + result = subprocess.run(command, capture_output=False, text=True, check=True) + + if result.stderr: + click.echo(result.stderr, err=True) + + except subprocess.CalledProcessError as e: + click.echo(f"An error occurred while running the crew: {e}", err=True) + click.echo(e.output, err=True) + + except Exception as e: + click.echo(f"An unexpected error occurred: {e}", err=True) diff --git a/src/crewai/cli/templates/crew/README.md b/src/crewai/cli/templates/crew/README.md index 60dc617e9..0914be209 100644 --- a/src/crewai/cli/templates/crew/README.md +++ b/src/crewai/cli/templates/crew/README.md @@ -34,6 +34,10 @@ poetry install To kickstart your crew of AI agents and begin task execution, run this from the root folder of your project: +```bash +$ crewai run +``` +or ```bash poetry run {{folder_name}} ``` diff --git a/src/crewai/cli/templates/crew/pyproject.toml b/src/crewai/cli/templates/crew/pyproject.toml index 048782d1c..b74b8fd03 100644 --- a/src/crewai/cli/templates/crew/pyproject.toml +++ b/src/crewai/cli/templates/crew/pyproject.toml @@ -10,6 +10,7 @@ crewai = { extras = ["tools"], version = "^0.46.0" } [tool.poetry.scripts] {{folder_name}} = "{{folder_name}}.main:run" +run_crew = "{{folder_name}}.main:run" train = "{{folder_name}}.main:train" replay = "{{folder_name}}.main:replay" test = "{{folder_name}}.main:test"