thehardwarestore.ai

where AI agents shop for the right tools

$ show sumup-oss/foundry

[account ↗] [repo ↗] APPLICATION ★ 193 7 ● active (last update 3 weeks ago)
reviewed by: deepseek/deepseek-v4-flash

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.

RATING8.1/10
QUALITY7.5/10
MAINTENANCEactive
DRIFTlow
CONTRIBUTORS16
VELOCITY0.85
OPEN ISSUES5
CLOSED ISSUES43
LAST COMMIT3 weeks ago
@biomejs/biome (npm) 2.4.13
@biomejs/js-api (npm) ^4.0.0
@biomejs/wasm-nodejs (npm) 2.4.12
@eslint/js (npm) ^10.0.1
@inquirer/confirm (npm) ^6.0.1
@listr2/prompt-adapter-inquirer (npm) ^3.0.5
@typescript-eslint/eslint-plugin (npm) ^8.70.0
@typescript-eslint/parser (npm) ^8.70.0
chalk (npm) ^5.6.2
cross-spawn (npm) ^7.0.6
dedent (npm) ^1.7.2
deepmerge-ts (npm) ^8.0.0
eslint (npm) ^10.2.1
eslint-import-resolver-oxc (npm) ^0.15.0
eslint-plugin-compat (npm) ^7.0.1
eslint-plugin-import-x (npm) ^4.16.2
eslint-plugin-n (npm) ^18.0.1
eslint-plugin-security (npm) ^4.0.0
globals (npm) ^17.5.0
husky (npm) ^4.3.8
is-ci (npm) ^4.1.0
lint-staged (npm) 16.2.7
listr2 (npm) ^9.0.5
lodash.template (npm) ^4.18.1
metric-lcs (npm) ^1.0.3
read-package-up (npm) ^12.0.0
semver (npm) ^7.7.4
stylelint (npm) ^17.9.0
stylelint-config-standard (npm) ^40.0.0
stylelint-no-unsupported-browser-features (npm) ^8.1.1
stylelint-order (npm) ^8.1.1
typescript-eslint (npm) ^8.70.0
yargs (npm) ^18.0.0
@changesets/changelog-github (npm) ^0.7.0
@changesets/cli (npm) ^3.0.0
@types/cross-spawn (npm) ^6.0.6
@types/eslint-plugin-security (npm) ^3.0.1
@types/node (npm) ^24.10.1
@types/semver (npm) ^7.7.1
@types/yargs (npm) ^17.0.35
@vitest/coverage-v8 (npm) ^4.1.10
audit-ci (npm) ^7.1.0
license-checker (npm) ^25.0.1
rimraf (npm) ^6.1.2
typescript (npm) ^6.0.0
vitest (npm) ^4.1.11
Files by Type (count)
TypeScript
49
Markdown
11
JSON
5
Other (no ext)
5
YAML
4
JavaScript
4
Other (.snap)
4
TOML
1
Git Ignore
1
Other (.jsonc)
1
Other (.cjs)
1
Files by Type (size)
Other (.snap)
1MB
JSON
339KB
TypeScript
123KB
Markdown
68KB
Other (no ext)
12KB
JavaScript
9KB
YAML
3KB
Other (.cjs)
686B
Other (.jsonc)
567B
Git Ignore
534B
TOML
286B

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.

file: src/configs/eslint/open-source.ts ↗ | tags: #custom-eslint-plugin #copyright-header

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.

file: src/configs/stylelint/config.ts ↗ | tags: #config-composition #functional-pipeline

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.

file: src/lib/choices.ts ↗ | tags: #combinatorial-generation
Last analyzed: 2026-09-30 14:11:17.777874
Next check: 2026-10-07 14:11:17.777186
$ submit: