
Security News
crates.io Ships Security Tab and Tightens Publishing Controls
crates.io adds a Security tab backed by RustSec advisories and narrows trusted publishing paths to reduce common CI publishing risks.
@rubriclab/cli
Advanced tools
A lightweight, type-safe CLI framework built with Zod for creating command-line applications with minimal boilerplate.
npm install @rubriclab/cli
import { createCLI } from '@rubriclab/cli';
import { z } from 'zod';
const cli = createCLI({
name: 'mycli',
version: '1.0.0',
description: 'My CLI tool',
commands: [
createCommand({
name: 'greet',
description: 'Greet someone',
args: z.object({
name: z.string().describe('Name to greet'),
uppercase: z.boolean().default(false).describe('Uppercase the greeting')
}),
handler: ({ name, uppercase }) => {
const greeting = `Hello, ${name}!`;
console.log(uppercase ? greeting.toUpperCase() : greeting);
}
})
]
});
cli.parse();
# Show help
mycli --help
# Run a command
mycli greet --name "World"
# With a boolean flag
mycli greet --name "World" --uppercase
createCLI(config)Creates a new CLI instance with the specified configuration.
type CLIConfig = {
name: string; // Name of your CLI tool
version: string; // Version number
description: string; // Brief description
commands: Command[]; // Array of command definitions
};
Command Interfacetype Command<TArgs extends z.ZodType = z.ZodObject<any>> = {
name: string; // Command name used in CLI
description: string; // Command description shown in help
args: TArgs; // Zod schema for command arguments
handler: (args: z.infer<TArgs>) => void | Promise<void>; // Command implementation
};
The library provides utilities for formatting terminal output:
import { format } from '@rubriclab/cli';
console.log(format.success('Operation completed!'));
console.log(format.error('Something went wrong'));
console.log(format.warning('Proceed with caution'));
console.log(format.info('Did you know?'));
console.log(format.command('command-name'));
console.log(format.parameter('--flag'));
console.log(format.title('SECTION TITLE'));
Arguments are automatically parsed from command line flags:
--flag value for string/number values--flag for boolean flags (true if present)MIT
FAQs
Unknown package
The npm package @rubriclab/cli receives a total of 268 weekly downloads. As such, @rubriclab/cli popularity was classified as not popular.
We found that @rubriclab/cli demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
crates.io adds a Security tab backed by RustSec advisories and narrows trusted publishing paths to reduce common CI publishing risks.

Research
/Security News
A Chrome extension claiming to hide Amazon ads was found secretly hijacking affiliate links, replacing creators’ tags with its own without user consent.

Security News
A surge of AI-generated vulnerability reports has pushed open source maintainers to rethink bug bounties and tighten security disclosure processes.