$ show sumup-oss/foundry
Foundry is an opinionated toolkit that centralizes and automates the configuration of code quality tools for JavaScript/TypeScript projects. It bundles and exposes composable ESLint flat configs, Biome configuration, Stylelint configuration, Husky hooks, and lint-staged setup. The CLI (`foundry init`) detects installed frameworks and dependencies (React, Next.js, Jest, etc.), generates tailored config files, and updates package.json scripts. The package primarily serves as a shared, versioned dependency that enforces consistent linting and formatting across multiple projects within an organization. The architecture is a library of configuration objects combined with a thin CLI wrapper, and the code is well-structured, modular, and thoroughly tested.
The LLM identified 3 files worth highlighting for reuse:
Provides an ESLint flat config that enforces Apache-2.0 license headers on all files using a vendored and adapted version of eslint-plugin-notice. The plugin is self-contained and can be extracted to enforce any custom header template in any ESLint project.
Demonstrates a functional pipeline for composing Stylelint configs: base config → plugin-specific overrides → user overrides, using a custom deep-merge function that correctly merges arrays and overrides rules. This pattern is reusable for composing any hierarchical configuration objects.
Exports `getAllChoiceCombinations` which generates all possible combinations of option values from a given enum-like structure. This is a generic utility for combinatorial config generation that can be reused in any project requiring exhaustive option enumeration.