npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

ilmtest-cli

v1.12.1

Published

CLI for IlmTest API.

Readme

ilmtest-cli

wakatime Node.js CI GitHub License GitHub Release typescript codecov Bun

ilmtest-cli is a powerful command-line interface for interacting with the IlmTest APIs, providing tools for transcription, translation, content management, and data processing workflows.

Table of Contents

Features

  • AI Transcription: Automatically transcribe audio/video content using AI
  • Translation Management: Process and manage translations for content
  • Content Migration: Migrate entries between different formats and sources
  • Shamela Integration: Process content from Shamela digital library
  • AWS S3 Integration: Upload and manage files in AWS S3
  • OCR Processing: Extract and process OCR data
  • Interactive CLI: User-friendly interactive prompts for all operations

Installation

To install the IlmTest CLI, ensure you have Node.js version 22.0.0 or later.

Global Installation

npm install -g ilmtest-cli

Using npx (Recommended)

npx ilmtest-cli

Using Bun

bunx ilmtest-cli

Usage

Interactive Mode

Run the CLI without any arguments to enter interactive mode:

ilmtest-cli

This will present you with a menu of available actions:

  • AI Transcribe
  • AI Translate
  • Check ASL
  • Delete ASL
  • Download ASL
  • Extract
  • Upload ASL

Command Line Mode

You can also run specific commands directly:

# Transcribe content for a specific collection
ilmtest-cli --transcribe [collection-id] [volume]

# Download ASL file
ilmtest-cli --downloadAsl [collection-id]

# Process Shamela content
ilmtest-cli --shamela --collection [id] --pages [from-to]

# Extract OCR data
ilmtest-cli --extract

# Migrate entries
ilmtest-cli --migrate

# Compile translations
ilmtest-cli --compile [collection-id]

# Adjust indices with diff
ilmtest-cli --diff [number]

Commands

Transcription Commands

--transcribe

Transcribe audio/video content using AI. Supports YouTube videos and local files.

ilmtest-cli --transcribe [collection-id] [volume]

Content Management

--shamela

Process content from Shamela digital library with various options:

ilmtest-cli --shamela --collection [id] --pages [from-to] --multi --unused [pages|index]

Options:

  • --collection: Shamela collection ID
  • --pages: Page range (e.g., "1-100")
  • --multi: Enable multi-segment processing
  • --unused: Filter unused content by pages or index

--migrate

Migrate entries between different formats and link them with source content:

ilmtest-cli --migrate

--compile

Compile translations for a specific collection:

ilmtest-cli --compile [collection-id]

File Operations

--downloadAsl

Download ASL files from S3 storage:

ilmtest-cli --downloadAsl [collection-id]

Upload ASL

Upload ASL files to S3 storage (interactive mode only).

Check/Delete ASL

Check existence or delete ASL files from S3 (interactive mode only).

Data Processing

--extract

Extract and process OCR data from JSON files:

ilmtest-cli --extract

--diff

Adjust indices in translation files:

ilmtest-cli --diff [number]

Add --preview flag to preview changes without applying them.

Configuration

The CLI requires configuration for various services. On first run, you'll be prompted to configure:

  • collectionsEndpoint: API endpoint for collections
  • tafrighApiKeys: API keys for transcription service
  • awsRegion: AWS region for S3 operations
  • awsAccessKey: AWS access key
  • awsSecretKey: AWS secret key
  • awsBucket: AWS S3 bucket name

Configuration is stored securely using the conf package.

Requirements

  • Node.js v22.0.0+ or Bun v1.2.22+
  • AWS credentials (for S3 operations)
  • API keys for transcription services

Development

Scripts

# Start development server
bun run start

# Build for production
bun run build

# Compile to standalone binary
bun run compile

# Format code
bun run format

# Lint code
bun run lint

# Run CI linting
bun run lint:ci

Dependencies

The CLI leverages several powerful libraries:

  • Transcription: tafrigh for AI transcription
  • Content Processing: shamela, baburchi, bitaboom
  • OCR: kokokor for OCR data processing
  • AWS: Native Bun S3 client
  • CLI: @inquirer/prompts for interactive prompts
  • Logging: pino for structured logging

License

Licensed under the MIT License. See the LICENSE file for details.