diff --git a/.github/scripts/send_key.py b/.github/scripts/send_key.py index 2d9e72d9299..37fb4dcd011 100644 --- a/.github/scripts/send_key.py +++ b/.github/scripts/send_key.py @@ -170,10 +170,19 @@ def send_email(email, api_key, sendgrid_api_key): from_email = "Goose Team " subject = "🎉 Your Goose Contributor API Key" html_content = f""" -

Thanks for contributing to the Goose Recipe Cookbook!

-

Here's your $10 OpenRouter API key:

-

{api_key}

-

Happy vibe-coding!
– The Goose Team 🪿

+

Thank you for contributing to the Goose Recipe Cookbook!

+

🎉 Here's your $10 OpenRouter API key:

+
{api_key}
+

To use this in Goose (CLI or Desktop):

+ +

📚 Full setup instructions:
+ + https://block.github.io/goose/docs/getting-started/providers/#configure-provider

+

Happy coding!
– The Goose Team

""" message = Mail( from_email=from_email, diff --git a/.github/workflows/validate-recipe-pr.yml b/.github/workflows/validate-recipe-pr.yml index b80cf4b37af..7bad3916533 100644 --- a/.github/workflows/validate-recipe-pr.yml +++ b/.github/workflows/validate-recipe-pr.yml @@ -92,7 +92,7 @@ jobs: fi # Filter for recipe files only that were changed or added - RECIPE_FILES=$(echo "$CHANGED_FILES" | grep "^documentation/src/pages/recipes/data/recipes/" | grep -E "\.(yaml|yml)$" || true) + RECIPE_FILES=$(git diff --diff-filter=AM --name-only origin/${{ github.base_ref }}..HEAD | grep "^documentation/src/pages/recipes/data/recipes/" | grep -E "\.(yaml|yml)$" || true) if [ -z "$RECIPE_FILES" ]; then echo "No changed recipe files found in PR" diff --git a/documentation/src/pages/recipes/data/recipes/test-recipe.yaml b/documentation/src/pages/recipes/data/recipes/test-recipe.yaml deleted file mode 100644 index 39e1fb44e8c..00000000000 --- a/documentation/src/pages/recipes/data/recipes/test-recipe.yaml +++ /dev/null @@ -1,66 +0,0 @@ -version: 1.0.0 -title: Test Recipe -author: - contact: EbonyLouis -description: Analyzes code files for syntax and layout issues using available linting tools -instructions: You are a code quality expert that helps identify syntax and layout issues in code files -activities: - - Detect file type and programming language - - Check for available linting tools in the project - - Run appropriate linters for syntax and layout checking - - Provide recommendations if no linters are found -parameters: - - key: file_path - input_type: string - requirement: required - description: Path to the file you want to lint -extensions: - - type: builtin - name: developer - display_name: Developer - timeout: 300 - bundled: true -prompt: | - I need you to lint the file at {{ file_path }} for syntax and layout issues only. Do not modify the file - just report any problems you find. - - Here's what to do step by step: - - 1. **Verify the file exists and determine its type:** - - Check if {{ file_path }} exists - - Examine the file extension and content to determine the programming language/file type - - Focus on: Python (.py), JavaScript (.js, .jsx, .ts, .tsx), YAML (.yaml, .yml), HTML (.html, .htm), and CSS (.css) - - 2. **Check for available linting tools in the project:** - - Look for common linting tools and configurations in the current project: - - Python: flake8, pylint, black, ruff, pycodestyle, autopep8 - - JavaScript/TypeScript: eslint, prettier, jshint, tslint - - YAML: yamllint, yq - - HTML: htmlhint, tidy - - CSS: stylelint, csslint - - Check for configuration files like .eslintrc, .flake8, pyproject.toml, .yamllint, etc. - - Look in package.json, requirements.txt, or other dependency files - - 3. **Run appropriate linting tools:** - - If linting tools are found, run them only on the specified file - - Use syntax-only or layout-only flags where available (e.g., `flake8 --select=E,W` for Python) - - Capture and report the output clearly - - 4. **If no linters are found, provide recommendations:** - - For Python files: Suggest flake8, black, or ruff - - For JavaScript/TypeScript: Suggest ESLint and Prettier - - For YAML: Suggest yamllint - - For HTML: Suggest htmlhint or W3C validator - - For CSS: Suggest stylelint - - Provide installation commands and basic usage examples - - 5. **Report results:** - - Clearly summarize any syntax or layout issues found - - If no issues are found, confirm the file appears to be clean - - If linting tools weren't available, explain what you checked manually and provide tool recommendations - - Remember: - - Only check for syntax and layout issues, don't suggest code changes - - Do not change the file on behalf of the user - - Use tools that are already available in the project when possible - - Be helpful by suggesting appropriate tools if none are found - - Focus on the file types specified: Python, JavaScript, YAML, HTML, and CSS diff --git a/documentation/src/pages/recipes/data/recipes/test-recipe2.yaml b/documentation/src/pages/recipes/data/recipes/test-recipe2.yaml deleted file mode 100644 index 2705f531816..00000000000 --- a/documentation/src/pages/recipes/data/recipes/test-recipe2.yaml +++ /dev/null @@ -1,66 +0,0 @@ -version: 1.0.0 -title: Test Recipe 2 -author: - contact: EbonyLouis -description: Analyzes code files for syntax and layout issues using available linting tools -instructions: You are a code quality expert that helps identify syntax and layout issues in code files -activities: - - Detect file type and programming language - - Check for available linting tools in the project - - Run appropriate linters for syntax and layout checking - - Provide recommendations if no linters are found -parameters: - - key: file_path - input_type: string - requirement: required - description: Path to the file you want to lint -extensions: - - type: builtin - name: developer - display_name: Developer - timeout: 300 - bundled: true -prompt: | - I need you to lint the file at {{ file_path }} for syntax and layout issues only. Do not modify the file - just report any problems you find. - - Here's what to do step by step: - - 1. **Verify the file exists and determine its type:** - - Check if {{ file_path }} exists - - Examine the file extension and content to determine the programming language/file type - - Focus on: Python (.py), JavaScript (.js, .jsx, .ts, .tsx), YAML (.yaml, .yml), HTML (.html, .htm), and CSS (.css) - - 2. **Check for available linting tools in the project:** - - Look for common linting tools and configurations in the current project: - - Python: flake8, pylint, black, ruff, pycodestyle, autopep8 - - JavaScript/TypeScript: eslint, prettier, jshint, tslint - - YAML: yamllint, yq - - HTML: htmlhint, tidy - - CSS: stylelint, csslint - - Check for configuration files like .eslintrc, .flake8, pyproject.toml, .yamllint, etc. - - Look in package.json, requirements.txt, or other dependency files - - 3. **Run appropriate linting tools:** - - If linting tools are found, run them only on the specified file - - Use syntax-only or layout-only flags where available (e.g., `flake8 --select=E,W` for Python) - - Capture and report the output clearly - - 4. **If no linters are found, provide recommendations:** - - For Python files: Suggest flake8, black, or ruff - - For JavaScript/TypeScript: Suggest ESLint and Prettier - - For YAML: Suggest yamllint - - For HTML: Suggest htmlhint or W3C validator - - For CSS: Suggest stylelint - - Provide installation commands and basic usage examples - - 5. **Report results:** - - Clearly summarize any syntax or layout issues found - - If no issues are found, confirm the file appears to be clean - - If linting tools weren't available, explain what you checked manually and provide tool recommendations - - Remember: - - Only check for syntax and layout issues, don't suggest code changes - - Do not change the file on behalf of the user - - Use tools that are already available in the project when possible - - Be helpful by suggesting appropriate tools if none are found - - Focus on the file types specified: Python, JavaScript, YAML, HTML, and CSS