Files
JMR-dev 648a6dd29c chore: scaffold toolchain for the Electron shell
Set up the package, compiler and quality gates before any app code so
every later change lands under the same rules: Node 26 via .nvmrc and
engines, TypeScript 7 in strict mode with the extra strictness flags,
swc for transpiling, oxlint with type-aware, Unicorn and security rules
(eslint-plugin-security and no-unsanitized loaded as JS plugins),
oxfmt, Vitest with a 100% coverage gate, and husky hooks that run the
checks and commitlint.

Type escape hatches, lint suppressions and coverage exemptions are
banned unless registered in exceptions.json. scripts/audit-exceptions
enforces that, and its test runs it against this repository, so an
unregistered suppression fails both the pre-commit hook and CI.

npm 11 blocks dependency install scripts by default. None are needed:
Electron downloads its binary on first use, swc's native binding comes
from optionalDependencies, fsevents ships prebuilt, and
electron-winstaller only serves Squirrel installers, which aren't used.
They are recorded as denied in allowScripts.
2026-09-28 15:52:48 -05:00

576 B

mdts Desktop

A desktop app for browsing and previewing folders of Markdown, built on mdts and Electron. Work in progress.

Development

Requires Node 26 (see .nvmrc) and npm 11.

npm ci
npm run check      # format, lint, typecheck, exception audit
npm run test:unit  # Vitest, 100% coverage gate

Type-safety escape hatches, lint suppressions and coverage exemptions are only allowed with an entry in exceptions.json; npm run audit:exceptions enforces this.

License

MIT. mdts is MIT-licensed by its authors.