Skip to content

[FERN-SCRIBE] Document fern export command #27

[FERN-SCRIBE] Document fern export command

[FERN-SCRIBE] Document fern export command #27

Workflow file for this run

name: Fern Scribe Documentation Assistant
on:
issues:
types: [opened, edited]
permissions:
contents: write
issues: write
pull-requests: write
jobs:
fern-scribe:
if: contains(github.event.issue.labels.*.name, 'fern-scribe')
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
cache-dependency-path: .github/scripts/package.json
- name: Clean install dependencies
run: |
cd .github/scripts
rm -rf node_modules package-lock.json
npm install
# --- NEW STEP: Generate my-mappings.md ---
- name: Generate Fern URL Mappings
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
REPOSITORY: ${{ github.repository }}
run: |
cd .github/scripts
node generate-mappings.js
# -----------------------------------------
- name: Run Fern Scribe
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
TURBOPUFFER_API_KEY: ${{ secrets.TURBOPUFFER_API_KEY }}
TURBOPUFFER_ENDPOINT: ${{ secrets.TURBOPUFFER_ENDPOINT }}
TURBOPUFFER_NAMESPACE: ${{ secrets.TURBOPUFFER_NAMESPACE }}
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
SLACK_USER_TOKEN: ${{ secrets.SLACK_USER_TOKEN }}
ISSUE_NUMBER: ${{ github.event.issue.number }}
ISSUE_BODY: ${{ github.event.issue.body }}
ISSUE_TITLE: ${{ github.event.issue.title }}
REPOSITORY: ${{ github.repository }}
run: |
cd .github/scripts
node fern-scribe.js
- name: Comment on issue
if: success()
uses: actions/github-script@v7
with:
script: |
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: '🌿 **Fern Scribe is working on your request!**\n\nI\'ve analyzed your documentation request and am preparing file updates. A draft PR will be created shortly with the proposed changes.\n\n*Powered by AI and TurboBuffer file discovery*'
});
- name: Comment on failure
if: failure()
uses: actions/github-script@v7
with:
script: |
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: '❌ **Fern Scribe encountered an error**\n\nThere was an issue processing your documentation request. Please check the action logs and try again.\n\nIf the problem persists, please contact the maintainers.'
});