Introduction
The @frame/cli package provides the official terminal tool (FRAME Command Line Interface) designed to automate, orchestrate, and manage daily workflows within the monorepo ecosystem.
Core Purpose
Section titled “Core Purpose”As the FRAME ecosystem grows, keeping setup, process-scoped secret injection, and environment loading consistent becomes complex. The CLI acts as the single orchestrator for these tasks, ensuring every developer runs the same routines with zero friction.
By exposing the frame executable globally in the development environment (or through pnpm), it provides access to essential utilities without scattered bash scripts.
[!TIP] Direct TypeScript The FRAME CLI relies on Just-In-Time compilers to run TypeScript natively from the terminal. No intermediate build steps are required when modifying commands during development.
Critical Dependencies
Section titled “Critical Dependencies”Our terminal interface favors a modern, aesthetic stack over outdated UI libraries:
- @clack/prompts: Used to build immersive, elegant, interactive terminals that guide the user step by step instead of overwhelming them with opaque flags.
- Picocolors: Ultra-light engine for styling and coloring terminal text (
stdoutandstderr). - Handlebars: Template engine used for scaffolding (creating new modules, controllers, or base files).
- Jiti: Handles direct, transparent evaluation of the CLI’s TypeScript files.
To understand command structure and internal orchestrators, see Logical Architecture.