diff --git a/README.md b/README.md index 6548221..58d085c 100644 --- a/README.md +++ b/README.md @@ -3,24 +3,27 @@ A sample family of reusable [GitHub Agentic Workflows](https://github.com/githubnext/gh-aw?tab=readme-ov-file). > [!WARNING] -> GitHub Agentic Workflows are a research demonstrator, and these workflows are samples only. +> GitHub Agentic Workflows are a research demonstrator, and these workflows are demonstrator samples only. They are not intended for production use. Use at your own risk. ## 📂 Available Workflows -### Research & Planning Workflows +### Research, Status & Planning Workflows - [📚 Weekly Research](docs/weekly-research.md) - Collect research updates and industry trends - [👥 Daily Team Status](docs/daily-team-status.md) - Assess repository activity and create status reports - [📋 Daily Plan](docs/daily-plan.md) - Update planning issues for team coordination + +### Depth Triage & Analysis Workflows - [🏷️ Issue Triage](docs/issue-triage.md) - Triage issues and pull requests +- [🏥 CI Doctor](docs/ci-doctor.md) - Monitor CI workflows and investigate failures automatically +- [🔍 Daily Accessibility Review](docs/daily-accessibility-review.md) - Review application accessibility by automatically running and using the application ### Coding & Development Workflows -- [🏥 CI Doctor](docs/ci-doctor.md) - Monitor CI workflows and investigate failures automatically - [📦 Daily Dependency Updater](docs/daily-dependency-updates.md) - Update dependencies and create pull requests - [📖 Regular Documentation Update](docs/update-docs.md) - Update documentation automatically -- [🔍 Daily Adhoc QA](docs/daily-qa.md) - Perform "soft", explorative quality assurance tasks +- [🏥 PR Fix](docs/pr-fix.md) - Analyze failing CI checks and implement fixes for pull requests +- [🔎 Daily Adhoc QA](docs/daily-qa.md) - Perform adhoc explorative quality assurance tasks - [🧪 Daily Test Coverage Improver](docs/daily-test-improver.md) - Improve test coverage by adding meaningful tests to under-tested areas - [⚡ Daily Performance Improver](docs/daily-perf-improver.md) - Analyze and improve code performance through benchmarking and optimization -- [🔍 Daily Accessibility Review](docs/daily-accessibility-review.md) - Review application accessibility by automatically running and using the application ## 💻 Coding Tasks Warning diff --git a/docs/daily-dependency-updates.md b/docs/daily-dependency-updates.md index 79f5821..b91a2e4 100644 --- a/docs/daily-dependency-updates.md +++ b/docs/daily-dependency-updates.md @@ -16,19 +16,25 @@ This creates a pull request to add the workflow to your repository. After mergin gh aw run daily-dependency-updates ``` +❗IMPORTANT: GitHub Actions runs will **not** trigger on commits pushed by this workflow and will **not** tell you that CI has not been run unless you have enabled a specific custom check for this condition. **You must open/close the PR or hit "Update branch" if offered to trigger CI.Yes it's painful and yes it's just something you need to be aware of. + **Checklist** -* [ ] See notes on coding tasks in the [main README](../README.md). +* [ ] I have read the notes on coding tasks in the [main README](../README.md) and understand the implications. + +* [ ] I am a repository admin or have sufficient permissions, and am happy for this workflow to push new branches to the repository. + +* [ ] I have enabled "Allow GitHub Actions to create and approve pull requests" in the repository settings under "Actions > General" -* [ ] Enable "Allow GitHub Actions to create and approve pull requests" in the repository settings under "Actions > General" +* [ ] I have considered enabling "Always suggest updating pull request branches" in the repository settings -* [ ] Recommend enabling "Always suggest updating pull request branches" in the repository settings +* [ ] If in a fork, I have enabled "GitHub Actions" and "GitHub Issues" in the fork repository settings -* [ ] If in a fork, enable "GitHub Actions" and "GitHub Issues" in the fork project settings +* [ ] I will review all pull requests very carefully, and carefully monitor the repository. -* [ ] When a pull request is created, you must review the changes carefully. +* [ ] I will operate this demonstrator for a time-limited period only (the default is 48h). -* [ ] Understand that your GitHub Actions runs will **not** trigger on pull requests created by this workflow, or indeed any Actions-created PRs. You must open/close the PR or push a new commit to trigger CI checks. This is not indicated in the GitHub UI. It's just something you need to be aware of. +* [ ] I understand that GitHub Actions runs will **not** trigger on pull requests created by this workflow, see above. ## Configuration diff --git a/docs/daily-perf-improver.md b/docs/daily-perf-improver.md index 1f77d19..daf3f9c 100644 --- a/docs/daily-perf-improver.md +++ b/docs/daily-perf-improver.md @@ -22,19 +22,25 @@ To run continuously (at most one instance running at a time and sending a trigge gh aw run daily-perf-improver --repeat 180 ``` +❗IMPORTANT: GitHub Actions runs will **not** trigger on commits pushed by this workflow and will **not** tell you that CI has not been run unless you have enabled a specific custom check for this condition. **You must open/close the PR or hit "Update branch" if offered to trigger CI.Yes it's painful and yes it's just something you need to be aware of. + **Checklist** -* [ ] See notes on coding tasks in the [main README](../README.md). +* [ ] I have read the notes on coding tasks in the [main README](../README.md) and understand the implications. + +* [ ] I am a repository admin or have sufficient permissions, and am happy for this workflow to push new branches to the repository. + +* [ ] I have enabled "Allow GitHub Actions to create and approve pull requests" in the repository settings under "Actions > General" -* [ ] Enable "Allow GitHub Actions to create and approve pull requests" in the repository settings under "Actions > General" +* [ ] I have considered enabling "Always suggest updating pull request branches" in the repository settings -* [ ] Recommend enabling "Always suggest updating pull request branches" in the repository settings +* [ ] If in a fork, I have enabled "GitHub Actions" and "GitHub Issues" in the fork repository settings -* [ ] If in a fork, enable "GitHub Actions" and "GitHub Issues" in the fork project settings +* [ ] I will review all pull requests very carefully, and carefully monitor the repository. -* [ ] When a pull request is created, you must review the changes carefully. +* [ ] I will operate this demonstrator for a time-limited period only (the default is 48h). -* [ ] Understand that your GitHub Actions runs will **not** trigger on pull requests created by this workflow, or indeed any Actions-created PRs. You must open/close the PR or push a new commit to trigger CI checks. This is not indicated in the GitHub UI. It's just something you need to be aware of. +* [ ] I understand that GitHub Actions runs will **not** trigger on pull requests created by this workflow, see above. ## Configuration diff --git a/docs/daily-test-improver.md b/docs/daily-test-improver.md index 19d798c..91a284b 100644 --- a/docs/daily-test-improver.md +++ b/docs/daily-test-improver.md @@ -16,19 +16,25 @@ This creates a pull request to add the workflow to your repository. After mergin gh aw run daily-test-improver ``` +❗IMPORTANT: GitHub Actions runs will **not** trigger on commits pushed by this workflow and will **not** tell you that CI has not been run unless you have enabled a specific custom check for this condition. **You must open/close the PR or hit "Update branch" if offered to trigger CI.Yes it's painful and yes it's just something you need to be aware of. + **Checklist** -* [ ] See notes on coding tasks in the [main README](../README.md). +* [ ] I have read the notes on coding tasks in the [main README](../README.md) and understand the implications. + +* [ ] I am a repository admin or have sufficient permissions, and am happy for this workflow to push new branches to the repository. + +* [ ] I have enabled "Allow GitHub Actions to create and approve pull requests" in the repository settings under "Actions > General" -* [ ] Enable "Allow GitHub Actions to create and approve pull requests" in the repository settings under "Actions > General" +* [ ] I have considered enabling "Always suggest updating pull request branches" in the repository settings -* [ ] Recommend enabling "Always suggest updating pull request branches" in the repository settings +* [ ] If in a fork, I have enabled "GitHub Actions" and "GitHub Issues" in the fork repository settings -* [ ] If in a fork, enable "GitHub Actions" and "GitHub Issues" in the fork project settings +* [ ] I will review all pull requests very carefully, and carefully monitor the repository. -* [ ] When a pull request is created, you must review the changes carefully. +* [ ] I will operate this demonstrator for a time-limited period only (the default is 48h). -* [ ] Understand that your GitHub Actions runs will **not** trigger on pull requests created by this workflow, or indeed any Actions-created PRs. You must open/close the PR or push a new commit to trigger CI checks. This is not indicated in the GitHub UI. It's just something you need to be aware of. +* [ ] I understand that GitHub Actions runs will **not** trigger on pull requests created by this workflow, see above. ## Configuration diff --git a/docs/pr-fix.md b/docs/pr-fix.md new file mode 100644 index 0000000..ffb3ad1 --- /dev/null +++ b/docs/pr-fix.md @@ -0,0 +1,97 @@ +# 🔧 PR Fix + +> For an overview of all available workflows, see the [main README](../README.md). + +The ["@pr-fix" workflow](../workflows/pr-fix.md?plain=1) is an alias workflow "@pr-fix" that will help you fix and complete pull requests. By default it will analyze failing CI checks in pull requests, identify root causes, and implement fixes to resolve issues and get PRs back to a passing state. + +You can trigger the workflow in default mode by adding a comment to a pull request with the alias: + +``` +@pr-fix +``` + +or by writing a comment: + +``` +@pr-fix Please add more tests. +``` + +## Installation + +```bash +gh aw add pr-fix -r githubnext/agentics --pr +``` + +This creates a pull request to add the workflow to your repository. You can't start a run of this workflow directly as it is triggered in the context of a pull request with failing checks. + +To trigger the workflow on a specific pull request, add a comment with the alias: + +``` +@pr-fix +``` + +IMPORTANT: GitHub Actions runs will **not** trigger on commits pushed by this workflow and will **not** tell you that CI has not been run unless you have enabled a specific custom check for this condition. **You must open/close the PR or hit "Update branch" if offered to trigger CI.Yes it's painful and yes it's just something you need to be aware of. + +**Checklist** + +* [ ] I have read the notes on coding tasks in the [main README](../README.md) and understand the implications. + +* [ ] I am a repository admin or have sufficient permissions, and am happy for this workflow to push new branches to the repository. + +* [ ] I have enabled "Allow GitHub Actions to create and approve pull requests" in the repository settings under "Actions > General" + +* [ ] I have considered enabling "Always suggest updating pull request branches" in the repository settings + +* [ ] If in a fork, I have enabled "GitHub Actions" and "GitHub Issues" in the fork repository settings + +* [ ] I will review all pull requests very carefully, and carefully monitor the repository. + +* [ ] I will operate this demonstrator for a time-limited period only (the default is 48h). + +* [ ] I understand that GitHub Actions runs will **not** trigger on pull requests created by this workflow, see above. + +## Configuration + +This workflow requires no configuration and works out of the box. However, you can customize it as follows: + +1. Use local configuration to specify custom build commands, testing procedures, linting rules, and code formatting standards. Local configuration can be done in `.github/workflows/agentics/pr-fix.config.md`. + +2. Build tool configuration for build tools shared across all workflows installed from this pack can be done in `.github/workflows/agentics/build-tools.md`. + +After editing run `gh aw compile` to update the workflow and commit all changes to the default branch. + +## What it reads from GitHub + +- Pull request details, files, and metadata +- Workflow run logs and job outputs +- Check run results and status information +- Commit information and diff context +- Repository contents and file structure +- Existing issues related to CI failures + +## What it creates + +- Pushes fixes directly to the pull request branch +- Adds comments to pull requests explaining the changes made +- May create issues for complex problems requiring human intervention +- Requires `contents: write` and `pull-requests: write` permissions + +## What web searches it performs + +- Searches for error message documentation and solutions +- Looks up best practices for specific technologies and frameworks +- Researches common fixes for build and test failures + +## Human in the loop + +- Review all changes pushed by the workflow before merging the PR +- Validate that fixes actually resolve the intended issues +- Monitor for any unintended side effects or regressions +- Provide additional context or instructions via PR comments when needed +- Override or revert changes if the automated fix is incorrect + +## Activity duration + +- By default this workflow will run for up to 48 hours after being triggered +- The workflow stops automatically after this period to prevent indefinite runs +- You can re-trigger the workflow by commenting with the alias again if needed diff --git a/docs/update-docs.md b/docs/update-docs.md index ccb7851..398b779 100644 --- a/docs/update-docs.md +++ b/docs/update-docs.md @@ -16,20 +16,25 @@ This creates a pull request to add the workflow to your repository. After mergin gh aw run update-docs ``` +❗IMPORTANT: GitHub Actions runs will **not** trigger on commits pushed by this workflow and will **not** tell you that CI has not been run unless you have enabled a specific custom check for this condition. **You must open/close the PR or hit "Update branch" if offered to trigger CI.Yes it's painful and yes it's just something you need to be aware of. + **Checklist** -* [ ] See notes on coding tasks in the [main README](../README.md). +* [ ] I have read the notes on coding tasks in the [main README](../README.md) and understand the implications. + +* [ ] I am a repository admin or have sufficient permissions, and am happy for this workflow to push new branches to the repository. -* [ ] Enable "Allow GitHub Actions to create and approve pull requests" in the repository settings under "Actions > General" +* [ ] I have enabled "Allow GitHub Actions to create and approve pull requests" in the repository settings under "Actions > General" -* [ ] Recommend enabling "Always suggest updating pull request branches" in the repository settings +* [ ] I have considered enabling "Always suggest updating pull request branches" in the repository settings -* [ ] If in a fork, enable "GitHub Actions" and "GitHub Issues" in the fork project settings +* [ ] If in a fork, I have enabled "GitHub Actions" and "GitHub Issues" in the fork repository settings -* [ ] When a pull request is created, you must review the changes carefully. +* [ ] I will review all pull requests very carefully, and carefully monitor the repository. -* [ ] Understand that your GitHub Actions runs will **not** trigger on pull requests created by this workflow, or indeed any Actions-created PRs. You must open/close the PR or push a new commit to trigger CI checks. This is not indicated in the GitHub UI. It's just something you need to be aware of. +* [ ] I will operate this demonstrator for a time-limited period only (the default is 48h). +* [ ] I understand that GitHub Actions runs will **not** trigger on pull requests created by this workflow, see above. ## Configuration diff --git a/workflows/agentics/shared/gh-extra-pr-tools.md b/workflows/agentics/shared/gh-extra-pr-tools.md new file mode 100644 index 0000000..7a083b3 --- /dev/null +++ b/workflows/agentics/shared/gh-extra-pr-tools.md @@ -0,0 +1,20 @@ +--- +tools: + claude: + allowed: + Bash: + - "git checkout:*" + - "git branch:*" + - "git add:*" + - "git commit:*" + - "git push:*" + - "gh pr create:*" +--- + +## Creating and Updating Pull Requests + +To create a branch, add changes to your branch and push code to GitHub, use Bash `git branch...` `git add ...`, `git commit ...`, `git push ...` etc. + +When using `git commit`, ensure you set the author name and email appropriately. Do this by using a `--author` flag with `git commit`, for example `git commit --author "${{ github.workflow }} " ...`. + +To create a pull request with the changes, use Bash `gh pr create --repo ${{ github.repository }} ...` \ No newline at end of file diff --git a/workflows/agentics/shared/gh-extra-read-tools.md b/workflows/agentics/shared/gh-extra-read-tools.md new file mode 100644 index 0000000..cf20d58 --- /dev/null +++ b/workflows/agentics/shared/gh-extra-read-tools.md @@ -0,0 +1,26 @@ +--- +tools: + claude: + allowed: + Bash: + - "gh label list:*" + - "gh label view:*" + - "gh repo view:*" + - "gh issue list:*" + - "gh issue view:*" + - "gh pr list:*" + - "gh pr view:*" +--- + +## GitHub Tools + +You can use the GitHub MCP tools to perform various tasks in the repository. You can also use the following `gh` command line invocations: + +- List labels: `gh label list ...` +- View label: `gh label view ...` +- View repository: `gh repo view ${{ github.repository }} ...` +- List issues: `gh issue list --label ...` +- View issue: `gh issue view ...` +- List pull requests: `gh pr list --label ...` +- View pull request: `gh pr view ...` + diff --git a/workflows/agentics/shared/gh-extra-tools.md b/workflows/agentics/shared/gh-extra-tools.md deleted file mode 100644 index 1cc9294..0000000 --- a/workflows/agentics/shared/gh-extra-tools.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -tools: - claude: - allowed: - Bash: - - "gh label list:*" - - "gh label view:*" - - "git commit:*" ---- - -## GitHub Tools - -You can use the GitHub MCP tools to perform various tasks in the repository. In addition to the tools listed below, you can also use the following `gh` command line invocations: - -- List labels: `gh label list ...` -- View label: `gh label view ...` - -## Git Configuration - -When using `git commit`, ensure you set the author name and email appropriately. Do this by using a `--author` flag with `git commit`, for example `git commit --author "${{ github.workflow }} " ...`. diff --git a/workflows/daily-dependency-updates.md b/workflows/daily-dependency-updates.md index c9b1b6f..f02ab39 100644 --- a/workflows/daily-dependency-updates.md +++ b/workflows/daily-dependency-updates.md @@ -37,7 +37,10 @@ tools: Write: WebFetch: WebSearch: - Bash: ["gh pr create:*", "git commit:*", "git push:*", "git checkout:*", "git branch:*", "git add:*", "gh auth status", "gh repo view","gh issue comment:*"] + # Configure bash build commands here, or in .github/workflows/agentics/daily-dependency-updates.config.md or .github/workflows/agentics/build-tools.md + Bash: + # For YOLO mode, uncomment the following line + #- ":* --- # Agentic Dependency Updater @@ -51,9 +54,6 @@ Your name is "${{ github.workflow }}". Your job is to act as an agentic coder fo 2. Check for an existing PR starting with title "Daily Dependency Updates". Add your additional updates to that PR if it exists, otherwise create a new PR. Try to bundle as many dependency updates as possible into one PR. Test the changes to ensure they work correctly, if the tests don't pass then divide and conquer and create separate PRs for each dependency update. - - Use Bash `gh pr create --repo ${{ github.repository }} ...` to create a pull request with the changes. - - Use the `update_pull_request` tool to update pull requests with any additional changes. - > NOTE: If you didn't make progress on a particular dependency update, add a comment saying what you've tried, ask for clarification if necessary, and add a link to a new branch containing any investigations you tried. > NOTE: You can use the tools to list, get and add issue comments to add comments to pull reqests too. @@ -68,7 +68,7 @@ Your name is "${{ github.workflow }}". Your job is to act as an agentic coder fo @include agentics/shared/xpia.md -@include agentics/shared/gh-extra-tools.md +@include agentics/shared/gh-extra-read-tools.md @include? agentics/build-tools.md diff --git a/workflows/daily-perf-improver.md b/workflows/daily-perf-improver.md index 368320f..ae49499 100644 --- a/workflows/daily-perf-improver.md +++ b/workflows/daily-perf-improver.md @@ -37,22 +37,18 @@ tools: NotebookEdit: WebFetch: WebSearch: - # Configure bash build commands here, or in .github/workflows/agentics/daily-perf-improver.config.md - #Bash: [":*"] - Bash: - - "gh pr create:*" - - "git commit:*" - - "git push:*" - - "git checkout:*" - - "git branch:*" - - "git add:*" - - "gh auth status" - - "gh repo view" - - "gh issue comment:*" - - "gh issue list:*" - - "gh pr list:*" KillBash: BashOutput: + # Configure bash build commands in any of these places + # - this file + # - .github/workflows/agentics/daily-perf-improver.config.md + # - .github/workflows/agentics/build-tools.md (shared). + # + # Run `gh aw compile` after editing to recompile the workflow. + # + # For YOLO mode, uncomment the following line + # Bash: + # - ":* steps: - name: Checkout repository @@ -166,10 +162,6 @@ Your name is ${{ github.workflow }}. Your job is to act as an agentic coder for 5. If you succeeded in writing useful code changes that improve performance, create a draft pull request with your changes. - - Use Bash `git add ...`, `git commit ...`, `git push ...` etc. to push the changes to your branch. - - - Use Bash `gh pr create --repo ${{ github.repository }} ...` to create a pull request with the changes. - 5a. Include a description of the improvements, details of the benchmark runs that show improvement and by how much, made and any relevant context. 5b. Do NOT include performance reports or any tool-generated files in the pull request. Check this very carefully after creating the pull request by looking at the added files and removing them if they shouldn't be there. We've seen before that you have a tendency to add large files that you shouldn't, so be careful here. @@ -213,7 +205,8 @@ Your name is ${{ github.workflow }}. Your job is to act as an agentic coder for @include agentics/shared/xpia.md -@include agentics/shared/gh-extra-tools.md +@include agentics/shared/gh-extra-read-tools.md +@include agentics/shared/gh-extra-pr-tools.md @include? agentics/build-tools.md diff --git a/workflows/daily-plan.md b/workflows/daily-plan.md index 0908fa4..6202e86 100644 --- a/workflows/daily-plan.md +++ b/workflows/daily-plan.md @@ -58,7 +58,7 @@ Your job is to act as a planner for the GitHub repository ${{ github.repository @include agentics/shared/xpia.md -@include agentics/shared/gh-extra-tools.md +@include agentics/shared/gh-extra-read-tools.md @include? agentics/daily-plan.config.md diff --git a/workflows/daily-roadmap-progress.md b/workflows/daily-progress.md similarity index 82% rename from workflows/daily-roadmap-progress.md rename to workflows/daily-progress.md index 75a35c0..4497bcd 100644 --- a/workflows/daily-roadmap-progress.md +++ b/workflows/daily-progress.md @@ -43,22 +43,18 @@ tools: NotebookEdit: WebFetch: WebSearch: - # Configure bash build commands here, or in .github/workflows/agentics/daily-roadmap-progress.config.md - #Bash: [":*"] - Bash: - - "gh pr create:*" - - "git commit:*" - - "git push:*" - - "git checkout:*" - - "git branch:*" - - "git add:*" - - "gh auth status" - - "gh repo view" - - "gh issue comment:*" - - "gh issue list:*" - - "gh pr list:*" KillBash: BashOutput: + # Configure bash build commands in any of these places + # - this file + # - .github/workflows/agentics/daily-progress.config.md + # - .github/workflows/agentics/build-tools.md (shared). + # + # Run `gh aw compile` after editing to recompile the workflow. + # + # For YOLO mode, uncomment the following line + # Bash: + # - ":* steps: - name: Checkout repository @@ -67,7 +63,7 @@ steps: - name: Check if action.yml exists id: check_build_steps_file run: | - if [ -f ".github/actions/daily-roadmap-progress/build-steps/action.yml" ]; then + if [ -f ".github/actions/daily-progress/build-steps/action.yml" ]; then echo "exists=true" >> $GITHUB_OUTPUT else echo "exists=false" >> $GITHUB_OUTPUT @@ -75,7 +71,7 @@ steps: shell: bash - name: Build the project ready for feature work if: steps.check_build_steps_file.outputs.exists == 'true' - uses: ./.github/actions/daily-roadmap-progress/build-steps + uses: ./.github/actions/daily-progress/build-steps id: build-steps --- @@ -107,19 +103,19 @@ Your name is ${{ github.workflow }}. Your job is to act as an agentic coder for 2. Generate build steps configuration (if not done before) to help set up the environment for individual development work. - 2a. Check if `.github/actions/daily-roadmap-progress/build-steps/action.yml` exists in this repo. Note this path is relative to the current directory (the root of the repo). If this file exists, it will have been run already as part of the GitHub Action you are executing in, so read the file to understand what has already been run and continue to step 3. Otherwise continue to step 2b. + 2a. Check if `.github/actions/daily-progress/build-steps/action.yml` exists in this repo. Note this path is relative to the current directory (the root of the repo). If this file exists, it will have been run already as part of the GitHub Action you are executing in, so read the file to understand what has already been run and continue to step 3. Otherwise continue to step 2b. 2b. Check if an open pull request with title "${{ github.workflow }}: Updates to complete configuration" exists in this repo. If it does, add a comment to the pull request saying configuration needs to be completed, then exit the workflow. Otherwise continue to step 2c. 2c. Research the typical steps needed to build and run the project for feature work. - 2d. Create the file `.github/actions/daily-roadmap-progress/build-steps/action.yml` as a GitHub Action containing these steps, ensuring that the action.yml file is valid and carefully cross-checking with other CI files and devcontainer configurations in the repo to ensure accuracy and correctness. + 2d. Create the file `.github/actions/daily-progress/build-steps/action.yml` as a GitHub Action containing these steps, ensuring that the action.yml file is valid and carefully cross-checking with other CI files and devcontainer configurations in the repo to ensure accuracy and correctness. 2e. Make a pull request for the addition of this file, with title "${{ github.workflow }}: Updates to complete configuration". Explain that adding these files to the repo will make this workflow more reliable and effective. Encourage the maintainer to review the files carefully to ensure they are appropriate for the project. Exit the entire workflow. 3. Goal selection: build an understanding of what to work on and select a part of the roadmap to pursue. - 3a. You can now assume the repository is in a state where the steps in `.github/actions/daily-roadmap-progress/build-steps/action.yml` have been run and is ready for you to work on features. + 3a. You can now assume the repository is in a state where the steps in `.github/actions/daily-progress/build-steps/action.yml` have been run and is ready for you to work on features. 3b. Read the plan in the issue mentioned earlier, along with comments. @@ -143,10 +139,6 @@ Your name is ${{ github.workflow }}. Your job is to act as an agentic coder for 5. If you succeeded in writing useful code changes that work on the feature roadmap, create a draft pull request with your changes. - - Use Bash `git add ...`, `git commit ...`, `git push ...` etc. to push the changes to your branch. - - - Use Bash `gh pr create --repo ${{ github.repository }} ...` to create a pull request with the changes. - 5b. Do NOT include any tool-generated files in the pull request. Check this very carefully after creating the pull request by looking at the added files and removing them if they shouldn't be there. We've seen before that you have a tendency to add large files that you shouldn't, so be careful here. 5c. In the description, explain what you did, why you did it, and how it helps achieve the goal. Be concise but informative. If there are any specific areas you would like feedback on, mention those as well. @@ -171,10 +163,11 @@ Your name is ${{ github.workflow }}. Your job is to act as an agentic coder for @include agentics/shared/xpia.md -@include agentics/shared/gh-extra-tools.md +@include agentics/shared/gh-extra-read-tools.md +@include agentics/shared/gh-extra-pr-tools.md @include? agentics/build-tools.md - -@include? agentics/daily-roadmap-progress.config.md + +@include? agentics/daily-progress.config.md diff --git a/workflows/daily-qa.md b/workflows/daily-qa.md index 984f0ae..6db76e3 100644 --- a/workflows/daily-qa.md +++ b/workflows/daily-qa.md @@ -34,11 +34,18 @@ tools: NotebookEdit: WebFetch: WebSearch: - # Configure bash build commands here, or in .github/workflows/agentics/daily-dependency-updates.config.md - #Bash: [":*"] - Bash: ["gh pr create:*", "git commit:*", "git push:*", "git checkout:*", "git branch:*", "git add:*", "gh auth status", "gh repo view", "gh issue comment:*"] KillBash: BashOutput: + # Configure bash build commands in any of these places + # - this file + # - .github/workflows/agentics/daily-qa.config.md + # - .github/workflows/agentics/build-tools.md (shared). + # + # Run `gh aw compile` after editing to recompile the workflow. + # + # For YOLO mode, uncomment the following line + # Bash: + # - ":* --- @@ -84,7 +91,9 @@ Your name is ${{ github.workflow }}. Your job is to act as an agentic QA enginee @include agentics/shared/xpia.md -@include agentics/shared/gh-extra-tools.md +@include agentics/shared/gh-extra-read-tools.md + +@include agentics/shared/gh-extra-pr-tools.md @include? agentics/build-tools.md diff --git a/workflows/daily-team-status.md b/workflows/daily-team-status.md index f24cbea..43f3e70 100644 --- a/workflows/daily-team-status.md +++ b/workflows/daily-team-status.md @@ -7,19 +7,14 @@ on: stop-after: +30d # workflow will no longer trigger after 30 days. Remove this and recompile to run indefinitely +safe-outputs: + create-issue: + timeout_minutes: 15 -permissions: - contents: read - issues: write # needed to write the output status report to an issue - pull-requests: read - discussions: read - actions: read - checks: read - statuses: read + +permissions: read-all tools: - github: - allowed: [create_issue, update_issue] claude: allowed: WebFetch: @@ -28,7 +23,7 @@ tools: # Daily Team Status -1. Search for any previous "Daily Team Status" open issues in the repository. Close them. +1. Search for recent "Daily Team Status" open issues in the repository. Read them to understand the context of the team and recent activity, and to avoid duplication. 2. Write an upbeat, friendly, motiviating summary of recent activity in the repo. @@ -70,7 +65,7 @@ tools: @include agentics/shared/xpia.md -@include agentics/shared/gh-extra-tools.md +@include agentics/shared/gh-extra-read-tools.md @include? agentics/daily-team-status.config diff --git a/workflows/daily-test-improver.md b/workflows/daily-test-improver.md index 5529826..d24c963 100644 --- a/workflows/daily-test-improver.md +++ b/workflows/daily-test-improver.md @@ -38,22 +38,18 @@ tools: NotebookEdit: WebFetch: WebSearch: - # Configure bash build commands here, or in .github/workflows/agentics/daily-test-improver.config.md - #Bash: [":*"] - Bash: - - "gh pr create:*" - - "git commit:*" - - "git push:*" - - "git checkout:*" - - "git branch:*" - - "git add:*" - - "gh auth status" - - "gh repo view" - - "gh issue comment:*" - - "gh issue list:*" - - "gh pr list:*" KillBash: BashOutput: + # Configure bash build commands in any of these places + # - this file + # - .github/workflows/agentics/daily-test-improver.config.md + # - .github/workflows/agentics/build-tools.md (shared). + # + # Run `gh aw compile` after editing to recompile the workflow. + # + # For YOLO mode, uncomment the following line + # Bash: + # - ":* steps: - name: Checkout repository @@ -103,16 +99,12 @@ Your name is ${{ github.workflow }}. Your job is to act as an agentic coder for 2a. Check if `.github/actions/daily-test-improver/coverage-steps/action.yml` exists in this repo. Note this path is relative to the current directory (the root of the repo). If it exists then continue to step 3. If it doesn't then we need to create it: - 2b. Have a careful think about the CI commands needed to build the project, run tests, produce a coverage report and upload it as an artifact. Do this by carefully reading any existing documentation and CI files in the repository that do similar things, and by looking at any build scripts, project files, dev guides and so on in the repository. + 2b. Have a careful think about the CI commands needed to build the repository, run tests, produce a combined coverage report and upload it as an artifact. Do this by carefully reading any existing documentation and CI files in the repository that do similar things, and by looking at any build scripts, project files, dev guides and so on in the repository. If multiple projects are present, perform build and coverage testing on as many as possible, and where possible merge the coverage reports into one combined report. Work out the steps you worked out, in order, as a series of YAML steps suitable for inclusion in a GitHub Action. - 2c. Create the file `.github/actions/daily-test-improver/coverage-steps/action.yml` containing these steps, ensuring that the action.yml file is valid. + 2c. Create the file `.github/actions/daily-test-improver/coverage-steps/action.yml` containing these steps, ensuring that the action.yml file is valid. Leave comments in the file to explain what the steps are doing, where the coverage report will be generated, and any other relevant information. Ensure that the steps include uploading the coverage report(s) as an artifact called "coverage". - 2d. Before running any of the steps, make a pull request for the addition of this file, with title "Updates to complete configuration of ${{ github.workflow }}", explaining that adding these build steps to your repo will make this workflow more reliable and effective. + 2d. Before running any of the steps, make a pull request for the addition of the `action.yml` file, with title "Updates to complete configuration of ${{ github.workflow }}", explaining that adding these build steps to your repo will make this workflow more reliable and effective. - - Use Bash `git add ...`, `git commit ...`, `git push ...` etc. to push the changes to your branch. - - - Use Bash `gh pr create --repo ${{ github.repository }} ...` to create a pull request with the changes. - 2e. Try to run through the steps you worked out manually one by one. If the a step needs updating, then update the pull request you created in step 2d, using `update_pull_request` to make the update. Continue through all the steps. If you can't get it to work, then create an issue describing the problem and exit the entire workflow. 2f. Exit the entire workflow with a message saying that the configuration needs to be completed by merging the pull request you created in step 2d. @@ -147,10 +139,6 @@ Your name is ${{ github.workflow }}. Your job is to act as an agentic coder for 4h. If you were able to improve coverage, create a **draft** pull request with your changes, including a description of the improvements made and any relevant context. - - Use Bash `git add ...`, `git commit ...`, `git push ...` etc. to push the changes to your branch. - - - Use Bash `gh pr create --repo ${{ github.repository }} --draft ...` to create a pull request with the changes. - - Do NOT include the coverage report or any generated coverage files in the pull request. Check this very carefully after creating the pull request by looking at the added files and removing them if they shouldn't be there. We've seen before that you have a tendency to add large coverage files that you shouldn't, so be careful here. - In the description of the pull request, include @@ -187,7 +175,9 @@ Your name is ${{ github.workflow }}. Your job is to act as an agentic coder for @include agentics/shared/xpia.md -@include agentics/shared/gh-extra-tools.md +@include agentics/shared/gh-extra-read-tools.md + +@include agentics/shared/gh-extra-pr-tools.md @include? agentics/build-tools.md diff --git a/workflows/issue-triage.md b/workflows/issue-triage.md index 41e3296..cba2b7c 100644 --- a/workflows/issue-triage.md +++ b/workflows/issue-triage.md @@ -95,7 +95,7 @@ You're a triage assistant for GitHub issues. Your task is to analyze issue #${{ @include agentics/shared/xpia.md -@include agentics/shared/gh-extra-tools.md +@include agentics/shared/gh-extra-read-tools.md @include? agentics/issue-triage.config diff --git a/workflows/pr-fix.md b/workflows/pr-fix.md index a5abb86..87df9a5 100644 --- a/workflows/pr-fix.md +++ b/workflows/pr-fix.md @@ -31,15 +31,24 @@ tools: claude: allowed: - Write: Edit: + MultiEdit: + Write: + NotebookEdit: WebFetch: WebSearch: - # Configure bash build commands here, or in .github/workflows/agentics/pr-fix.config.md - #Bash: [":*"] - Bash: ["gh pr create:*", "git commit:*", "git push:*", "git checkout:*", "git branch:*", "git add:*", "gh auth status", "gh repo view","gh issue comment:*"] KillBash: BashOutput: + # Configure bash build commands in any of these places + # - this file + # - .github/workflows/agentics/pr-fix.config.md + # - .github/workflows/agentics/build-tools.md (shared). + # + # Run `gh aw compile` after editing to recompile the workflow. + # + # For YOLO mode, uncomment the following line + # Bash: + # - ":* timeout_minutes: 20 @@ -75,7 +84,9 @@ You are an AI assistant specialized in fixing pull requests with failing CI chec @include agentics/shared/xpia.md -@include agentics/shared/gh-extra-tools.md +@include agentics/shared/gh-extra-read-tools.md + +@include agentics/shared/gh-extra-pr-tools.md @include? agentics/build-tools.md diff --git a/workflows/update-docs.md b/workflows/update-docs.md index 25fc2a5..8b71d47 100644 --- a/workflows/update-docs.md +++ b/workflows/update-docs.md @@ -120,7 +120,9 @@ Documentation‑as‑Code, transparency, single source of truth, continuous impr @include agentics/shared/xpia.md -@include agentics/shared/gh-extra-tools.md +@include agentics/shared/gh-extra-read-tools.md + +@include agentics/shared/gh-extra-pr-tools.md @include? agentics/update-docs.config diff --git a/workflows/weekly-research.md b/workflows/weekly-research.md index f2e1536..c508c8b 100644 --- a/workflows/weekly-research.md +++ b/workflows/weekly-research.md @@ -49,7 +49,7 @@ At the end of the report list write a collapsed section with the following: @include agentics/shared/xpia.md -@include agentics/shared/gh-extra-tools.md +@include agentics/shared/gh-extra-read-tools.md @include agentics/shared/tool-refused.md