Marc Mintel 7498c24c9a fix(directus): resolve login failures and standardize project branding
- Fixed project isolation bypass (identity shadowing) by prefixing database service name.
- Standardized health check paths and protocols in docker-compose.yml.
- Resolved extension SyntaxError caused by duplicate banner injections in build scripts.
- Migrated extension build system to clean esbuild-based bundles (removing shims).
- Updated sync-directus.sh for project-prefixed service name.
- Synchronized latest production data and branding (AT Mintel).
2026-02-12 19:21:53 +01:00
2026-02-09 23:59:22 +01:00
2026-02-09 22:26:16 +01:00
2026-02-09 23:54:58 +01:00
2026-02-01 01:01:16 +01:00

Mintel Monorepo

This monorepo is the central "factory" for all Mintel client websites. It provides a standardized, versioned core of configurations, utilities, and infrastructure templates to ensure consistency, security, and rapid deployment across the entire portfolio.

🏗 Project Structure

  • apps/: Client website implementations (e.g., sample-website). These are consumers of the shared packages.
  • packages/: Shared, versioned npm packages under the @mintel namespace.

🚀 Getting Started

Prerequisites

  • pnpm (v10+)
  • Node.js (v20+)
  • Access to the private registry: https://npm.infra.mintel.me

Installation

pnpm install

Development

To run development mode for all shared packages:

pnpm dev

Building

To build all shared packages:

pnpm build

🛠 Creating a New Client Project

Never copy-paste files manually. Use the Mintel CLI to scaffold a new project with all best practices pre-configured:

pnpm --filter @mintel/cli start init apps/client-name.com

This command automatically:

  1. Sets up the directory structure.
  2. Links all @mintel shared packages.
  3. Configures next-intl (i18n) and Sentry.
  4. Injects Docker and Gitea Actions deployment workflows.

🔄 Release Cycle (Monorepo)

We use Changesets to manage the versioning and publishing of shared packages.

1. Documenting Changes

When you modify a package in packages/*, create a changeset:

pnpm changeset

Follow the prompts to select the package and the version bump type (patch, minor, major).

2. Versioning

When ready to release, bump the versions:

pnpm version-packages

This updates package.json files and generates CHANGELOG.md entries.

3. Publishing

The release to the private registry is automated via Gitea Actions. On every push to main, the release.yml workflow runs pnpm release. If new versions are detected, they are published to https://npm.infra.mintel.me.

🌐 Infrastructure & Deployment

Client websites scaffolded via the CLI use a tag-based deployment strategy:

  • Push to main: Deploys to the testing environment.
  • Git Tag v*.*.*-rc.*: Deploys to the staging environment.
  • Git Tag v*.*.*: Deploys to the production environment.

See the @mintel/infra package for detailed template documentation.

Description
No description provided
Readme 20 MiB
Languages
TypeScript 92.8%
JavaScript 4.2%
Shell 1.8%
Dockerfile 0.5%
CSS 0.4%
Other 0.3%