# @mintel/cli The Mintel CLI is the primary automation tool for managing the monorepo and ensuring all client websites follow the same high-quality standards and infrastructure patterns. ## 🚀 Installation ### Using npx (Recommended) Run the CLI without installing it globally. This always uses the latest version from the registry: ```bash npx @mintel/cli init apps/my-new-website.com ``` ### Global Installation Install the CLI globally from the Mintel registry: ```bash npm install -g @mintel/cli ``` ### Development (Local Link) If you are contributing to the CLI, you can link it locally: ```bash cd packages/cli pnpm build npm link ``` ## 🛠 Commands ### `init ` Scaffolds a new, production-ready client website in the specified path. ```bash mintel init apps/my-new-website.com ``` #### What it does: 1. **Project Structure**: Creates a modern Next.js directory layout. 2. **Shared Configs**: Generates `package.json`, `tsconfig.json`, and `eslint.config.mjs` that extend the `@mintel` shared packages. 3. **Localization**: Sets up a localized routing structure (`src/app/[locale]`) with `next-intl` pre-configured. 4. **Error Tracking**: Injects Sentry/GlitchTip instrumentation. 5. **Environment Safety**: Adds a validation script (`scripts/validate-env.ts`) to catch missing secrets at build time. 6. **Infrastructure**: Injects the universal `Dockerfile`, `docker-compose.yml`, and the tag-based Gitea Actions deployment workflow. ## 🛠 Development To add new features to the scaffold (e.g., new shared files or config templates), modify `packages/cli/src/index.ts`.