Project Types¶
Overview¶
Project types define how datamitsu detects different kinds of projects in your repository. Each type has marker files or patterns that datamitsu uses for automatic detection.
This configuration includes 11 project types.
Project Types Reference¶
| Project Type | Description | Marker Files |
|---|---|---|
| golang-package | Go module | **/go.mod |
| helm-chart | Helm chart | **/Chart.yaml |
| npm-package | Node.js/npm project | **/package.json |
| pnpm-package | pnpm project | pnpm-lock.yaml |
| pre-commit-project | Project using pre-commit framework | .pre-commit-config.yaml |
| python-package | Python project | **/pyproject.toml |
| terraform-project | Terraform infrastructure | **/*.tf |
| terragrunt-project | Terragrunt infrastructure | **/terragrunt.hcl |
| turbo-package | turbo project | turbo.json |
| typescript-project | TypeScript project | **/tsconfig.json |
| typst-project | Typst document | **/*.typ |
How Project Type Detection Works¶
When you run dm init or dm check, datamitsu:
- Scans your repository for marker files matching the patterns above
- Automatically detects which project types are present
- Enables the appropriate tools for each detected project type
For example, if your repository contains package.json files, datamitsu will:
- Detect it as an
npm-packageproject type - Enable tools like
eslint,prettier,oxlint, andsort-package-json