| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- name: Docs Update
- on:
- schedule:
- # Run every 4 hours
- - cron: "0 */4 * * *"
- workflow_dispatch: # Allow manual trigger for testing
- jobs:
- update-docs:
- runs-on: ubuntu-latest
- permissions:
- id-token: write
- contents: write
- pull-requests: write
- steps:
- - name: Checkout repository
- uses: actions/checkout@v4
- with:
- fetch-depth: 0 # Fetch full history to access commits
- - name: Get recent commits
- id: commits
- run: |
- COMMITS=$(git log --since="4 hours ago" --pretty=format:"- %h %s" 2>/dev/null || echo "")
- if [ -z "$COMMITS" ]; then
- echo "No commits in the last 4 hours"
- echo "has_commits=false" >> $GITHUB_OUTPUT
- else
- echo "has_commits=true" >> $GITHUB_OUTPUT
- {
- echo "list<<EOF"
- echo "$COMMITS"
- echo "EOF"
- } >> $GITHUB_OUTPUT
- fi
- - name: Run opencode
- if: steps.commits.outputs.has_commits == 'true'
- uses: sst/opencode/github@latest
- env:
- OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }}
- with:
- model: opencode/gpt-5.2
- agent: docs
- prompt: |
- Review the following commits from the last 4 hours and identify any new features that may need documentation.
- <recent_commits>
- ${{ steps.commits.outputs.list }}
- </recent_commits>
- Steps:
- 1. For each commit that looks like a new feature or significant change:
- - Read the changed files to understand what was added
- - Check if the feature is already documented in packages/docs/
- 2. If you find undocumented features:
- - Update the relevant documentation files in packages/docs/
- - Follow the existing documentation style and structure
- - Make sure to document the feature clearly with examples where appropriate
- 3. If all new features are already documented, report that no updates are needed
- Focus on user-facing features and API changes. Skip internal refactors, bug fixes, and test updates unless they affect user-facing behavior.
|