| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- 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/web/src/content/docs/*
- 2. If you find undocumented features:
- - Update the relevant documentation files in packages/web/src/content/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
- 4. If you are creating a new documentation file be sure to update packages/web/astro.config.mjs too.
- Focus on user-facing features and API changes. Skip internal refactors, bug fixes, and test updates unless they affect user-facing behavior.
- All doc related commits should start with "docs:" prefix.
|