1. Project Overview & Quickstart (projectdiscovery/TEMPLATES-STATS.json)
TEMPLATES-STATS.json
Open-source repository projectdiscovery/TEMPLATES-STATS.json
Repository Details
- Repository: projectdiscovery/TEMPLATES-STATS.json
- Primary Language: Code
Note: High-volume repository documentation is actively indexed and synchronized by YakaAI.
2. Official Technical Reference & Guides (projectdiscovery/docs)
File: README.md
ProjectDiscovery Documentation
This is the source code for the ProjectDiscovery documentation located at https://docs.projectdiscovery.io
Development
- Checkout this repository
- Install mintlify with
npm i mintlify@latest - Run
mintlify dev
Deploying
To build the final product, we have a couple of additional steps:
- Build the JS Protocol Docs
npm install jsdoc-to-markdown./bin/jsdocs.sh
- Build the PDCP API reference documentation
- Either download the latest
openapi.yamlmanually or run./bin/download-api.sh - Run
./bin/generate-api.shto generate any new API files - OR run
./bin/generate-filtered-api.shto generate API docs without internal/admin endpoints
- Deployment
After those, Mintlify handles the deployment automatically.
File: bin/README-auto-grouped-api.md
Auto-Grouped API Documentation Generator
This script automatically generates and maintains API documentation with logical grouping based on OpenAPI tags. It combines the best of both worlds: auto-generation (no missing endpoints) and logical organization.
Usage
# Use default source file (Downloads directory)
./bin/generate-auto-grouped-api.sh
# Use custom source file
./bin/generate-auto-grouped-api.sh /path/to/your/openapi.yamlWhat it does
๐ค **Auto-Generation**
- Reads OpenAPI specification
- Filters out admin and internal APIs
- Generates MDX files for all public endpoints
- Never misses endpoints - everything is included automatically
๐ **Logical Grouping**
The script organizes endpoints into logical groups based on OpenAPI tags:
- Assets โ
assets+enumerationstags - Templates โ
templates+template/v2tags - Scans โ
scanstag - Results โ
results+reteststags - Configurations โ
configurationstag - Users โ
users+usertags - Logs โ
elog+scan_logtags - Export โ
exporttag - Automations โ
automationstag - Integration โ
oauthtag - Utilities โ
chaos,vulns,leaks,billing,usagetags
๐ **Auto-Updates Navigation**
- Automatically updates
mint.jsonwith new structure - Maintains logical grouping
- Sorts endpoints alphabetically within groups
- Handles new endpoints automatically
Benefits
โ
No Manual Maintenance - Add new endpoints to OpenAPI spec and they appear automatically
โ
Never Miss Endpoints - All public endpoints are included
โ
Logical Organization - Grouped by functionality, not alphabetically
โ
Consistent Naming - Uses OpenAPI summaries and operation IDs
โ
Future-Proof - Works with any OpenAPI specification changes
Output Structure
After running, your mint.json will have clean navigation like:
{
"group": "API Reference",
"pages": [
"api-reference/introduction",
{
"group": "Assets",
"pages": [
"api-reference/assets/get-asset-list",
"api-reference/assets/upload-asset",
"api-reference/enumerations/create-enumeration",
"..."
]
},
{
"group": "Templates",
"pages": [
"api-reference/templates/create-template",
"api-reference/templates/get-template-list",
"..."
]
}
]
}Comparison with Manual Approach
| Feature | Manual (generate-filtered-api.sh) |
Auto-Grouped (generate-auto-grouped-api.sh) |
|---|---|---|
| Missing Endpoints | โ Requires manual addition to mint.json |
โ Never - all endpoints auto-included |
| Logical Grouping | โ Full manual control | โ Smart tag-based grouping |
| Maintenance | โ High - update mint.json for new endpoints |
โ Zero - fully automated |
| Consistency | โ Depends on manual updates | โ Always consistent |
| New API Versions | โ Manual review and updates needed | โ Automatically handles changes |
When to Use
Use Auto-Grouped when:
- You want zero maintenance overhead
- You frequently add/remove API endpoints
- You have a team that might forget to update navigation
- You want consistent organization based on API design
Use Manual when:
- You need very specific custom grouping that doesn't match tags
- You want to exclude certain public endpoints from docs
- You have complex navigation requirements
Next Steps
After running this script:
- Preview:
mintlify dev - Deploy: Your CI/CD can run this script automatically when OpenAPI changes
- Customize: Modify the
logicalGroupsmapping in the script if needed
File: bin/README-filtered-api.md
Filtered API Documentation Generator
This script generates API documentation from an OpenAPI specification while excluding internal and admin endpoints.
Usage
# Use default source file (Downloads directory)
./bin/generate-filtered-api.sh
# Use custom source file
./bin/generate-filtered-api.sh /path/to/your/openapi.yamlNote: The script will create a filtered openapi.yaml file in the current directory for Mintlify to use.
What gets filtered out
The script automatically excludes:
Admin APIs: All paths starting with
/v1/admin/- Examples:
/v1/admin/user/search,/v1/admin/team/change_owner
- Examples:
Internal APIs: Endpoints tagged with
internal- Any endpoint with
"internal"in its tags array
- Any endpoint with
Output
- Creates filtered API documentation in the
api-reference/directory - Removes existing
internal/andadmin/folders before regenerating - Uses Mintlify scraping to generate MDX files for each endpoint
- Provides detailed console output showing what was filtered
Requirements
- Node.js and npm/npx
- Internet connection (to download @mintlify/scraping package)
- Valid OpenAPI 3.x specification file
Integration with existing workflow
You can replace the existing ./bin/generate-api.sh call in your build process with:
# Old way (includes internal/admin APIs)
./bin/generate-api.sh
# New way (excludes internal/admin APIs)
./bin/generate-filtered-api.shTroubleshooting
If you encounter errors:
- "OpenAPI source file not found": Ensure the file path is correct
- "Node.js is required": Install Node.js from https://nodejs.org
- Network errors: Check internet connection for npm package downloads
- Permission errors: Ensure the script is executable (
chmod +x bin/generate-filtered-api.sh)