Loading...
Loading...
Process thousands of course files from the terminal. Bulk accessibility compliance in one command.
GUI tools seem easier, but for bulk processing and accessibility, the terminal is superior:
"Terminal is pure text... universally accessible." - Blind PhD in Astrophysics. Screen readers work perfectly with CLI tools.
Process 500 files in parallel vs clicking through 500 files one by one in a GUI. 10x speed improvement.
Write bash scripts once, run forever. Schedule cron jobs to process new files automatically.
Generate reports, send notifications, trigger workflows - all from one command.
# GUI approach: Click 500 files, wait 5 seconds each = 42 minutes
# CLI approach: Process 500 files in parallel = 3 minutes
# 14x faster with one commandThe CLI lives in the cli/ directory of the open-source github.com/Aelira-AI/aelira-core repository. The CLI is MIT licensed, so you can embed and script against it freely even though the engine is AGPL-3.0.
npm install -g @aelira/cli
aelira --version
# Clone the repository
git clone https://github.com/Aelira-AI/aelira-core.git
cd aelira-core/cli
# Install dependencies and build
npm ci
npm run build
# Verify
./bin/run.js --version
Note on the examples below: they are written as aelira ... for readability. Running from source, invoke the same commands as ./bin/run.js ... from the cli/ directory, or alias it. Once @aelira/cli is published, an npx or global install will give you the aelira command directly.
Node.js 20 or newer is required. Prebuilt binaries and a Homebrew formula are not published yet.
Log in with your institutional account:
# Interactive login (opens browser)
aelira login
# Browser opens, you authenticate, CLI receives token
# OR: API key authentication (for automation)
export AELIRA_API_KEY="your-api-key-here"
aelira whoami
# Output: Logged in as [email protected]
Security Tip: For automated scripts, use API keys with limited scopes. Generate keys at https://dashboard.aelira.ai/settings/api
# Scan a PDF
aelira scan pdf lecture_notes.pdf
# Output: 23 issues found (12 critical, 8 high, 3 medium)
# Scan a PowerPoint
aelira scan pptx slides.pptx
# Output: 45 images missing alt text, 12 contrast violations
# Scan LaTeX
aelira scan latex paper.tex
# Output: 87 equations need MathML conversion
# Scan and fix automatically
aelira fix pdf lecture_notes.pdf --output lecture_notes_accessible.pdf
# OCR complete, headings added, structure tagged
# Generate alt text for images
aelira fix pptx slides.pptx --auto-alt-text
# AI generates alt text for 45 images (~2 min)
# Convert LaTeX to accessible HTML
aelira fix latex paper.tex --output paper-accessible.html
# MathML generated, ARIA labels added
# Generate detailed JSON report
aelira scan pdf lecture.pdf --format json > report.json
# Generate human-readable report
aelira scan pdf lecture.pdf --format text
# Export to Excel for stakeholders
aelira scan pdf lecture.pdf --format xlsx > report.xlsx
This is where the CLI shines - process entire departments worth of files in one command.
# Scan all PDFs recursively
aelira batch scan pdf ./course-materials/ --recursive
# Scanning 487 PDFs... (ETA 8 minutes)
# Fix all PDFs and save to output directory
aelira batch fix pdf ./course-materials/ --output ./accessible/ --recursive
# Processing in parallel (8 workers)...
# Process only files modified in the last 30 days
aelira batch fix pdf ./course-materials/ --modified-since 30d --recursive
For maximum speed, process multiple courses in parallel:
Performance: This script processed 200 courses (4,300 files) in 47 minutes using 8 parallel workers. Manual GUI processing would take 40+ hours.
Process new files automatically every night:
# Department-wide compliance report
aelira report compliance ./accessible-files/ --format text
# Output:
# Total files: 4,327
# Compliant: 4,103 (94.8%)
# Issues remaining: 224 files
# Critical: 12, High: 87, Medium: 125
# Export for legal/audit team
aelira report compliance ./accessible-files/ --format pdf --legal-detail
# Trigger Slack notification when processing completes
aelira batch fix pdf ./course-materials/ \\
--webhook https://hooks.slack.com/services/YOUR/WEBHOOK \\
--webhook-on-complete
# Send email report to department chair
aelira report compliance ./accessible/ \\
--email [email protected] \\
--subject "Weekly Accessibility Compliance Update"
# Only process files below 90% compliance
aelira batch scan pdf ./files/ --threshold 90
# Fail build if any critical issues found
aelira scan pdf file.pdf --fail-on critical
# Exit code 1 if critical issues detected (useful for CI/CD)
Make sure the CLI has read/write access to input and output directories:
chmod -R 755 ./course-materials/
Add delays between requests or upgrade to Enterprise plan for higher limits:
aelira batch fix pdf ./files/ --delay 500ms
Process fewer files in parallel or increase memory allocation:
# Reduce parallel workers
aelira batch fix pdf ./files/ --workers 4
# OR increase memory limit
export AELIRA_MAX_MEMORY=8G
Check file extensions and verify files aren't corrupted:
# Skip invalid files
aelira batch fix pdf ./files/ --skip-invalid
aelira --help
aelira scan --help
aelira batch --help
The CLI is free and open source — clone it and run it against your own files today. If you would rather we hosted the platform for you, start a free trial and process 50 files to see it in action.