Apps¶
Overview¶
Apps are the actual applications managed by datamitsu. Unlike Tools which are configurations, Apps are the binaries and packages that get installed and executed.
This configuration manages 118 apps across multiple runtimes (binary, bun, node, python, go, jvm).
Apps by Category¶
- Code Generation (6 apps): buf, openapi-generator, protoc, etc.
- Containers & Kubernetes (5 apps): crane, dive, gcrane, etc.
- Database Migrations (2 apps): golang-migrate, goose
- Data Processing (4 apps): dasel, fx, jq, etc.
- Documentation & Spelling (10 apps): cspell, d2, harper-cli, etc.
- Git & Releases (8 apps): commitlint, conventional-changelog, dm-internal-lefthook-upstream, etc.
- HTTP & gRPC Clients (3 apps): grpcurl, httpstat, xh
- Infrastructure as Code (4 apps): terraform-docs, terragrunt, tfupdate, etc.
- Linters & Formatters (42 apps): actionlint, alint, ast-grep, etc.
- Package Managers (2 apps): pnpm, utpm
- Secrets & Signing (4 apps): age, age-keygen, cosign, etc.
- Security Scanners (20 apps): bandit, bearer, blint, etc.
- Task Runners & Dev Servers (3 apps): air, just, task
- Type Checkers (3 apps): mypy, tsc, ty
- Utilities (2 apps): allurectl, oxipng
Apps Reference¶
| App | Category | Runtime | Info | Description |
|---|---|---|---|---|
| actionlint | Linters & Formatters | binary | Info | :octocat: Static checker for GitHub Actions workflow files |
| age | Secrets & Signing | binary | Info | A simple, modern and secure encryption tool (and Go library) with small explicit keys, no config options, and UNIX-style composability. |
| age-keygen | Secrets & Signing | binary | Info | Generates age key pairs (age-keygen), shipped in the same release archive as age. |
| air | Task Runners & Dev Servers | binary | Info | βοΈ Live reload for Go apps |
| alint | Linters & Formatters | binary | Info | Language-agnostic linter for repository structure, files, and content |
| allurectl | Utilities | binary | Info | Allure TestOps Command line tool |
| ast-grep | Linters & Formatters | binary | Info | β‘A CLI tool for code structural search, lint and rewriting. Written in Rust |
| bandit | Security Scanners | python | Info | Security oriented static analyser for python code. |
| bearer | Security Scanners | binary | Info | Code security scanning tool (SAST) to discover, filter and prioritize security and privacy risks. |
| blint | Security Scanners | python | Info | Linter and SBOM generator for binary files. |
| buf | Code Generation | binary | Info | The best way of working with Protocol Buffers. |
| cargo-deny | Security Scanners | binary | Info | β Cargo plugin for linting your dependencies π¦ |
| checkmake | Linters & Formatters | binary | Info | Linter/analyzer for Makefiles |
| checkov | Security Scanners | python | Info | Infrastructure as code static analysis |
| commitlint | Git & Releases | node | N/A | Lint your commit messages |
| conftest | Linters & Formatters | binary | Info | Write tests against structured configuration data using the Open Policy Agent Rego query language |
| conventional-changelog | Git & Releases | node | Info | Generate a changelog from git metadata. |
| cosign | Secrets & Signing | binary | Info | Code signing and transparency for containers and binaries |
| crane | Containers & Kubernetes | binary | Info | Go library and CLIs for working with container registries |
| cspell | Documentation & Spelling | node | N/A | A Spelling Checker for Code! |
| d2 | Documentation & Spelling | binary | Info | D2 is a modern diagram scripting language that turns text to diagrams. |
| dasel | Data Processing | binary | Info | Unified querying, transformation, and modification of JSON, TOML, YAML, XML, INI, HCL, KDL and CSV. |
| dclint | Linters & Formatters | node | Info | A command-line tool for validating and enforcing best practices in Docker Compose files. |
| deptry | Linters & Formatters | python | Info | A command line utility to check for unused, missing and transitive dependencies in a Python project. |
| detect-secrets | Security Scanners | python | Info | Tool for detecting secrets in the codebase |
| dive | Containers & Kubernetes | binary | Info | A tool for exploring each layer in a docker image |
| dm-internal-lefthook-upstream | Git & Releases | binary | Info | Fast and powerful Git hooks manager for any type of projects. |
| dockle | Security Scanners | go | Info | Container Image Linter for Security, Helping build the Best-Practice Docker Image, Easy to start |
| dotenv-linter | Linters & Formatters | binary | Info | β‘οΈLightning-fast linter for .env files. Written in Rust π¦ |
| droast | Linters & Formatters | binary | Info | droast - a dockerfile linter that actually has opinions π₯ |
| editorconfig-checker | Linters & Formatters | binary | Info | A tool to verify that your files are in harmony with your .editorconfig |
| eslint | Linters & Formatters | bun | N/A | An AST-based pattern checker for JavaScript. |
| fx | Data Processing | binary | Info | Terminal JSON viewer & processor |
| gcrane | Containers & Kubernetes | binary | Info | Go library and CLIs for working with container registries |
| git-cliff | Git & Releases | binary | Info | A highly customizable Changelog Generator that follows Conventional Commit specifications β°οΈ |
| gitleaks | Security Scanners | binary | Info | Find secrets with Gitleaks π |
| golang-migrate | Database Migrations | binary | Info | Database migrations. CLI and Golang library. |
| golangci-lint | Linters & Formatters | binary | Info | Fast linters runner for Go |
| goose | Database Migrations | binary | Info | A database migration tool. Supports SQL migrations and Go functions. |
| govulncheck | Security Scanners | go | Info | Govulncheck reports known vulnerabilities that affect Go code. |
| grpcurl | HTTP & gRPC Clients | binary | Info | Like cURL, but for gRPC: Command-line tool for interacting with gRPC servers |
| grype | Security Scanners | binary | Info | A vulnerability scanner for container images and filesystems |
| hadolint | Linters & Formatters | binary | Info | Dockerfile linter, validate inline bash, written in Haskell |
| harper-cli | Documentation & Spelling | binary | Info | Offline, privacy-first grammar checker. Fast, open-source, Rust-powered |
| helm | Containers & Kubernetes | binary | N/A | The Kubernetes Package Manager |
| httpstat | HTTP & gRPC Clients | python | Info | curl statistics made simple |
| jq | Data Processing | binary | Info | Command-line JSON processor |
| just | Task Runners & Dev Servers | binary | Info | π€ Just a command runner |
| knip | Linters & Formatters | node | N/A | Find and fix unused dependencies, exports and files in your TypeScript and JavaScript projects |
| ktfmt | Linters & Formatters | jvm | Info | A program that reformats Kotlin source code to comply with the common community standard for Kotlin code conventions. |
| ktlint | Linters & Formatters | jvm | Info | An anti-bikeshedding Kotlin linter with built-in formatter |
| kube-linter | Security Scanners | binary | Info | KubeLinter is a static analysis tool that checks Kubernetes YAML files and Helm charts to ensure the applications represented in them adhere to best practices. |
| kubeconform | Linters & Formatters | binary | Info | A FAST Kubernetes manifests validator, with support for Custom Resources! |
| kubectl | Containers & Kubernetes | binary | N/A | Kubernetes command-line tool |
| lefthook | Git & Releases | bun | N/A | Fast and powerful Git hooks manager for any type of projects. |
| lefthook-sort | Git & Releases | bun | N/A | JavaScript parser and stringifier for YAML |
| ls-lint | Linters & Formatters | binary | Info | An extremely fast directory and filename linter - Bring some structure to your project filesystem |
| lychee | Documentation & Spelling | binary | Info | β‘ Fast, async, stream-based link checker written in Rust. Finds broken URLs and mail addresses inside Markdown, HTML, reStructuredText, websites and more! |
| markdownlint-cli2 | Linters & Formatters | node | N/A | A fast, flexible, configuration-based command-line interface for linting Markdown/CommonMark files with the markdownlint library |
| mdsf | Linters & Formatters | binary | Info | Format markdown code blocks using your favorite tools |
| mmdc | Documentation & Spelling | node | Info | Command-line interface for mermaid |
| mypy | Type Checkers | python | Info | Optional static typing for Python |
| openapi-generator | Code Generation | jvm | Info | OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3) |
| osv-scanner | Security Scanners | binary | Info | Vulnerability scanner written in Go which uses the data provided by https://osv.dev |
| oxfmt | Linters & Formatters | bun | N/A | Formatter for the JavaScript Oxidation Compiler |
| oxipng | Utilities | binary | Info | Multithreaded PNG optimizer written in Rust |
| oxlint | Linters & Formatters | bun | N/A | Linter for the JavaScript Oxidation Compiler |
| pinact | Security Scanners | binary | Info | pinact is a CLI to edit GitHub Workflow and Composite action files and pin versions of Actions and Reusable Workflows. pinact can also update their versions and verify version annotations. |
| pnpm | Package Managers | node | Info | Fast, disk space efficient package manager |
| pre-commit | Git & Releases | python | Info | A framework for managing and maintaining multi-language pre-commit hooks. |
| prettier | Linters & Formatters | node | N/A | Prettier is an opinionated code formatter |
| protoc | Code Generation | binary | Info | Protocol Buffers - Google's data interchange format |
| protolint | Linters & Formatters | binary | Info | A pluggable linter and fixer to enforce Protocol Buffer style and conventions. |
| quicktype | Code Generation | node | Info | Generate types and converters from JSON, Schema, and GraphQL |
| ruff | Linters & Formatters | binary | Info | An extremely fast Python linter and code formatter, written in Rust. |
| rustfmt | Linters & Formatters | unknown | N/A | Rust formatter (cargo fmt) β system toolchain; skipped when rust is absent |
| scorecard | Security Scanners | binary | Info | OpenSSF Scorecard - Security health metrics for Open Source |
| semgrep | Security Scanners | python | Info | Lightweight static analysis for many languages. Find bug variants with patterns that look like source code. |
| shellcheck | Linters & Formatters | binary | Info | ShellCheck, a static analysis tool for shell scripts |
| shfmt | Linters & Formatters | binary | Info | A shell parser, formatter, and interpreter with bash and zsh support; includes shfmt |
| skywalking-eyes | Linters & Formatters | go | Info | A full-featured license tool to check and fix license headers and resolve dependencies' licenses. |
| slidev | Documentation & Spelling | node | Info | Presentation slides for developers |
| snyk | Security Scanners | binary | Info | Snyk CLI scans and monitors your projects for security vulnerabilities. |
| sops | Secrets & Signing | binary | Info | Simple and flexible tool for managing secrets |
| sort-keys | Linters & Formatters | bun | N/A | Alphabetical key sorter for YAML and .properties files |
| sort-package-json | Linters & Formatters | node | Info | Sort an Object or package.json based on the well-known package.json keys |
| spectral | Linters & Formatters | node | Info | A flexible JSON/YAML linter for creating automated style guides, with baked in support for OpenAPI (v3.1, v3.0, and v2.0), Arazzo v1.0, as well as AsyncAPI v2.x. |
| sqlc | Code Generation | binary | Info | Generate type-safe code from SQL |
| sqlfluff | Linters & Formatters | python | Info | The SQL Linter for Humans |
| sqruff | Linters & Formatters | binary | Info | Fast SQL formatter/linter |
| stylelint | Linters & Formatters | node | N/A | A mighty CSS linter that helps you avoid errors and enforce conventions. |
| swag | Code Generation | binary | Info | Automatically generate RESTful API documentation with Swagger 2.0 for Go. |
| syft | Security Scanners | binary | Info | CLI tool and library for generating a Software Bill of Materials from container images and filesystems |
| syncpack | Linters & Formatters | node | Info | Consistent dependency versions in large JavaScript Monorepos |
| task | Task Runners & Dev Servers | binary | Info | A fast, cross-platform build tool inspired by Make, designed for modern workflows. |
| terraform-docs | Infrastructure as Code | binary | Info | N/A |
| terragrunt | Infrastructure as Code | binary | Info | Terragrunt is a flexible orchestration tool that allows Infrastructure as Code written in OpenTofu/Terraform to scale. |
| tflint | Linters & Formatters | binary | Info | A Pluggable Terraform Linter |
| tfupdate | Infrastructure as Code | binary | Info | Update version constraints in your Terraform / OpenTofu configurations |
| tofu | Infrastructure as Code | binary | Info | OpenTofu lets you declaratively manage your cloud infrastructure. |
| tombi | Linters & Formatters | binary | Info | TOML Formatter / Linter / Language Server |
| trivy | Security Scanners | binary | Info | Find vulnerabilities, misconfigurations, secrets, SBOM in containers, Kubernetes, code repositories, clouds and more |
| trufflehog | Security Scanners | binary | Info | Find, verify, and analyze leaked credentials |
| tsc | Type Checkers | node | Info | TypeScript is a language for application scale JavaScript development |
| ty | Type Checkers | binary | Info | An extremely fast Python type checker and language server, written in Rust. |
| typos | Documentation & Spelling | binary | Info | Source code spell checker |
| typst | Documentation & Spelling | binary | Info | A markup-based typesetting system that is powerful and easy to learn. |
| typstyle | Linters & Formatters | binary | Info | Beautiful and reliable typst code formatter |
| utpm | Package Managers | binary | Info | A package manager for local and remote Typst packages. |
| vacuum | Linters & Formatters | binary | Info | vacuum is the worlds fastest and most versatile OpenAPI, AsyncAPI & JSON Schema linter, docs generator and toolkit. It tears through API specs at light speed. 100% compatible with Spectral rulesets,... |
| vale | Documentation & Spelling | binary | Info | |
| wt | Git & Releases | binary | Info | Worktrunk is a CLI for Git worktree management, designed for parallel AI agent workflows |
| xh | HTTP & gRPC Clients | binary | Info | Friendly and fast tool for sending HTTP requests |
| yamlfmt | Linters & Formatters | binary | Info | An extensible command line tool or library to format yaml files. |
| yamllint | Linters & Formatters | python | Info | A linter for YAML files. |
| yq | Data Processing | binary | Info | yq is a portable command-line YAML, JSON, XML, CSV, TOML, HCL and properties processor |
| zensical | Documentation & Spelling | python | Info | A modern static site generator built by the creators of Material for MkDocs |
| zizmor | Security Scanners | binary | Info | Static analysis for GitHub Actions |
How Apps Work¶
When you run dm init, datamitsu:
- Downloads and caches app binaries based on your project types
- Supports multiple runtimes:
- binary β Native executables (Go, Rust compiled tools)
- bun β npm packages and bundled scripts executed via managed Bun
- node β npm packages executed via Node.js
- python β Python packages installed via pip/uv
- Apps are referenced by Tools configurations
When you run dm check, datamitsu executes Tools, which invoke Apps with configured arguments and file globs.