Documentation Export Tool for AI/Agent Consumption
This tool exports all Mambu documentation into a structured JSON format optimized for AI agents, vector databases, and RAG (Retrieval-Augmented Generation) systems.
Overview
Exports 4,507+ documents including:
- User Guide documentation
- API v1 and v2 reference docs
- Streaming API documentation
- Payments API documentation
- ~1.6 million words of content
Quick Start
Basic Usage
# Export all documentation to default file (docs-export.json)
node scripts/export-docs-for-ai.js
# Export to a custom file
node scripts/export-docs-for-ai.js my-export.json
Add to package.json
{
"scripts": {
"export-docs": "node scripts/export-docs-for-ai.js"
}
}
Then run:
yarn export-docs
Output Format
The exported JSON file contains:
Structure
{
"meta": {
"version": "1.0",
"exportDate": "2026-01-09T14:08:11.820Z",
"source": "Mambu Documentation Hub",
"baseUrl": "https://docs.mambu.com",
"generator": "export-docs-for-ai.js"
},
"statistics": {
"totalDocuments": 4507,
"totalWords": 1597277,
"averageWordsPerDoc": 354,
"totalTags": 518,
"tags": ["api", "deposits", "loans", ...],
"documentsByCategory": {
"api": 1234,
"docs": 890,
...
}
},
"categories": ["api", "docs", ...],
"documents": [...],
"documentsByCategory": {...}
}
Document Object
Each document in the documents array contains:
{
"id": "docs/deposits/deposit-accounts",
"title": "Deposit Accounts",
"description": "Learn about deposit account management in Mambu",
"url": "https://docs.mambu.com/docs/deposits/deposit-accounts",
"filePath": "docs/deposits/deposit-accounts.md",
"content": "# Full markdown content with code blocks...",
"cleanContent": "Cleaned text without code blocks for better AI processing...",
"metadata": {
"sidebar_label": "Deposit Accounts",
"sidebar_position": 2,
"tags": ["deposits", "accounts", "banking"],
"keywords": ["deposit", "savings", "current account"],
"lastModified": "2026-01-09T12:52:40.704Z",
"fileSize": 15420
}
}
Use Cases
1. AI Agent / Chatbot
Feed the exported JSON into an AI agent to answer questions about Mambu:
import json
# Load documentation
with open('docs-export.json') as f:
docs = json.load(f)
# Use with LangChain, LlamaIndex, or your preferred framework
for doc in docs['documents']:
# Process doc['cleanContent'] for vector embeddings
# Use doc['metadata']['tags'] for filtering
# Reference doc['url'] for citations
pass
2. Vector Database Ingestion
Perfect for RAG systems with Pinecone, Weaviate, ChromaDB, etc:
const exportData = require('./docs-export.json');
for (const doc of exportData.documents) {
await vectorDB.upsert({
id: doc.id,
text: doc.cleanContent,
metadata: {
title: doc.title,
url: doc.url,
tags: doc.metadata.tags,
category: doc.id.split('/')[0]
}
});
}
3. Search Index
Build a custom search engine or enhance existing search:
const exportData = require('./docs-export.json');
// Index by category
const depositDocs = exportData.documentsByCategory['deposits'];
// Search by tags
const apiDocs = exportData.documents.filter(doc =>
doc.metadata.tags.includes('api')
);
4. Documentation Analysis
Analyze documentation coverage and quality:
const { statistics } = require('./docs-export.json');
console.log(`Total documentation: ${statistics.totalWords.toLocaleString()} words`);
console.log(`Topics covered: ${statistics.totalTags} unique tags`);
console.log(`Categories: ${Object.keys(statistics.documentsByCategory).length}`);
Storage & Distribution
Local Development
- File size: ~140 MB (uncompressed JSON)
- Compress with gzip for ~10-15 MB
S3 Upload (For Fadel's Use Case)
# Upload to S3
aws s3 cp docs-export.json s3://your-bucket/mambu-docs/docs-export.json
# Upload with gzip compression
gzip -c docs-export.json | aws s3 cp - s3://your-bucket/mambu-docs/docs-export.json.gz \
--content-encoding gzip \
--content-type application/json
CDN Distribution
# Make available via CDN for agent consumption
aws s3 cp docs-export.json s3://your-bucket/mambu-docs/docs-export.json \
--acl private \
--cache-control max-age=3600
Field Descriptions
| Field | Description |
|---|---|
id | Unique identifier based on file path |
title | Document title (from frontmatter or first H1) |
description | Brief description (from frontmatter) |
url | Full URL to the live documentation page |
filePath | Original file path in the repository |
content | Full markdown content with code blocks and formatting |
cleanContent | Cleaned text without code blocks, imports, or admonitions - optimized for AI |
metadata.tags | Array of topic tags for categorization |
metadata.keywords | SEO keywords |
metadata.lastModified | ISO timestamp of last file modification |
metadata.fileSize | File size in bytes |
Advanced Usage
Filter by Category
const exportData = require('./docs-export.json');
// Get all API documentation
const apiDocs = exportData.documentsByCategory['api'];
// Get all user guide docs
const userGuideDocs = exportData.documentsByCategory['docs'];
Filter by Tags
// Find all documents about deposits
const depositDocs = exportData.documents.filter(doc =>
doc.metadata.tags.includes('deposits')
);
// Find all API v2 documentation
const apiV2Docs = exportData.documents.filter(doc =>
doc.metadata.tags.includes('api-v2')
);
Search by Content
// Find documents mentioning a specific topic
const loanDocs = exportData.documents.filter(doc =>
doc.cleanContent.toLowerCase().includes('loan')
);
Automation
Schedule Regular Exports
Add to your CI/CD pipeline:
# .github/workflows/export-docs.yml
name: Export Documentation
on:
schedule:
- cron: '0 0 * * 0' # Weekly on Sunday
workflow_dispatch:
jobs:
export:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: '18'
- run: yarn install
- run: node scripts/export-docs-for-ai.js
- uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-east-1
- run: |
gzip -c docs-export.json > docs-export.json.gz
aws s3 cp docs-export.json.gz s3://your-bucket/mambu-docs/
Statistics (Current Export)
- Total Documents: 4,507
- Total Words: 1,597,277
- Average Words per Document: 354
- Unique Tags: 518
- Categories: 4 (api, docs, documentation-guidelines, markdown-page)
- File Size: ~140 MB (JSON), ~15 MB (gzipped)
Troubleshooting
Out of Memory Error
If you encounter memory issues with large exports:
node --max-old-space-size=4096 scripts/export-docs-for-ai.js
Parsing Errors
Check the console output for specific files that failed to parse. Common issues:
- Invalid frontmatter YAML
- Special characters in content
- Corrupted markdown files
Performance
The export processes ~4,500 files in about 30-60 seconds depending on your system.
Maintenance
Update Frequency
Recommended export schedule:
- Development: Export before major releases
- Production: Weekly or monthly automated exports
- On-Demand: When documentation structure changes significantly
Version Control
Consider versioning your exports:
node scripts/export-docs-for-ai.js docs-export-$(date +%Y%m%d).json
Quick Start
For a quick start guide with practical examples, see the AI Export Quick Start Guide.
Support
For questions or issues:
- Internal: Contact the Documentation Team
- Repository: Create an issue in the GitLab repository
- Script Location:
scripts/export-docs-for-ai.js
Related Documentation
- AI Export Quick Start - Quick start guide with examples
- Design System - Documentation design guidelines
- Diagrams - Creating diagrams in documentation
License
Internal use only - Mambu proprietary documentation.