vyriy
v0.7.8
Published
Interactive project master for calm cloud-ready applications.
Readme
vyriy
Interactive project master for Vyriy projects.
Purpose
vyriy is a CLI tool that scaffolds new projects with Vyriy configuration
presets, validates the local environment, merges optional provider files, and
prepares packages for publishing.
Install
With npm:
npm install -g vyriyWith Yarn:
yarn global add vyriyUsage
vyriy create [name] Create a new Vyriy project
vyriy create . Initialise a new Vyriy project in the current directory
vyriy dist Prepare dist package metadata without publishing to npm
vyriy static [dir] Serve a static directory (defaults to .)
vyriy check Check local environment (Node.js and Yarn versions)
vyriy --help, -h Show help
vyriy --version, -v Show versionCommands
create
The interactive wizard collects project details and writes the scaffold:
- Project name and description
- Target directory
- Preset selection
- Package scope (for package-based presets)
- CI/CD provider when the preset offers one
- Deploy provider when the preset offers one
- Confirmation (
yto continue)
The generated file set is built from the selected preset and then merged with the selected CI/CD and deploy provider files. Later entries override earlier entries with the same path.
When generated paths already exist, use --overwrite or --skip-existing to
avoid the interactive conflict prompt. Without either flag, vyriy asks whether
to overwrite existing files, skip them, or abort.
Create options:
vyriy create --dry-run Print the merged file plan without writing project files
vyriy create --overwrite Overwrite existing generated paths
vyriy create --skip-existing Leave existing generated paths untouched
vyriy create --no-install Create files without installing dependencies
vyriy create --no-verify Install dependencies without running checkscheck
Validates Node.js and Yarn versions against the engine requirements declared in
package.json.
vyriy check
vyriy check --help
vyriy check --versiondist
Prepares every package inside the dist/ directory for npm publishing:
- Strips dev-only fields from
package.json - Builds the
exportsmap from compiled JS files - Copies README, LICENSE, and AGENTS.md
- Makes bin files executable
vyriy dist
vyriy dist --help
vyriy dist --versionstatic
Starts the reusable @vyriy/static server command:
vyriy static
vyriy static public
vyriy static --port 3000 dist
vyriy static dist --cache static
vyriy static dist --spa --fallback index.html --cache static
vyriy static --help
vyriy static --versionStatic options are delegated to @vyriy/static:
vyriy static dist --cache none
vyriy static dist --cache default
vyriy static dist --cache static
vyriy static dist --cache immutable
vyriy static dist --index index.html --not-found 404.html
vyriy static dist --spa --fallback index.htmlPresets
Registered presets:
| Key | Description |
| ----------- | ------------------------------------------------- |
| base | Preset to create minimal monorepo with configs |
| library | Preset to create js/react library |
| api | Preset to create simple API |
| ssr | Preset to create Server Side Rendering (SSR) API |
| ssg | Preset to create Static site generation (SSG) |
| spa | Preset to create Single-page application (SPA) |
| rest | Preset to create simple REST API |
| gql | Preset to create GraphQL API |
| mfe | Preset to create Micro-frontend (MFE) application |
| fullstack | Preset to create Fullstack React app with SSR |
Registered presets are selectable by the wizard. In-progress presets exist as source modules and are expected to become selectable as their generated project shape is finalized.
API
import { cli } from 'vyriy';
await cli(process.argv.slice(2));