# Nimcheck: Universal Syntax Validator [![Nim](https://img.shields.io/badge/Nim-2.0+-yellow)](https://nim-lang.org) [![License](https://img.shields.io/badge/license-MIT-blue)](LICENSE) > **Fast, accurate syntax validation for 27+ languages.** > Built in Nim. Zero dependencies beyond the standard library. --- ## Table of Contents 1. [Features](#features) 2. [Installation](#installation) 3. [Quick Start](#quick-start) 4. [Usage](#usage) 5. [Supported Languages](#supported-languages) --- ## Features - **Multi-language** — validates Nim, Python, JavaScript, TypeScript, PHP, Ruby, Rust, Go, Lua, C, C++, C#, Java, Swift, Kotlin, Bash, HTML, XML, Jinja, JSON, YAML, TOML, CSS, SQL, Markdown, Dockerfile, Makefile - **Blazing fast** — compiles to native code via Nim - **Auto-detection** — identifies language from extension, shebang, or content analysis - **CI-friendly** — exit codes and structured output ### Detection Methods | Priority | Method | Confidence | |----------|-------------|------------| | 1 | Explicit | 100% | | 2 | Extension | 90% | | 3 | Shebang | 95% | | 4 | Content | 70-95% | --- ## Installation ### From Source ```bash git clone https://github.com/retoor/nimcheck cd nimcheck make release ``` ### Via Nimble ```bash nimble install nimcheck ``` --- ## Quick Start ```bash nimcheck src/ # validate all files in src/ nimcheck --flavor nim # validate as Nim nimcheck --json # JSON output nimcheck --watch # watch mode ``` --- ## Usage Examples ### Validate a single file ```bash nimcheck src/main.nim ``` ### Validate with explicit language ```bash nimcheck --flavor python script.py ``` ### Recursive directory scan ```bash nimcheck --recursive project/ ``` ### JSON output for CI ```bash nimcheck --json --recursive src/ > report.json ``` --- ## Supported Languages | Language | Extensions | |-------------|-------------------------------------| | Nim | `.nim`, `.nims`, `.nimble` | | Python | `.py`, `.pyw`, `.pyx`, `.pxd` | | JavaScript | `.js`, `.mjs`, `.cjs` | | TypeScript | `.ts`, `.tsx` | | PHP | `.php`, `.phtml` | | HTML | `.html`, `.htm`, `.xhtml` | | XML | `.xml`, `.svg` | | JSON | `.json`, `.jsonc` | | YAML | `.yaml`, `.yml` | | TOML | `.toml` | | CSS | `.css` | | SQL | `.sql` | | Markdown | `.md`, `.markdown` | | Ruby | `.rb` | | Rust | `.rs` | | Go | `.go` | | Lua | `.lua` | | C | `.c`, `.h` | | C++ | `.cpp`, `.cxx`, `.hpp` | | C# | `.cs` | | Java | `.java` | | Swift | `.swift` | | Kotlin | `.kt`, `.kts` | | Bash | `.sh`, `.bash` | | Dockerfile | `Dockerfile` | | Makefile | `Makefile` | --- ## License MIT © [Retoor](https://github.com/retoor)