Examine
Simple project detection and analysis. Pass a path, get comprehensive project info.
Highly experimental at the moment!
Usage
use examine;
let info = examine.unwrap;
println!;
println!;
println!;
println!;
Installation
[]
= "0.1.0"
What it detects
Languages: Rust, JavaScript, Go, Python, Java, PHP, Ruby, Swift, Dart, C/C++, C#, Elixir, Haskell, Clojure
Frameworks:
- Rust: Axum, Actix Web, Rocket, Warp, Bevy, Clap
- JavaScript: React, Vue, Angular, Svelte, Express, Next.js, Nuxt
- Go: Gin, Echo, Fiber, Gorilla Mux
- Python: Django, Flask, FastAPI
End-of-life tracking for Node.js, Python, Go, Rust, and Java versions.
Example Output
==================
Language Status Guide
- ✅ Supported - Actively maintained, safe to use
- ⚠️ Ending Soon - Will reach EOL within 6 months
- ❌ End of Life - No longer supported, consider upgrading
- ❓ Unknown - Status not tracked or version not detected
CLI Tool
The CLI is only for testing the library and not intended as a distribution. Feel free to write your own CLI tool if you want one.
API Reference
ProjectInfo struct
LanguageStatus enum
How it works
- Language Detection - Looks for project files (
Cargo.toml,package.json, etc.) - Version Detection - Parses project files and version config files
- Framework Detection - Analyzes dependencies in project files
- Status Lookup - Checks against known End of Life databases
Contributing
Contributions welcome! Areas where help is needed:
- More languages (C#, Kotlin, Scala, etc.)
- More frameworks
- Better version detection
- Updated EOL information
- New Ideas
License
MIT License - see LICENSE file for details.