Maak een GitHub Actions Workflow voor Geautomatiseerde Documentatie Generatie van de Codebase
description
Met deze prompt maak je een geautomatiseerd proces dat de documentatie van je project altijd up-to-date houdt zonder handmatige tussenkomst, wat de onderhoudbaarheid en kennisdeling verbetert. Het lost het probleem van verouderde of verwaarloosde documentatie op door generatie en publicatie te integreren in je CI/CD-pijplijn, wat tijd bespaart en fouten vermindert vergeleken met handmatige updates.
prompt
Help me een GitHub Actions workflow te ontwerpen die automatisch bijgewerkte documentatie voor mijn project genereert en publiceert. Projecttype: <voer je projecttype in, bijvoorbeeld Node.js, Python, Java>. Documentatietools om te gebruiken: <noem tools zoals Doxygen, JSDoc, Sphinx, of MkDocs>. Bronbestande ...
try_prompt
generate_helper
disclaimerOnPageApi
tags
ai_answers
provider: openai
model: gpt-4.1-nano
Hier is een voorbeeld van een GitHub Actions workflow die automatisch documentatie genereert met JSDoc en publiceert op GitHub Pages voor een Node.js project:
```yaml
name: Documentatie genereren en publiceren
on:
push:
branches:
- main # Pas aan indien nodig
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v3
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: '16' # Kies de gewenste Node.js-versie
- name: Installeer dependencies
run: npm install
- name: Genereer documentatie met JSDoc
run: npx jsdoc -c jsdoc.json
- name: Maak branch voor GitHub Pages
run: |
git clone --branch gh-pages https://github.com/<gebruikersnaam>/<repository>.git gh-pages
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Kopieer documentatie naar gh-pages branch
run: |
rm -rf gh-pages/*
cp -r out/* gh-pages/
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Commit en push naar gh-pages
working-directory: gh-pages
run: |
git add .
git config user.name "GitHub Actions"
git config user.email "actions@github.com"
git commit -m "Automatische update documentatie" || echo "Geen wijzigingen om te commiten"
git push origin gh-pages
```
**Belangrijk:**
- Zorg dat je een `jsdoc.json` configuratiebestand hebt in je project.
- Vervang `<gebruikersnaam>` en `<repository>` door je eigen GitHub gebruikersnaam en repository naam.
- Je moet een `gh-pages` branch aanmaken in je repository of het automatisch laten maken.
- Voeg een secret `GITHUB_TOKEN` toe via je repository-instellingen voor authenticatie.
**Optioneel:**
Je kunt de workflow aanpassen om automatisch te triggeren bij pull requests of op geplande tijden.
Heeft u nog verdere wensen of vragen?
provider: deepseek
model: deepseek-chat
Hier is een GitHub Actions workflow-configuratie die automatisch JSDoc documentatie genereert en publiceert naar GitHub Pages voor je Node.js project:
```yaml
name: Genereer en publiceer documentatie
on:
push:
branches: [ main, master ]
pull_request:
branches: [ main, master ]
jobs:
docs:
runs-on: ubuntu-latest
steps:
- name: Repository uitchecken
uses: actions/checkout@v4
- name: Node.js instellen
uses: actions/setup-node@v4
with:
node-version: '18'
cache: 'npm'
- name: Dependencies installeren
run: npm ci
- name: JSDoc genereren
run: |
npm install --save-dev jsdoc
npx jsdoc src/ -r -d docs/
- name: Documentatie uploaden als artifact
uses: actions/upload-pages-artifact@v3
with:
path: docs/
deploy:
needs: docs
if: github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master'
permissions:
pages: write
id-token: write
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Documentatie deployen naar GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
```
**Aanvullende configuratie die je nodig hebt:**
1. **JSDoc configuratiebestand** (optioneel, maar aanbevolen):
Maak een `jsdoc.json` bestand in je projectroot:
```json
{
"source": {
"include": ["src"],
"includePattern": ".+\\.js(doc|x)?$",
"excludePattern": "(^|\\/|\\\\)_"
},
"plugins": [],
"templates": {
"cleverLinks": false,
"monospaceLinks": false
},
"opts": {
"destination": "./docs/",
"recurse": true,
"readme": "./README.md"
}
}
```
2. **NPM scripts** (aanbevolen voor je `package.json`):
```json
{
"scripts": {
"docs": "jsdoc src/ -r -d docs/",
"docs:serve": "npx serve docs/"
}
}
```
**Belangrijke stappen om te voltooien:**
1. Sla de workflow op als `.github/workflows/docs.yml`
2. Zorg dat GitHub Pages is ingeschakeld in je repository settings onder "Pages" → "Build and deployment" → "GitHub Actions"
3. Push de wijzigingen naar je main/master branch
De workflow zal nu automatisch:
- JSDoc documentatie genereren bij elke push naar main/master
- De gegenereerde documentatie publiceren naar GitHub Pages
- Werken voor pull requests zonder te deployen