mirror of
https://github.com/Significant-Gravitas/AutoGPT.git
synced 2026-04-30 03:00:41 -04:00
feat(docs): Add block documentation auto-generation system (#11707)
- Add generate_block_docs.py script that introspects block code to
generate markdown
- Support manual content preservation via <!-- MANUAL: --> markers
- Add migrate_block_docs.py to preserve existing manual content from git
HEAD
- Add CI workflow (docs-block-sync.yml) to fail if docs drift from code
- Add Claude PR review workflow (docs-claude-review.yml) for doc changes
- Add manual LLM enhancement workflow (docs-enhance.yml)
- Add GitBook configuration (.gitbook.yaml, SUMMARY.md)
- Fix non-deterministic category ordering (categories is a set)
- Add comprehensive test suite (32 tests)
- Generate docs for 444 blocks with 66 preserved manual sections
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
<!-- Clearly explain the need for these changes: -->
### Changes 🏗️
<!-- Concisely describe all of the changes made in this pull request:
-->
### Checklist 📋
#### For code changes:
- [x] I have clearly listed my changes in the PR description
- [x] I have made a test plan
- [x] I have tested my changes according to the test plan:
<!-- Put your test plan here: -->
- [x] Extensively test code generation for the docs pages
<!-- CURSOR_SUMMARY -->
---
> [!NOTE]
> Introduces an automated documentation pipeline for blocks and
integrates it into CI.
>
> - Adds `scripts/generate_block_docs.py` (+ tests) to introspect blocks
and generate `docs/integrations/**`, preserving `<!-- MANUAL: -->`
sections
> - New CI workflows: **docs-block-sync** (fails if docs drift),
**docs-claude-review** (AI review for block/docs PRs), and
**docs-enhance** (optional LLM improvements)
> - Updates existing Claude workflows to use `CLAUDE_CODE_OAUTH_TOKEN`
instead of `ANTHROPIC_API_KEY`
> - Improves numerous block descriptions/typos and links across backend
blocks to standardize docs output
> - Commits initial generated docs including
`docs/integrations/README.md` and many provider/category pages
>
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
631e53e0f6. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
---------
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
91
docs/integrations/dataforseo/keyword_suggestions.md
Normal file
91
docs/integrations/dataforseo/keyword_suggestions.md
Normal file
@@ -0,0 +1,91 @@
|
||||
# Dataforseo Keyword Suggestions
|
||||
<!-- MANUAL: file_description -->
|
||||
Blocks for getting keyword suggestions with search volume and competition metrics from DataForSEO.
|
||||
<!-- END MANUAL -->
|
||||
|
||||
## Data For Seo Keyword Suggestions
|
||||
|
||||
### What it is
|
||||
Get keyword suggestions from DataForSEO Labs Google API
|
||||
|
||||
### How it works
|
||||
<!-- MANUAL: how_it_works -->
|
||||
This block calls the DataForSEO Labs Google Keyword Suggestions API to generate keyword ideas based on a seed keyword. It provides search volume, competition metrics, CPC data, and keyword difficulty scores for each suggestion.
|
||||
|
||||
Configure location and language targeting to get region-specific results. Optional SERP and clickstream data provide additional insights into search behavior and click patterns.
|
||||
<!-- END MANUAL -->
|
||||
|
||||
### Inputs
|
||||
|
||||
| Input | Description | Type | Required |
|
||||
|-------|-------------|------|----------|
|
||||
| keyword | Seed keyword to get suggestions for | str | Yes |
|
||||
| location_code | Location code for targeting (e.g., 2840 for USA) | int | No |
|
||||
| language_code | Language code (e.g., 'en' for English) | str | No |
|
||||
| include_seed_keyword | Include the seed keyword in results | bool | No |
|
||||
| include_serp_info | Include SERP information | bool | No |
|
||||
| include_clickstream_data | Include clickstream metrics | bool | No |
|
||||
| limit | Maximum number of results (up to 3000) | int | No |
|
||||
|
||||
### Outputs
|
||||
|
||||
| Output | Description | Type |
|
||||
|--------|-------------|------|
|
||||
| error | Error message if the operation failed | str |
|
||||
| suggestions | List of keyword suggestions with metrics | List[KeywordSuggestion] |
|
||||
| suggestion | A single keyword suggestion with metrics | KeywordSuggestion |
|
||||
| total_count | Total number of suggestions returned | int |
|
||||
| seed_keyword | The seed keyword used for the query | str |
|
||||
|
||||
### Possible use case
|
||||
<!-- MANUAL: use_case -->
|
||||
**Content Planning**: Generate blog post and article ideas based on keyword suggestions with high search volume.
|
||||
|
||||
**SEO Strategy**: Discover new keyword opportunities to target based on competition and difficulty metrics.
|
||||
|
||||
**PPC Campaigns**: Find keywords for advertising campaigns using CPC and competition data.
|
||||
<!-- END MANUAL -->
|
||||
|
||||
---
|
||||
|
||||
## Keyword Suggestion Extractor
|
||||
|
||||
### What it is
|
||||
Extract individual fields from a KeywordSuggestion object
|
||||
|
||||
### How it works
|
||||
<!-- MANUAL: how_it_works -->
|
||||
This block extracts individual fields from a KeywordSuggestion object returned by the Keyword Suggestions block. It decomposes the suggestion into separate outputs for easier use in workflows.
|
||||
|
||||
Each field including keyword text, search volume, competition level, CPC, difficulty score, and optional SERP/clickstream data becomes available as individual outputs for downstream processing.
|
||||
<!-- END MANUAL -->
|
||||
|
||||
### Inputs
|
||||
|
||||
| Input | Description | Type | Required |
|
||||
|-------|-------------|------|----------|
|
||||
| suggestion | The keyword suggestion object to extract fields from | KeywordSuggestion | Yes |
|
||||
|
||||
### Outputs
|
||||
|
||||
| Output | Description | Type |
|
||||
|--------|-------------|------|
|
||||
| error | Error message if the operation failed | str |
|
||||
| keyword | The keyword suggestion | str |
|
||||
| search_volume | Monthly search volume | int |
|
||||
| competition | Competition level (0-1) | float |
|
||||
| cpc | Cost per click in USD | float |
|
||||
| keyword_difficulty | Keyword difficulty score | int |
|
||||
| serp_info | data from SERP for each keyword | Dict[str, Any] |
|
||||
| clickstream_data | Clickstream data metrics | Dict[str, Any] |
|
||||
|
||||
### Possible use case
|
||||
<!-- MANUAL: use_case -->
|
||||
**Keyword Filtering**: Extract search volume and difficulty to filter keywords meeting specific thresholds.
|
||||
|
||||
**Data Analysis**: Access individual metrics for comparison, sorting, or custom scoring algorithms.
|
||||
|
||||
**Report Generation**: Pull specific fields like CPC and competition for SEO or PPC reports.
|
||||
<!-- END MANUAL -->
|
||||
|
||||
---
|
||||
92
docs/integrations/dataforseo/related_keywords.md
Normal file
92
docs/integrations/dataforseo/related_keywords.md
Normal file
@@ -0,0 +1,92 @@
|
||||
# Dataforseo Related Keywords
|
||||
<!-- MANUAL: file_description -->
|
||||
Blocks for finding semantically related keywords using the DataForSEO Labs API.
|
||||
<!-- END MANUAL -->
|
||||
|
||||
## Data For Seo Related Keywords
|
||||
|
||||
### What it is
|
||||
Get related keywords from DataForSEO Labs Google API
|
||||
|
||||
### How it works
|
||||
<!-- MANUAL: how_it_works -->
|
||||
This block uses the DataForSEO Labs Google Related Keywords API to find semantically related keywords based on a seed keyword. It returns keywords that share similar search intent or topic relevance.
|
||||
|
||||
The depth parameter controls the breadth of the search, with higher values returning exponentially more related keywords. Results include search metrics, competition data, and optional SERP/clickstream information.
|
||||
<!-- END MANUAL -->
|
||||
|
||||
### Inputs
|
||||
|
||||
| Input | Description | Type | Required |
|
||||
|-------|-------------|------|----------|
|
||||
| keyword | Seed keyword to find related keywords for | str | Yes |
|
||||
| location_code | Location code for targeting (e.g., 2840 for USA) | int | No |
|
||||
| language_code | Language code (e.g., 'en' for English) | str | No |
|
||||
| include_seed_keyword | Include the seed keyword in results | bool | No |
|
||||
| include_serp_info | Include SERP information | bool | No |
|
||||
| include_clickstream_data | Include clickstream metrics | bool | No |
|
||||
| limit | Maximum number of results (up to 3000) | int | No |
|
||||
| depth | Keyword search depth (0-4). Controls the number of returned keywords: 0=1 keyword, 1=~8 keywords, 2=~72 keywords, 3=~584 keywords, 4=~4680 keywords | int | No |
|
||||
|
||||
### Outputs
|
||||
|
||||
| Output | Description | Type |
|
||||
|--------|-------------|------|
|
||||
| error | Error message if the operation failed | str |
|
||||
| related_keywords | List of related keywords with metrics | List[RelatedKeyword] |
|
||||
| related_keyword | A related keyword with metrics | RelatedKeyword |
|
||||
| total_count | Total number of related keywords returned | int |
|
||||
| seed_keyword | The seed keyword used for the query | str |
|
||||
|
||||
### Possible use case
|
||||
<!-- MANUAL: use_case -->
|
||||
**Topic Clustering**: Group related keywords to build comprehensive content clusters around a topic.
|
||||
|
||||
**Semantic SEO**: Discover LSI (latent semantic indexing) keywords to improve content relevance.
|
||||
|
||||
**Keyword Expansion**: Expand targeting beyond exact match to capture related search traffic.
|
||||
<!-- END MANUAL -->
|
||||
|
||||
---
|
||||
|
||||
## Related Keyword Extractor
|
||||
|
||||
### What it is
|
||||
Extract individual fields from a RelatedKeyword object
|
||||
|
||||
### How it works
|
||||
<!-- MANUAL: how_it_works -->
|
||||
This block extracts individual fields from a RelatedKeyword object returned by the Related Keywords block. It separates the compound object into distinct outputs for workflow integration.
|
||||
|
||||
Outputs include the keyword text, search volume, competition score, CPC, keyword difficulty, and any SERP or clickstream data that was requested in the original search.
|
||||
<!-- END MANUAL -->
|
||||
|
||||
### Inputs
|
||||
|
||||
| Input | Description | Type | Required |
|
||||
|-------|-------------|------|----------|
|
||||
| related_keyword | The related keyword object to extract fields from | RelatedKeyword | Yes |
|
||||
|
||||
### Outputs
|
||||
|
||||
| Output | Description | Type |
|
||||
|--------|-------------|------|
|
||||
| error | Error message if the operation failed | str |
|
||||
| keyword | The related keyword | str |
|
||||
| search_volume | Monthly search volume | int |
|
||||
| competition | Competition level (0-1) | float |
|
||||
| cpc | Cost per click in USD | float |
|
||||
| keyword_difficulty | Keyword difficulty score | int |
|
||||
| serp_info | SERP data for the keyword | Dict[str, Any] |
|
||||
| clickstream_data | Clickstream data metrics | Dict[str, Any] |
|
||||
|
||||
### Possible use case
|
||||
<!-- MANUAL: use_case -->
|
||||
**Keyword Prioritization**: Extract metrics to rank related keywords by opportunity score.
|
||||
|
||||
**Content Optimization**: Access keyword difficulty and search volume for content planning decisions.
|
||||
|
||||
**Competitive Analysis**: Pull competition and CPC data to assess keyword viability.
|
||||
<!-- END MANUAL -->
|
||||
|
||||
---
|
||||
Reference in New Issue
Block a user