Skip to main content
Datamitsu

Every stack comes with a configuration tax

ESLint. Prettier. Git hooks. You configure them once. Then again. Then every update breaks something different in each repo. datamitsu exists so you pay this tax only once.

Configuration as code

A single JavaScript file describes your entire toolchain. Extend it, override it, compose it. Publish it as an npm package, gem, or pypi release — or share it as a remote file with hash verification. Every team inherits your decisions automatically.

datamitsu.config.js
/// <reference path=".datamitsu/datamitsu.config.d.ts" />

function getConfig(input) {
return {
...input,
apps: {
...input.apps,
lefthook: { type: "binary", required: true },
eslint: { type: "fnm" },
yamllint: { type: "uv" },
ktlint: { type: "jvm" },
},
};
}

globalThis.getConfig = getConfig;
globalThis.getMinVersion = () => "0.0.1";

Real output. Real project.

This is actual datamitsu check output from ovineko/ovineko — a TypeScript monorepo. Cold start downloads and verifies all tools. Subsequent runs use cached binaries.

Pay once. Inherit everywhere.

1

Describe your environment

Write JavaScript config with tools, runtimes, and rules. As flexible as you need — conditions, inheritance, composition.

2

Distribute as a package

Share via npm, gem, or pypi. Versioned, cacheable, reproducible. No manual copying, no "how did I configure this last time".

3

Update in one place

Change once, every dependent project moves forward together. No lost weeks before the first line of code. No configuration drift across teams.

A foundation, not a boilerplate

No Opinions, Just Foundation

Stable, verifiable, reproducible core. You bring the opinions. datamitsu ensures they travel with you.

Config as Code

JavaScript-powered configuration with chaining and inheritance. Build once, distribute everywhere via npm, gem, or pypi.

Multi-Runtime Support

Manage binaries, Python (UV), Node.js (FNM), and JVM tools in isolated environments with reproducible installs.

Security First

Every binary verified with SHA-256. No bypassing. No exceptions. Hash verification is mandatory for all downloads.

Data — configuration, everything needed for your environment to work.
Mitsu — honey (蜜) and light (光) in Japanese.

Sweetness from configuration no longer being pain.
Clarity from everything being in its place.

Your toolchain deserves a home

Not a boilerplate, not scattered across projects, not reinvented from scratch every time. datamitsu gives it one — versioned, composable, and always one command away.