stricli

Build type-safe CLI applications with Stricli across Node.js, Bun, and Deno.

2|Updated Jan 24, 2026
One-click install
npx skills add https://github.com/johnie/skills --skill stricli
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: stricli
Source: https://github.com/johnie/skills/tree/main/skills/stricli
Command: npx skills add https://github.com/johnie/skills --skill stricli

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Stricli provides a structured, type-safe framework to build command-line interfaces in TypeScript, offering compile-time parameter validation, automatic help generation, and robust routing for complex CLIs.

Core Features & Use Cases

  • Type-safe commands and route maps with compile-time checks for flags and positional parameters.
  • Multi-runtime support (Node.js, Bun, Deno) with lazy-loading for large CLIs and route maps.
  • Automatic help, built-in version display, and support for custom Contexts and LocalContext for stdio access.
  • Ideal for building single-command CLIs, multi-command CLIs, and wrappers around existing tools for safer automation.

Quick Start

Create a new CLI by defining commands with buildCommand, wrap them with buildApplication, and run with run.

Frequently Asked Questions about stricli

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build a type-safe CLI in TypeScript with compile-time validation?

Stricli builds type-safe CLI applications in TypeScript by exposing buildCommand and buildRouteMap APIs that enforce compile-time parameter validation for flags and positional arguments. You define typed commands, wrap them with buildApplication, and execute via run.

Can I run TypeScript CLI apps across Node.js, Bun, and Deno?

Stricli supports multi-runtime execution across Node.js, Bun, and Deno, enabling TypeScript CLI apps to run in any of these environments without modifications. You define commands once and execute them in your preferred JavaScript runtime.

What's the best way to structure a multi-command CLI with automatic help generation?

Use Stricli's buildRouteMap to structure multi-command CLIs, which automatically generates help text and version display for each route. This eliminates manual help screen implementation and provides robust routing for complex command structures.

Does Stricli support lazy loading for large CLI route maps?

Stricli supports lazy loading for large CLI route maps, allowing commands to load on demand rather than at startup. This improves performance for complex CLIs with many routes by deferring module execution until a specific command is invoked.

How do I access stdio and pass custom contexts in a TypeScript CLI?

Stricli provides custom Context and LocalContext APIs for stdio access in TypeScript CLIs. You define a custom context during application setup, and Stricli injects it into command handlers, providing typed access to standard input, output, and error streams.