While ForgeTS is primarily a CLI/scaffolding tool, it uses schemas to validate configuration and user inputs.
When generating a project, ForgeTS may use a configuration file (e.g., forge.config.json or forgets.json in the future) to persist settings.
The generator input often follows a schema like:
interface ProjectOptions {
name: string;
template: 'react-vite' | 'node-api';
language: 'typescript';
packageManager: 'pnpm' | 'npm' | 'yarn';
features: string[]; // e.g., ['auth', 'database']
}Each template may include a manifest.json describing its capabilities:
{
"name": "react-vite-template",
"version": "1.0.0",
"description": "React + Vite + TypeScript starter",
"variables": [
"APP_NAME",
"API_URL"
]
}