55 lines
1.6 KiB
Markdown
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`.
|