Files
at-mintel/packages/cli/README.md

55 lines
1.6 KiB
Markdown

# @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 <path>`
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`.