DevMate ADELA
winget install --id=ADELA.Devmate -e DevMate is a developer companion CLI for project analysis, JSON tools, env checks, Git summaries, file audits, JWT helpers, system status, doctor checks, and safe process cleanup.
winget install --id=ADELA.Devmate -e DevMate is a developer companion CLI for project analysis, JSON tools, env checks, Git summaries, file audits, JWT helpers, system status, doctor checks, and safe process cleanup.
DevMate is a developer diagnostics CLI for project analysis, env files, Git, JWTs, files, system health, installed tools, updates, and safe cleanup.
It is designed to be useful both for humans in a terminal and for scripts through --json output.
analyze: audits projects or individual source files with language/framework detection, LOC stats, dependency summaries, health scoring, warnings, recommendations, and optional detailed architecture/git/complexity insight.setup: first-run onboarding for the current project.doctor: checks important developer tools for the detected project stack.system: shows one-shot or live system status.files: searches, summarizes, trees, and finds duplicate files while respecting gitignore rules.env: inspects .env files and compares expected/used variables.git: summarizes repository state, commits, branches, and contributors.json: validates, formats, minifies, and diffs JSON.jwt: generates, decodes, and verifies HMAC JWTs.kill: safely previews and terminates selected resource-heavy processes.update / uninstall: manages DevMate based on how it was installed.The planned Windows install path is winget:
winget install ADELA.Devmate
Until the winget package is accepted, install from GitHub Releases after the first release is published:
iwr "https://github.com/GOALLINNOOUT/Devmate/releases/download/v0.1.6/devmate-v0.1.6-x86_64-pc-windows-msvc.zip" -OutFile devmate.zip
Expand-Archive devmate.zip -DestinationPath devmate -Force
Then open the extracted folder and run the app:
cd .\devmate
.\devmate.exe setup
If you extracted with File Explorer, open the folder that contains devmate.exe, press and hold shift and right-click inside the folder, choose Open in Terminal, then run:
.\devmate.exe setup
To make devmate work from any terminal, add the folder that contains devmate.exe to your user PATH.
PowerShell:
$devmatePath = "$PWD"
[Environment]::SetEnvironmentVariable(
"Path",
[Environment]::GetEnvironmentVariable("Path", "User") + ";$devmatePath",
"User"
)
Close and reopen Terminal, then verify:
devmate --version
devmate setup
You can also add it with the Windows UI:
devmate.exe.Release downloads are published at: https://github.com/GOALLINNOOUT/Devmate/releases
Expected release files:
devmate-v0.1.6-x86_64-pc-windows-msvc.zipdevmate-v0.1.6-x86_64-unknown-linux-gnu.tar.gzdevmate-v0.1.6-x86_64-apple-darwin.tar.gzdevmate-v0.1.6-aarch64-apple-darwin.tar.gzcurl -L \
https://github.com/GOALLINNOOUT/Devmate/releases/download/v0.1.6/devmate-v0.1.6-x86_64-unknown-linux-gnu.tar.gz \
-o devmate-linux.tar.gz
tar -xzf devmate-linux.tar.gz
cd devmate-v0.1.6-x86_64-unknown-linux-gnu
./devmate setup
To install it for your user:
mkdir -p ~/.local/bin
cp devmate ~/.local/bin/devmate
chmod +x ~/.local/bin/devmate
Make sure ~/.local/bin is on your PATH, then open a new terminal and verify:
devmate --version
devmate setup
Intel Macs:
curl -L \
https://github.com/GOALLINNOOUT/Devmate/releases/download/v0.1.6/devmate-v0.1.6-x86_64-apple-darwin.tar.gz \
-o devmate-macos.tar.gz
Apple Silicon Macs:
curl -L \
https://github.com/GOALLINNOOUT/Devmate/releases/download/v0.1.6/devmate-v0.1.6-aarch64-apple-darwin.tar.gz \
-o devmate-macos.tar.gz
Then extract and install:
tar -xzf devmate-macos.tar.gz
cd devmate-v0.1.6-*-apple-darwin
./devmate setup
mkdir -p ~/.local/bin
cp devmate ~/.local/bin/devmate
chmod +x ~/.local/bin/devmate
Make sure ~/.local/bin is on your PATH, then open a new terminal and verify:
devmate --version
devmate setup
If macOS blocks the binary because it was downloaded from the internet, open System Settings > Privacy & Security and allow DevMate, or remove the quarantine attribute:
xattr -d com.apple.quarantine ~/.local/bin/devmate
If you already have Rust:
cargo install devmate --force
git clone https://github.com/GOALLINNOOUT/Devmate.git
cd Devmate
cargo build --release
cargo install --path .
devmate setup
devmate doctor
devmate analyze
devmate system
devmate files stats
setup is the onboarding command. It detects the current project, lists missing required/recommended/optional tools, and suggests the next commands to try.
devmate update
devmate update detects the install method and runs the right package-manager command when possible:
winget upgrade --id ADELA.Devmate --exactcargo install devmate --forcePreview first:
devmate update --dry-run
devmate update --json
devmate uninstall
devmate uninstall asks before removing anything. It uses winget or cargo when DevMate was installed that way. For a manual zip/tar install, it schedules the current devmate executable for deletion after DevMate exits and reminds you to remove that folder from PATH.
Non-interactive:
devmate uninstall --yes
devmate uninstall --dry-run
devmate analyze
devmate doctor
devmate system --watch
devmate files stats
devmate env inspect --example .env.example
Most diagnostic commands support --json for automation:
devmate setup --json
devmate analyze --json
devmate doctor --json
devmate system --json
devmate update --json
devmate uninstall --json
analyzeAnalyzes a project directory or a single source file. The target defaults to the current directory.
devmate analyze [target] [--details] [--json] [--config ] [--large-file-bytes ]
What it reports:
Detailed project mode adds:
Single-file mode reports:
Examples:
devmate analyze
devmate analyze C:\path\to\project
devmate analyze src\commands\analyze.rs
devmate analyze --details
devmate analyze --json
devmate analyze --config devmate.toml
devmate analyze --large-file-bytes 1048576
Detection includes Rust, Go, Python, Node, TypeScript, JavaScript, React, Next.js, Express, NestJS, Vite, Vue, Nuxt, Angular, Astro, Svelte, Deno, Docker, Kubernetes, Terraform, Java, Kotlin, Scala, C, C++, C#, PHP, Ruby, Swift, Dart/Flutter, Elixir, Erlang, Haskell, Lua, R, Julia, Zig, Nim, SQL, and related frameworks/tools where manifests reveal them.
Optional devmate.toml:
ignore = ["dist", "coverage"]
max_file_lines = 500
max_function_lines = 80
max_nesting_depth = 5
warn_console_log = true
warn_todo = true
health_fail_below = 75
setupRuns a first-use check for the current project and suggests what to do next.
devmate setup [path] [--json]
Examples:
devmate setup
devmate setup C:\path\to\project
devmate setup --json
It reports detected project types, missing required/recommended/optional tools, useful next commands, and update commands.
updateUpdates DevMate using the install method that is available on this machine.
devmate update [--dry-run] [--yes] [--json]
Examples:
devmate update
devmate update --dry-run
devmate update --json
Package-manager installs update through the package manager. Manual GitHub Release installs start a background updater that downloads the latest release for your OS and replaces the current executable after DevMate exits.
uninstallUninstalls DevMate.
devmate uninstall [--dry-run] [--yes] [--json]
Examples:
devmate uninstall
devmate uninstall --dry-run
devmate uninstall --yes
It asks for confirmation unless --yes is supplied. Manual zip/tar installs delete the current executable after DevMate exits; package-manager installs use the package manager.
jsonValidates and transforms JSON files.
devmate json validate
devmate json format [-o ]
devmate json minify [-o ]
devmate json diff
Examples:
devmate json validate package.json
devmate json format data.json --output pretty.json
devmate json minify data.json --output data.min.json
devmate json diff old.json new.json
envInspects .env files and compares them with variables referenced in source files.
devmate env inspect [path] [-f ] [-e ] [--json]
Defaults:
path: .file: .envExamples:
devmate env inspect
devmate env inspect . --example .env.example
devmate env inspect . --file .env.local --json
It reports duplicates, empty values, malformed lines, variables referenced by source code, values missing from .env, and differences against .env.example.
gitSummarizes a Git repository.
devmate git [path] [--json] [--commits ]
Examples:
devmate git
devmate git . --commits 20
devmate git --json
It reports branch state, clean/dirty status, modified files, ahead/behind counts, recent commits, contributors, and branches.
filesSearches, visualizes, and audits files while respecting gitignore-style rules and always skipping common heavy folders such as .git, node_modules, and target.
devmate files search [path] [--regex] [--json]
devmate files tree [path] [-d ] [--json]
devmate files stats [path] [--json]
devmate files dupes [path] [--json]
Examples:
devmate files search TODO
devmate files search "println!" src --regex
devmate files tree . --depth 4
devmate files stats
devmate files dupes --json
jwtGenerates, inspects, and verifies HMAC JSON Web Tokens.
Supported algorithms:
hs256hs384hs512devmate jwt generate --secret [--algorithm hs256] [--claim key=value] [--expires-in ]
devmate jwt decode [--secret ] [--algorithm hs256]
devmate jwt verify --secret [--algorithm hs256]
devmate jwt interactive
Examples:
devmate jwt generate --secret secret --claim sub=123
devmate jwt decode
devmate jwt decode --secret secret
devmate jwt verify --secret secret
devmate jwt generate --secret secret --claim admin=true --claim count=3
decode without a secret performs unverified inspection. decode --secret verifies while still showing the decoded header and claims. verify returns verified claims only.
systemShows system information.
devmate system [--json] [--watch] [--interval ]
Examples:
devmate system
devmate system --json
devmate system --watch
devmate system --watch --interval 2
--watch opens a live dashboard view with clearer CPU, RAM, disk, network, battery, GPU, and Rust status. It samples on the selected interval, keeps the CPU sampler warm for more stable readings, and redraws only when visible values change. Press Ctrl+C to stop it. If you still see repeated blocks or broken table borders, your shell may be running an old installed binary; check with where.exe devmate and reinstall.
doctorChecks installed developer tools and versions.
devmate doctor [path] [--json]
Examples:
devmate doctor
devmate doctor C:\path\to\project
devmate doctor --json
Doctor checks baseline tools such as Git and common editors, then adds project-relevant checks inferred from files such as Cargo.toml, package.json, pyproject.toml, go.mod, Dockerfile, and lockfiles.
Tools are labeled:
required: needed for the detected project stackrecommended: useful for normal workflowsoptional: nice to have, but not a failure if missingkillSafely previews resource-heavy processes and asks before terminating anything.
devmate kill [--top ] [--dry-run] [--yes] [--all-listed] [--name ] [--json]
Examples:
devmate kill
devmate kill --top 10
devmate kill --dry-run --json
devmate kill --name chrome
devmate kill --all-listed --dry-run
Safety behavior:
--yes, --all-listed, or --dry-run is usedUse --dry-run first if you only want to see what DevMate would target.
Use --json when you want stable machine-readable output for scripts:
devmate analyze --json
devmate doctor --json
devmate files stats --json
devmate kill --dry-run --json
Human-readable output uses ASCII tables so it works better in older Windows PowerShell code pages.
CHANGELOG.md.cargo fmt --check
cargo clippy --all-targets -- -D warnings
cargo test
cargo package --list
cargo publish --dry-run
git tag v0.1.6
git push origin v0.1.6
packaging/winget/README.md.Format, lint, and test:
cargo fmt --check
cargo clippy --all-targets -- -D warnings
cargo test
Build release:
cargo build --release
Install the current workspace build:
cargo install --path .
devmate Still Shows Old OutputPowerShell may be running an installed binary instead of the one you just built.
where.exe devmate
If it points to C:\Users\User\.cargo\bin\devmate.exe, update it:
cargo install --path .
Or run the local release binary directly:
.\target\release\devmate.exe system
Make sure the version in the download URL exists on GitHub Releases:
https://github.com/GOALLINNOOUT/Devmate/releases
If the zip is downloaded from a browser, Windows may mark it as downloaded from the internet. Right-click the zip or extracted executable, open Properties, and choose Unblock if Windows shows that option.
Current DevMate source uses ASCII table borders. If you see mojibake or broken box-drawing characters, you are almost certainly running an older installed binary.
C:\Users\UserIf Cargo prints warn: could not canonicalize path C:\Users\User, that is a Cargo/environment warning and not a DevMate runtime failure.
MIT