Skip to content

Setup Configurations

Overview

Setup configurations define which files datamitsu creates when you run dm setup. These include dotfiles, tool configurations, AI instructions, and IDE settings.

This configuration includes 44 setup configs.

Setup Configs Reference

File Tools Scope Project Types Link Target Delete Only Also Deletes
.claude/skills/cleanup-agents-md/SKILL.md git-root all
.claude/skills/setup-tsconfig/SKILL.md git-root all
.codex/prompts/cleanup-agents-md.md git-root all
.codex/prompts/setup-tsconfig.md git-root all
.cursor/rules git-root all ../AGENTS.md
.cursorrules git-root all AGENTS.md
.datamitsu/scripts/check-empty-files.sh git-root all
.datamitsu/scripts/format-terraform-spacing.sh git-root terraform-project, terragrunt-project
.dockerignore git-root all
.editorconfig editorconfig-checker git-root all
.editorconfig-checker.json editorconfig-checker git-root all
.github/copilot-instructions.md git-root all ../AGENTS.md
.gitignore git-root all
.gitleaks.toml gitleaks git-root all gitleaks.toml
.golangci.yaml golangci-lint, golangci-lint-fmt project golang-package .golangci.yml
.golangci.yaml
.golangci.toml
.golangci.json
.node-version git-root all
.npmrc git-root npm-package
.oxlintrc.json oxlint project npm-package
.syncpackrc.json syncpack git-root npm-package .syncpackrc
.syncpackrc.json
.syncpackrc.yaml
.syncpackrc.yml
.syncpackrc.js
.syncpackrc.ts
.syncpackrc.mjs
.syncpackrc.cjs
syncpack.config.js
syncpack.config.cjs
syncpack.config.ts
syncpack.config.mjs
.tflint.hcl tflint git-root terraform-project
.tombi.toml tombi git-root all tombi.toml
.tombi.toml
.trufflehog-exclude-paths.txt trufflehog git-root all
.vale.ini vale git-root all _vale.ini
vale.ini
.vscode/extensions.json git-root all
.vscode/settings.json git-root all
.windsurfrules git-root all AGENTS.md
.yamlfmt.yaml yamlfmt git-root all .yamlfmt
yamlfmt.yml
yamlfmt.yaml
.yamlfmt.yml
.yamllint.yaml yamllint git-root all .yamllint
.yamllint.yml
AGENTS.md git-root all
CLAUDE.md git-root all AGENTS.md
commitlint.config.mjs git-root all .commitlintrc
.commitlintrc.json
.commitlintrc.yaml
.commitlintrc.yml
.commitlintrc.js
.commitlintrc.cjs
.commitlintrc.mjs
.commitlintrc.ts
.commitlintrc.cts
.commitlintrc.mts
commitlint.config.js
commitlint.config.cjs
commitlint.config.mjs
commitlint.config.ts
commitlint.config.cts
commitlint.config.mts
cspell.config.mjs cspell git-root all .cspell.config.yaml
.cspell.config.yml
cspell.config.yaml
cspell.config.yml
.cspell.yaml
.cspell.yml
cspell.yaml
cspell.yml
.cspell.json
cspell.json
.cSpell.json
cSpell.json
.cspell.jsonc
cspell.jsonc
.cspell.config.json
.cspell.config.jsonc
cspell.config.json
cspell.config.jsonc
cspell.config.mjs
cspell.config.cjs
.cspell.config.mjs
.cspell.config.cjs
.cspell.config.js
cspell.config.mts
cspell.config.ts
cspell.config.cts
.cspell.config.mts
.cspell.config.ts
.cspell.config.cts
cspell.config.toml
.cspell.config.toml
deprecated-configs project all .babelrc
.babelrc.js
babel.config.js
.lintstagedrc
.lintstagedrc.json
.lintstagedrc.yaml
.lintstagedrc.yml
.lintstagedrc.mjs
lint-staged.config.mjs
.lintstagedrc.cjs
lint-staged.config.cjs
lint-staged.config.js
.lintstagedrc.js
.husky
.taplo.toml
taplo.toml
eslint.config.mjs eslint project npm-package eslint.config.js
eslint.config.mjs
eslint.config.cjs
eslint.config.ts
eslint.config.mts
eslint.config.cts
.eslintrc.js
.eslintrc.cjs
.eslintrc.yaml
.eslintrc.yml
.eslintrc.json
GEMINI.md git-root all AGENTS.md
hadolint.yaml hadolint git-root all .hadolint.yaml
hadolint.yaml
.config/hadolint.yaml
.hadolint/hadolint.yaml
knip.config.js knip git-root npm-package knip.json
knip.jsonc
.knip.json
.knip.jsonc
knip.ts
knip.js
knip.config.ts
knip.config.js
lefthook.yaml git-root all .lefthook.yml
lefthook.yaml
.config/lefthook.yml
.lefthook.yaml
.config/lefthook.yaml
lefthook.toml
.lefthook.toml
.config/lefthook.toml
lefthook.json
.lefthook.json
.config/lefthook.json
oxfmt.config.ts oxfmt git-root all .oxfmtrc
.oxfmtrc.json
.oxfmtrc.jsonc
oxfmt.config.js
oxfmt.config.mjs
oxfmt.config.cjs
oxfmt.config.ts
oxfmt.config.mts
oxfmt.config.cts
package.json project npm-package
pnpm-workspace.yaml git-root pnpm-package
prettier.config.mjs prettier project npm-package .prettierrc
.prettierrc.json
.prettierrc.yml
.prettierrc.yaml
.prettierrc.json5
.prettierrc.js
prettier.config.js
.prettierrc.ts
prettier.config.ts
.prettierrc.mjs
prettier.config.mjs
.prettierrc.mts
prettier.config.mts
.prettierrc.cjs
prettier.config.cjs
.prettierrc.cts
prettier.config.cts
.prettierrc.toml
pyproject.toml project python-package
turbo.json git-root turbo-package

Field Descriptions

  • File: The filename or path that will be created or managed
  • Tools: The tool(s) this config belongs to. dm setup --tools <name> writes only configs whose Tools include a selected name; configs with no Tools (—) are infrastructure — always written by a plain dm setup, skipped under --tools
  • Scope: Where the file is created:
  • git-root: Created at the repository root
  • project: Created in each project directory (for monorepos)
  • Project Types: Which project types this config applies to (empty = all projects)
  • Link Target: If present, creates a symlink to this target instead of a file
  • Delete Only: If checked (✓), only removes files without creating new ones
  • Also Deletes: Other filenames that will be removed when this config is applied

How Setup Works

When you run dm setup, datamitsu:

  1. Detects your project type (npm, Go, TypeScript, etc.)
  2. Filters configs by project type (configs with empty project types apply to all)
  3. For each config:
  4. If Delete Only is checked: removes the file and any files in Also Deletes
  5. If Link Target is set: creates a symlink to the target
  6. Otherwise: generates content and merges with existing files
  7. Preserves your customizations during updates