mirror of
https://github.com/ivuorinen/gh-action-readme.git
synced 2026-01-26 11:14:04 +00:00
* Initial plan * Fix test token masking issue in GitHub Actions Co-authored-by: ivuorinen <11024+ivuorinen@users.noreply.github.com> * chore: update permissions, go version, linting * fix(ci): ignore test tokens for gitleaks * chore: add fetch-depth zero to all checkout actions * fix(ci): pr-lint contents write permission * [MegaLinter] Apply linters fixes * chore: ignore and remove megalinter-reports * fix: restore commitlint pre-commit hook to v9.24.0 Co-authored-by: ivuorinen <11024+ivuorinen@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: ivuorinen <11024+ivuorinen@users.noreply.github.com> Co-authored-by: Ismo Vuorinen <ismo@ivuorinen.net>
248 lines
6.1 KiB
Markdown
248 lines
6.1 KiB
Markdown
# Usage Guide
|
|
|
|
Comprehensive guide to using gh-action-readme for generating documentation from GitHub Actions.
|
|
|
|
## 🚀 Quick Start
|
|
|
|
Generate documentation from your action.yml:
|
|
|
|
```bash
|
|
# Basic generation
|
|
gh-action-readme gen
|
|
|
|
# With specific theme and output
|
|
gh-action-readme gen --theme github --output README.md
|
|
```
|
|
|
|
## 📋 Examples
|
|
|
|
### Input: `action.yml`
|
|
|
|
```yaml
|
|
name: My Action
|
|
description: Does something awesome
|
|
inputs:
|
|
token:
|
|
description: GitHub token
|
|
required: true
|
|
environment:
|
|
description: Target environment
|
|
default: production
|
|
outputs:
|
|
result:
|
|
description: Action result
|
|
runs:
|
|
using: node20
|
|
main: index.js
|
|
```
|
|
|
|
### Output: Professional README.md
|
|
|
|
The tool generates comprehensive documentation including:
|
|
|
|
- 📊 **Parameter tables** with types, requirements, defaults
|
|
- 💡 **Usage examples** with proper YAML formatting
|
|
- 🎨 **Badges** for marketplace visibility
|
|
- 📚 **Multiple sections** (Overview, Configuration, Examples, Troubleshooting)
|
|
- 🔗 **Navigation** with table of contents
|
|
|
|
## 🛠️ Commands
|
|
|
|
### Generation
|
|
|
|
```bash
|
|
gh-action-readme gen [directory_or_file] [flags]
|
|
-f, --output-format string md, html, json, asciidoc (default "md")
|
|
-o, --output-dir string output directory (default ".")
|
|
--output string custom output filename
|
|
-t, --theme string github, gitlab, minimal, professional
|
|
-r, --recursive search recursively
|
|
```
|
|
|
|
**Examples:**
|
|
|
|
```bash
|
|
# Generate with GitHub theme
|
|
gh-action-readme gen --theme github
|
|
|
|
# Generate HTML documentation
|
|
gh-action-readme gen --output-format html
|
|
|
|
# Process specific directory
|
|
gh-action-readme gen actions/checkout/
|
|
|
|
# Custom output filename
|
|
gh-action-readme gen --output my-action-docs.md
|
|
|
|
# Recursive processing
|
|
gh-action-readme gen --recursive --theme professional
|
|
```
|
|
|
|
### Validation
|
|
|
|
```bash
|
|
gh-action-readme validate
|
|
|
|
# With verbose output
|
|
gh-action-readme validate --verbose
|
|
```
|
|
|
|
**Example Output:**
|
|
|
|
```text
|
|
❌ Missing required field: description
|
|
💡 Add 'description: Brief description of what your action does'
|
|
|
|
✅ All inputs have descriptions
|
|
⚠️ Consider adding 'branding' section for marketplace visibility
|
|
```
|
|
|
|
### Configuration
|
|
|
|
```bash
|
|
gh-action-readme config init # Create default config
|
|
gh-action-readme config show # Show current settings
|
|
gh-action-readme config themes # List available themes
|
|
gh-action-readme config wizard # Interactive configuration
|
|
```
|
|
|
|
## 🎯 Advanced Usage
|
|
|
|
### Batch Processing
|
|
|
|
```bash
|
|
# Process multiple repositories with custom outputs
|
|
find . -name "action.yml" -execdir gh-action-readme gen --theme github --output README-generated.md \;
|
|
|
|
# Recursive processing with JSON output
|
|
gh-action-readme gen --recursive --output-format json --output-dir docs/
|
|
|
|
# Target multiple specific actions
|
|
gh-action-readme gen actions/checkout/ --theme github --output docs/checkout.md
|
|
gh-action-readme gen actions/setup-node/ --theme professional --output docs/setup-node.md
|
|
```
|
|
|
|
### Custom Templates
|
|
|
|
```bash
|
|
# Copy and modify existing theme
|
|
cp -r templates/themes/github templates/themes/custom
|
|
# Edit templates/themes/custom/readme.tmpl
|
|
gh-action-readme gen --theme custom
|
|
```
|
|
|
|
### Environment Integration
|
|
|
|
```bash
|
|
# Set default preferences
|
|
export GH_ACTION_README_THEME=github
|
|
export GH_ACTION_README_VERBOSE=true
|
|
export GITHUB_TOKEN=your_token_here
|
|
|
|
# Use with different output formats
|
|
gh-action-readme gen --output-format html --output docs/index.html
|
|
gh-action-readme gen --output-format json --output api/action.json
|
|
```
|
|
|
|
## 📄 Output Formats
|
|
|
|
| Format | Description | Use Case | Extension |
|
|
| -------- | ------------- | ---------- | ----------- |
|
|
| **md** | Markdown (default) | GitHub README files | `.md` |
|
|
| **html** | Styled HTML | Web documentation | `.html` |
|
|
| **json** | Structured data | API integration | `.json` |
|
|
| **asciidoc** | AsciiDoc format | Technical docs | `.adoc` |
|
|
|
|
### Format Examples
|
|
|
|
```bash
|
|
# Markdown (default)
|
|
gh-action-readme gen --output-format md
|
|
|
|
# HTML with custom styling
|
|
gh-action-readme gen --output-format html --output docs/action.html
|
|
|
|
# JSON for API consumption
|
|
gh-action-readme gen --output-format json --output api/metadata.json
|
|
|
|
# AsciiDoc for technical documentation
|
|
gh-action-readme gen --output-format asciidoc --output docs/action.adoc
|
|
```
|
|
|
|
## 🎨 Themes
|
|
|
|
See [themes.md](themes.md) for detailed theme documentation.
|
|
|
|
| Theme | Best For | Features |
|
|
| ------- | ---------- | ---------- |
|
|
| **github** | GitHub marketplace | Badges, collapsible sections |
|
|
| **gitlab** | GitLab repositories | CI/CD examples |
|
|
| **minimal** | Simple actions | Clean, concise |
|
|
| **professional** | Enterprise use | Comprehensive docs |
|
|
| **default** | Basic needs | Original template |
|
|
|
|
## ⚙️ Configuration
|
|
|
|
See [configuration.md](configuration.md) for detailed configuration options.
|
|
|
|
## 🔧 Testing Generation
|
|
|
|
**Safe testing with sample data:**
|
|
|
|
```bash
|
|
# Test with included examples (safe - won't overwrite)
|
|
gh-action-readme gen testdata/example-action/ --theme github --output test-output.md
|
|
gh-action-readme gen testdata/composite-action/action.yml --theme professional
|
|
|
|
# Test all themes
|
|
for theme in github gitlab minimal professional default; do
|
|
gh-action-readme gen testdata/example-action/ --theme $theme --output "test-${theme}.md"
|
|
done
|
|
|
|
# Test all formats
|
|
for format in md html json asciidoc; do
|
|
gh-action-readme gen testdata/example-action/ --output-format $format --output "test.${format}"
|
|
done
|
|
```
|
|
|
|
## 🐛 Troubleshooting
|
|
|
|
### Common Issues
|
|
|
|
**File not found:**
|
|
|
|
```bash
|
|
# Make sure action.yml exists in current directory or specify path
|
|
gh-action-readme gen path/to/action.yml
|
|
```
|
|
|
|
**Permission errors:**
|
|
|
|
```bash
|
|
# Check file permissions
|
|
ls -la action.yml
|
|
chmod 644 action.yml
|
|
```
|
|
|
|
**GitHub API rate limits:**
|
|
|
|
```bash
|
|
# Set GitHub token for higher rate limits
|
|
export GITHUB_TOKEN=your_token_here
|
|
gh-action-readme gen --verbose
|
|
```
|
|
|
|
**Template errors:**
|
|
|
|
```bash
|
|
# Validate your action.yml first
|
|
gh-action-readme validate --verbose
|
|
```
|
|
|
|
### Getting Help
|
|
|
|
1. Run with `--verbose` flag for detailed output
|
|
2. Check [GitHub Issues](https://github.com/ivuorinen/gh-action-readme/issues)
|
|
3. Validate your action.yml syntax
|
|
4. Verify file permissions and paths
|