techscan
techscan is a CLI tool for analyzing and visualizing technology stacks in a directory.
techscan is build with Rust, providing high performance for analyzing large-scale projects such as monorepos and tracking technology stack migrations.
Install
Cargo
CLI
Scan programming languages
===
===
Supported Languages
Astro, C, C++, C#, COBOL, CSS, Dart, Elixir, Go, Haskell, HTML, Java, JavaScript, Kotlin, Lua, Objective-C, Perl, PHP, Python, R, Ruby, Rust, Scala, SCSS, Shell, Svelte, Swift, TypeScript, Vue
Note: Frameworks and libraries with unique file extensions (e.g., .vue, .svelte, .astro) are analyzed as independent languages for technology stack analysis purposes.
Language addition requests are welcome through Issues or Pull Requests.
CLI Arguments
CLI arguments take precedence over configuration file options.
Options
| Option | Short | Description | Default | Example |
|---|---|---|---|---|
--reporter |
-r |
Output format: table, json |
table |
--reporter json |
--exclude |
-e |
Exclude path patterns (can be used multiple times) | - | --exclude "*.test.ts" |
--config |
-c |
Configuration file path | - | --config techscan.json |
--version |
Display techscan version | - | --version |
Examples
# Scan languages with table output (default)
# Scan languages with JSON output
# Scan languages with exclude specific file patterns
# Multiple excludes with short option
# Using configuration file
# Configuration file with CLI option override
CLI Configuration File
techscan supports configuration files in JSON (.json, .json5), YAML (.yaml, .yml), and TOML (.toml) formats to set default options.
Options
| Setting | Type | Description | Default | Example |
|---|---|---|---|---|
exclude |
Array of strings | File patterns to exclude from analysis | [] (none) |
["*.test.*", "dist"] |
reporter |
String | Output format ("table" or "json") |
"table" |
"json" |
Examples
JSON Format
YAML Format
exclude:
- "*.test.*"
- "dist"
reporter: "json"
TOML Format
= ["*.test.*", "dist"]
= "json"
Development
Required
- Rust: >= 1.82.0
Build & Debug
Quality check
Testing
# testing all file
# testing one file
# coverage